Está en la página 1de 16

Guía para la generación de archivos de ayuda en formato CHM

Rodrigo García Puente www.rodrigogarcia.es.fm

ÍNDICE 1. OBJETIVO. 2. ALCANCE. 3. REFERENCIAS. 4. TIPOS DE AYUDA PARA SISTEMAS MICROSOFT WINDOWS. 4.1. Formato HLP. 4.2. Formato CHM. 5. GUIA PARA GENERAR AYUDAS EN FORMATO CHM. 5.1. Conceptos. 5.2. Crear un archivo CHM paso a paso. 6. COMPILAR CON HTML Help Workshop. 7. INSERCIÓN DE LA AYUDA EN VISUAL BASIC. 7.1. Adaptando un proyecto de Visual Basic. 7.2. Propiedad HelpContextID. 7.3. Lanzar la ayuda correspondiente a un formulario. 8. INSTALACIÓN DE MICROSOFT HTML HELP WORKSHOP.

4.htm. TIPOS DE AYUDA PARA SISTEMAS MICROSOFT WINDOWS Existen dos formatos de ayuda disponibles para ejecutarse en sistemas operativos de la familia Microsoft Windows: HLP y CHM.1. (bajo MS-DOS). 4.net/articulos/otros/hlp/indice. para generar esta clase de ayudas. REFERENCIAS Para la redacción de este documento se han consultado las siguientes referencias:  Artículo “Crear ayudas para aplicaciones VB” publicado por José Luis Monte Galiano en www. OBJETIVO El objeto de este documento es servir de guía para la generación de archivos de ayuda de aplicaciones desarrolladas bajo sistemas operativos Windows (versiones 95 y superior). Con el tiempo. El compilador evolucionó hasta llegar al actual HTML Help Rodrigo García Puente – Marzo de 2001 .com).Guía para la generación de archivos de ayuda en formato CHM 2 1. 2. hizo público este formato y proporcionó un compilador. Artículo “Displaying Help by Using the HtmlHelp API ” publicado en la web oficial de Microsoft Office 2000/Visual Basic Programmer’s Guide. Formato HLP Es el estándar tradicional por excelencia de Microsoft Windows. Desde sus primeras versiones adoptó este formato. ALCANCE Este documento debería aplicar a aquellos proyectos software que sean desarrollados para ser ejecutados bajo sistemas operativos Microsoft Windows (versiones 95 y superior).  Todos los ejemplos de esta “Guía para la generación de ayudas” han sido desarrollados con el programa Microsoft HTML Help Workshop que es un programa gratuito de Microsoft para generar archivos de ayuda y que puede descargarse desde el sitio web oficial de Microsoft (www.redvisual. y extensión de archivo HLP para sus ayudas.microsoft. 3. (RTF y Word).

para crear el proyecto y archivo de contenido (HPJ y CNT respectivamente) y el resultado final. Para crear archivos de ayuda CHM son necesarias las siguientes herramientas:  Un editor de páginas web. El compilador de ayuda. el HLP. Para generar este tipo de ayudas son necesarias las siguientes herramientas:  Un procesador de textos. Conceptos CHM utiliza un lenguaje de marcas (el popular lenguaje de de marcado de hipertexto o HTML. HHC y HHK respectivamente) y. o Lenguaje de Marcas de Hipertexto conocido por ser la base de las páginas web de internet). para crear el cuerpo de la ayuda en formato RTF. Formato CHM Con la aparición de Windows 98. GUIA PARA GENERAR AYUDAS EN FORMATO CHM 5. utiliza HTML (Hyper Text Markup Language. para generar el contenido de la ayuda (archivos de extensión HTM o HTML). finalmente compilar todo para obtener el archivo de ayuda definitivo con extensión CHM.  4. Los archivos CHM son un nuevo sistema de ayudas cuya principal diferencia con su antecesor.Guía para la generación de archivos de ayuda en formato CHM 3 WorkShop con el que es posible compilar los dos formatos actuales: HLP y CHM. Rodrigo García Puente – Marzo de 2001 . Microsoft creó un nuevo estándar de ayudas. Puede usarse por ejemplo el editor gratuito de Microsoft (Frontpage Express). el HLP. claro está. archivo de contenido e índice (HHP. Un procesador que soporte el formato de texto enriquecido bastaría (por ejemplo Microsoft Word). El compilador de ayuda.1.  5. para crear el proyecto. Una herramienta gratuita como Microsoft HTML Help Workshop es suficiente para realizar este trabajo. Microsoft Word u otro editor de páginas web. es que no utiliza el formato RTF para generar los cuerpos de la ayuda sino que. usado para generar páginas web).1.

La versión del Help WorkShop recomendada para este tipo de ayudas es la 4. compilamos el proyecto y obtenemos un archivo de ayuda con extensión CHM.   Con todo esto. es posible utilizar esta aplicación para ambos tipos de ayudas.999. Por lo tanto. Archivos HHK: Índices. Rodrigo García Puente – Marzo de 2001 . y en teoria.7 del año 1. estos son aglutinados en un archivo de proyecto con extensión HHP. A este proyecto se le añaden :  Archivos H: Añaden un ID para identificador de capítulo dado.Guía para la generación de archivos de ayuda en formato CHM 4 Una vez creados los diferentes capítulos de nuestra ayuda en diferentes archivos HTM ( o HTML). que luego será aprovechado por nuestras aplicaciones Visual Basic para lanzar la página de ayuda correspondiente. Archivos HHC: Tablas de contenido. Esta aplicación contiene un conversor de proyectos para ayudas HLP a CHM.

hipervínculos a otras páginas de ayuda y sitios web. aquí se hará con el primero. imágenes.Guía para la generación de archivos de ayuda en formato CHM 5 5. MAP: Archivo con la definición de los nombres de alias y un ID para cada uno que después será usado en nuestras aplicaciones Rodrigo García Puente – Marzo de 2001 .2. Es decir. En estos documentos HTML se pueden insertar texto. el bloc de notas e incluso Microsoft Word (guardando los archivos con la extensión correspondiente). Un proyecto de ayuda CHM es un archivo de extensión HHP que aglutina todos los demás archivos que conforman la ayuda CHM.htm. Para crear este y los demás archivos podemos utilizar la aplicación HTML Help Workshop o un editor de textos sencillo como el bloc de notas. Crear el archivo de proyecto (HHP). tal y como fueran páginas web normales. ALIAS: Identificador de Nombre de alias y archivo HTM. Para ello generaremos archivos con extensión HTM (o HTML). Crear un archivo CHM paso a paso A continuación se mostrarán los pasos básicos para crear una ayuda CHM. capitulo1. Se puede usar cualquier editor de páginas web. Un archivo de proyecto HHP es un archivo de texto estructurado por secciones que se referencian entre los caracteres “[“ y “]”. Crear el contenido de la ayuda (archivos HTM.htm (que han sido guardados en el directorio c:\ayudahtml\paginas). e incluso código de lenguajes de script (JavaScript o VBScript). Es recomendable crear una página HTML por cada topic de la ayuda.HTML). Las secciones mas importantes son :    OPTIONS: Opciones de compilación. El primer paso es crear el contenido de la ayuda.htm y capitulo2. En el ejemplo que se presenta se han desarrollado 3 páginas webs: principal.

En la ventana que aparece elegimos Project y pulsamos OK. Luego pregunta si tenemos archivo de contenido. Una vez terminado se visualiza la pantalla del proyecto. en la ventana siguiente nos pregunta si deseamos convertir un archivo de ayuda en formato HLP a formato CHM. lo hemos colocado en el directorio C:\ayudahtml\ejemplo. Rodrigo García Puente – Marzo de 2001 . Y a continuación pedirá el nombre que se quiere dar al proyecto (en nuestro caso. índice y páginas web ya creados.Guía para la generación de archivos de ayuda en formato CHM 6 Visual Basic para lanzar la ayuda de contexto (propiedad HelpContextID). pulsar en Siguiente porque no se quiere hacer esto. Para crear un nuevo proyecto arrancamos Microsoft HTML Help Workshop y pulsamos en el botón New de la barra de herramientas (o en la opción New del menú File).hhp ). Como no lo tenemos no marcamos nada y pulsamos en Siguiente.

Language: ID del idioma utilizado para nuestra ayuda. Compiled file: Nombre del archivo de ayuda compilado. Veamos a continuación los valores de los parámetros para las distinas secciones... y se seleccionan los archivos htm y html que compondrán nuestra ayuda.Guía para la generación de archivos de ayuda en formato CHM 7 Haciendo click en el botón de la ventana Project podemos indicar las páginas html que tendrá nuestra ayuda (esto nos servirá para poder vincular más tarde el archivo de contenido con las páginas). (HHK) Contents file: Archivo de contenido. OPTIONS En esta sección damos a conocer al compilador de ayudas informaciones tales como :      Title: Titulo de nuestra ayuda. En la pantalla Topic Files se hace click en el botón Add . (CHM). (HHC). Rodrigo García Puente – Marzo de 2001 . Index file: Archivo de indice.

htm MAP Relación de archivos H en el que se definen los ALIAS descritos en la sección anterior y se relacionan con un ID que se utilizará posteriormente en nuestras aplicaciones Visual Basic. Por ejemplo : [ALIAS] ID_topic0=paginas\principal.chm Contents file=EJEMPLO. Al igual que la anterior se accede haciendo click el botón HtmlHelp API Information de MAP.hhk Language=Español (alfabetización internacional) Title=Ayuda de ejemplo en formato HTML ALIAS Cada archivo HTM de nuestra ayuda puede identificarse por un alias.1 Compiled file=EJEMPLO. Un ejemplo para esta sección seria : [OPTIONS] Compatibility=1. (nombre o variable).h la pestaña Project y en la sección la pestaña Project y en la Rodrigo García Puente – Marzo de 2001 .htm Display compile progress=No Index file=EJEMPLO.htm ID_topic2=paginas\captiulo2. que lo identifica y relaciona con un ID que es utilizado posteriormente en nuestras aplicaciones Visual Basic. será necesario crearlos previamente (para ello hacer click en la pestaña Contents e Index respectivamente).htm ID_topic1=paginas\capitulo1.Guía para la generación de archivos de ayuda en formato CHM 8 Para poder establecer estos valores hay que hacer click en el botón Change project options de la pestaña Project. Para poder establecer estos alias hay que hacer click en el botón HTML Help API Information de sección ALIAS. Por ejemplo : [MAP] #include Ejemplo. Antes de establecer valores como el archivo de contenido o de índice.hhc Default topic=paginas\principal.

Crear el archivo de índice (HHK) [opcional]. Rodrigo García Puente – Marzo de 2001 . Una carpeta es un contenedor de carpetas y de páginas. se solicitará el texto que se desea visualizar ( Entry title). así como el archivo html al que se desea vincular ese tópico de la ayuda (para vincularlo hacer click en el botón Add y seleccionar la página correspondiente). En la ventana Table of Contents Entry (entrada de la tabla de contenido). Para ello hacer click en los botones y . Para crear el archivo de contenido hacer click en la pestaña Contents o bien en la opción New del menú File eligiendo la opción Contents file (archivo de contenido): En un archivo HHC se define la estructura del libro de contenidos de nuestra ayuda. El proceso es ir añadiendo carpetas y páginas para ir generando los libros de la ayuda.Guía para la generación de archivos de ayuda en formato CHM 9 Crear el archivo de contenido (HHC).

(archivos HTM/L). declaración de ID de contexto (H). los alias que referenciaremos a cada capítulo. COMPILAR CON HTML Help Workshop Compilar con HTML Help Workshop es una tarea extremadamente sencilla.H con el siguiente contenido. En un archivo con extensión H definimos. Otra utilidad práctica de Help WorkShop es la opción de View Compiled Help File del menú View. gráfico. Con está opción vemos cualquier archivo de ayuda. Por ejemplo si en un tópico de la ayuda hablamos del entorno gráfico de nuestra aplicación podemos poner como palabras clave entorno. de nuestra ayuda. menús o lo que se desee y vincularlo con la/las páginas deseadas mediante la opción Add de la ventana que aparezca cuando se hace click en el icono correspondiente. Aparecerá una ventana en que se nos pedirá confirmación del proyecto a compilar.Guía para la generación de archivos de ayuda en formato CHM 10 La creación de un archivo de índice es opcional. #define ID_topic0 0 #define ID_topic1 1 #define ID_topic2 2 6. Este apartado es similar a los anteriores de manera que se visualizan una serie de botones para insertar una nueva clave y vincularla con diferentes páginas. (por defecto ofrece el que esté cargado en ese momento). (HHP o HPJ dependiendo del formato de nuestra ayuda). Si pulsamos en el icono aparecerá una ventana en la determinadas que se podrán Añadir páginas y vincularlas con palabras clave. En él referenciamos todas las cadenas de búsqueda para cada capítulo. sea este CHM o HLP una vez compilado. Crear el archivo de cabecera. (con el comando #define). Si ocurre un error aparece reflejado en esta ventana. Para crear un nuevo archivo pulsar en la pestaña correspondiente ( Index) o bien en la opción New del menú File elegir Index. se crea el archivo EJEMPLO. En nuestro ejemplo. En el proceso de compilación aparece una ventana de log en la que se nos informa del estado de dicha compilación. Simplemente hemos de cargar el archivo de proyecto. e ir a la opción Compile del menú File. Rodrigo García Puente – Marzo de 2001 .

Guía para la generación de archivos de ayuda en formato CHM 11 Rodrigo García Puente – Marzo de 2001 .

es posible referenciar un capítulo concreto de nuestra ayuda. la propiedad HelpContextID de los controles de VB puede seguir siendo utilizada. Este manejador debe ser usado como el propietario o el contenedor de la ayuda HTML. (HLP o CHM). La potencia de esta relación estriba en que en un control de nuestro formulario. en PszFile vez de usar vbNullString establecer este parámetro a 0.chm). se lance un capítulo de la ayuda u otro.ocx” Alias “HtmlHelpA” _ (ByVal hwndCaller As Long. ByVal pszFile As String. dwData As Any) As Long Public Const HH_DISPLAY_TOPIC = &H0 Public Const HH_HELP_CONTEXT = &HF Los argumentos de la función HtmlHelp y su respectiva funcionalidad son los siguientes: Argumento HwndCaller Descripción Es un manejador de una ventana de aplicación o Null. (o en el propio formulario).1. _ ByVal uCommand As Long. Es el string que se corresponde con el path del archivo de ayuda. En un módulo de código debemos copiar la siguiente declaración del API y dos constantes públicas: Declare Function HtmlHelp Lib “HHCtrl. En VBA. En primer lugar debemos tener una variable en la cual almacenar el path del archivo de ayuda CHM (en nuestro ejemplo: c:\ayudahtml\ejemplo. 7. en función del formulario en el cual estemos.Guía para la generación de archivos de ayuda en formato CHM 12 7. El nombre de esta API es HtmlHelp. dependiendo como sea usado. para que. Debido a que la implementación actual de la ayuda HTML no permite la inserción de la misma en un formulario y pulsar F1 para visualizarla. se hace necesario el uso de la llamada a una API. Opcionalmente puede especificar en que tipo de Rodrigo García Puente – Marzo de 2001 . INSERCIÓN DE LA AYUDA EN VISUAL BASIC En nuestras aplicaciones en Visual Basic es posible referenciar un archivo de ayuda en cualquira de los formatos explicados. De esta forma se muestra la ayuda concreta sobre el tema referenciado para ese control. Adaptando un proyecto de Visual Basic A pesar de que al pulsar la tecla F1 no se lanza la ayuda automáticamente.

con la ayuda HTML y Visual Basic 5 es imposible que funcion este sistema. como ya se ha dicho. DwData 7. En el archivo H de la ayuda CHM o en la sección MAP de la ayuda HLP referenciamos estos números con los capítulos de la ayuda que deseemos. Es la acción a realizar. Especifica el topic ID.Guía para la generación de archivos de ayuda en formato CHM 13 UCommand ventana se ha de visualizar. Esta propiedad acepta cualquier valor numérico entero que indica el ID del tópico al que se hará referencia si se llama al sistema de ayuda en ese momento con la tecla F1. o como mostar tópicos de ayuda.2. Propiedad HelpContextID Entre las propiedades del formulario o de cualquier control contenido en él hay una de nombre HelpContextID. Rodrigo García Puente – Marzo de 2001 . Pude ser usado con cualquiera de los dos comandos declarados como constantes HH_HELP_CONTEXT o HH_DISPLAY_TOPIC. Sólo se ha llegado a probar con éxito HH_HELP_CONTEXT.

pero claro está puede hacerse la llamada desde el evento que se desee. HH_HELP_CONTEXT. en la pantalla titulada License Agreement pulsar el botón Accept. En nuestro ejemplo. _ ByVal Me. "c:\ayudahtml\ejemplo. pulsar Next >.HelpContextID) End Sub 8. Una vez aceptado el acuerdo de licencia se visualiza el asistente de instalación de Microsoft HTML Help Workshop (ver siguiente imagen). Haciendo doble click se arranca automáticamente el programa de instalación y se visualiza la siguiente imagen indicando que se están extrayendo los archivos de instalación: Una vez se ha terminado de extraer los archivos aparece el programa de instalación que nos pide que aceptemos la Licencia de uso.EXE que se puede descargar de la página oficial de microsoft. Private Sub cmdAyuda_Click() Call HtmlHelp(0. Rodrigo García Puente – Marzo de 2001 .chm".3.Guía para la generación de archivos de ayuda en formato CHM 14 7. Lanzar la ayuda correspondiente a un formulario Para lanzar la ayuda correspondiente a un formulario únicamente hay que hacer una llamada a la función HtmlHelp con los parámetros deseados. INSTALACIÓN DE MICROSOFT HTML Help Workshop Para instalar el compilador de ayuda HTML gratuito de Microsoft hay que ejecutar el archivo HTMLHELP. se hizo en el evento Click del botón cmdAyuda (dado que no puede ser lanzada pulsando la tecla F1).

Podemos seleccionar uno existente pulsando en Browse .. Se visualizará a continuación la siguiente pantalla: Que solicita que seleccionemos el tipo de instalación deseada. Rodrigo García Puente – Marzo de 2001 . Elegir la instalación Complete y pulsar el botón Next >. o bien escribir una ruta deseada (por ejemplo c:\Archivos de programa\HTML Help Whorkshop . Y pulsar Next > cuando se haya seleccionado/escribo el directorio de destino..Guía para la generación de archivos de ayuda en formato CHM 15 A continuación aparece otra pantalla que solicita que seleccionemos el directorio de destino de instalación del programa.

Rodrigo García Puente – Marzo de 2001 . desde el cual se puede arrancar el programa haciendo click en el elemento HTML Help Workshop. Se comienzan a copiar los archivos de instalación y cuando esta termina mostrará el siguiente mensaje: Pulsar OK para terminar. Elegir lo deseado (preferiblemente crear un grupo de programas que se llame Microsoft HTML Help Workshop). Por último se pide un nombre para personalizar la copia que se va a instalar del programa. Escribir lo que se desee y pulsar Next > . Y pulsar Next >. Se habrá creado un grupo de programas denominado Microsoft HTML Help Workshop.Guía para la generación de archivos de ayuda en formato CHM 16 A continuación pide que seleccionemos el grupo de programas donde deseamos que sean creados los iconos de acceso al programa o bien si queremos que se cree un grupo de programas nuevo.