veces varias texto repetir rellenar referencias referencia marcadores insertar formulario datos cómo cuadro cruzadas cruzada crear con como campos automático automáticamente automatizando automatico vba ms-word word-vba word-template user-defined-fields

varias - ¿Cómo puedo construir campos de Word con VBA?



repetir texto automáticamente en word. con marcadores y referencias cruzadas. (2)

Además de solo insertar y analizar texto en un campo de Word en blanco, ¿hay alguna manera de generar programáticamente campos y códigos de campo definidos por el usuario en mis propias plantillas con VBA? Además, ¿hay alguna manera de hacer que estos campos aparezcan en la lista de campos disponibles?


¿Qué tenías en mente? Es posible agregar propiedades de documento personalizadas ya sea manualmente o con VBA. Estos son los campos accesibles bajo DOCPROPERTY:

{ DOCPROPERTY "Test" /* MERGEFORMAT }

Puede usar una macro para asegurarse de que la propiedad personalizada se agregue a los documentos:

Sub AutoNew() Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProperties objCustomProperties.Add Name:="Test", _ Type:=msoPropertyTypeString, Value:="Blah", _ LinkToContent:=False End Sub

Más información

Automacros: http://msdn.microsoft.com/en-us/library/aa263747(office.10).aspx

Descripción de las propiedades de documento personalizadas en Microsoft Office Word 2003: http://msdn.microsoft.com/en-us/library/aa537154.aspx


Recientemente desarrollé una solución que usaba los tipos de campo MACROBUTTON y ADDIN de Word.

Encontré MACROBUTTON útil porque la tercera entrada delimitada por espacios en blanco dentro del campo (programmatically field.code.text) se muestra dentro de Word. Esto permite a mis usuarios ver los campos a medida que se mueven. {MACROBUTTON NoMacro *} mostraría un "*" en Word, por ejemplo, y no haría nada cuando el usuario hizo doble clic en él, porque no he definido a propósito una macro llamada "NoMacro".

El campo ADDIN no se muestra (excepto cuando se activan los códigos de campo de visualización) y almacena una cadena oculta en su propiedad field.data. Usando este campo podría tener un campo oculto cuyo contenido no podría ser visto o modificado por los usuarios (excepto que si encienden "mostrar códigos de campo" pueden ver que es un campo ADDIN (pero no pueden ver / editar el propiedad "data"), y que pueden eliminar este campo como cualquier otro campo).

Encontré estas páginas útiles: