View Single Post
 
Old 03-21-2022, 09:53 PM
Peterson Peterson is offline Windows 10 Office 2019
Competent Performer
 
Join Date: Jan 2017
Posts: 143
Peterson is on a distinguished road
Default

Aquí hay un código:
Code:
Sub MacroDinicio()

' NOTA: Cada usario debe poner la plantilla aquí:
'       C:\Users\%username%\AppData\Roaming\Microsoft\Templates\

    'On Error Resume Next

    
    ' No es necesario para preguntar al usuario la ruta plantilla.
    ' Estas dos líneas de código obtiene la plantilla del documento:
    Dim myTemplate As Template
    Set myTemplate = Application.Templates(ActiveDocument.AttachedTemplate.FullName)
    
    ' En el macro, tienes que incluir la siguiente línea de código antes de cada
    ' línea como las líneas de abajo ("Application.Templates...). Es necesario
    ' porque la plantilla no es en el archivo STARTUP o plantilla Normal. El código
    ' hace que todos los bloques de creacion disponibles mientras el documento está abierto.
    
    ' Cuando el usuario inserta una bloque de creación para el primer tiempo,
    ' esta línea los cargará todos ellos.
    
    ' Si no sabes cual bloque de creación se insertará primero, pon el código
    ' antes de todas las líneas que el ejemplo abajo, para "INICIO & EXPOSICION...".
    ' Pero, si estás absolutamente seguro que el usuario siempre insertará un bloque
    ' específico primero, entonces puedes ponerlo antes de solamente el código para ese
    ' bloque.
    Application.Templates.LoadBuildingBlocks
    
    ' Cambia cada línea en el macro que incluye "Application.Templates(..." a
    ' "Application.Templates(myTemplate.FullName)... Por ejemplo:
    Application.Templates(myTemplate.FullName).BuildingBlockEntries("INICIO Y EXPOSICION DE HECHOS"). _
    Insert Where:=Selection.Range, RichText:=True

End Sub
Mas notas:
  • No pongas los bloques de creación en BuildingBlocks.dotx o Normal.dotx, solamente en la plantilla que creaste.
  • No entiendo por qué sus usuarios están creando documentos habilitados para macros. Si los macros estan en la plantilla, no es necesario tenerlos en los documentos.
Reply With Quote