Saltar al contenido

Vba macro para plantilla en word


Recommended Posts

publicado

Buenas noches señores AyudaExcel

Espero que alguien con conocimientos en programación Vba me pueda ayudar.

Paso el siguiente código en vba en word para habilitar automaticamente cuando ejecuto la macro un complemento de plantilla llamado "PlantillaEmailLotus.dotm"

Sub Plantilla()
'
' Plantilla Macro

AddIns( _
"D:\local\My Documents\Importar a Lotus Notas\LOTUS CORRESPONDENCIA\Add in\PlantillaEmailLotus.dotm" _
).Installed = True
With ActiveDocument
.UpdateStylesOnOpen = False
.AttachedTemplate = "Normal"
.XMLSchemaReferences.AutomaticValidation = True
.XMLSchemaReferences.AllowSaveAsXMLWithoutValidation = False
End With
End Sub[/CODE]

El código funciona muy bien puesto que lo cree con la gravadora de macros de word, lo que necesito es cambiar la dirección del directorio ("D:\local\My Documents\Importar a Lotus Notas\LOTUS CORRESPONDENCIA\Add in\PlantillaEmailLotus.dotm") por una ruta automatica a través de (ThisDocument.Path &) es decir para que este macro se pueda ejecutar por otros usuarios hallando el directorio automaticamente donde se ubica la plantilla (PlantillaEmailLotus.dotm")

Agradeciendo la ayuda posible que me pueden brindar.

publicado

Prueba así:

Sub Plantilla()
'
' Plantilla Macro

AddIns(ThisDocument.Path & "\PlantillaEmailLotus.dotm").Installed = True
With ActiveDocument
.UpdateStylesOnOpen = False
.AttachedTemplate = "Normal"
.XMLSchemaReferences.AutomaticValidation = True
.XMLSchemaReferences.AllowSaveAsXMLWithoutValidation = False
End With
End Sub
[/CODE]

publicado

Hola buen día señor Macro Antonio

Intente con el código que me enviaste pero me genera el siguiente error:

Error Visual Basic

se ha producido el error 5941 en tiempo de ejecución:

El elemento del conjunto solicitado no existe.

Revise la macro en el ditor de vba y veo que la ruta

ThisDocument.Path & "\PlantillaEmailLotus.dotm" señala el siguiente directorio: ThisDocument.Path = "C:\Users\hogar\AppData\Roaming\Microsoft\Plantillas"[/CODE]

Pensé que era porque el ThisDocument.Path & "\PlantillaEmailLotus.dotm" me lleva a otro directorio y no en el cual tengo la plantilla (PlantillaEmailLotus.dotm) por ende decidí pegar la plantilla en el directorio ("C:\Users\hogar\AppData\Roaming\Microsoft\Plantillas") que me muestra el editor en el depurar de vba, pero igual el error continua.

Gracias.

publicado

ThisDocument.Path no existe, debe ser ActiveDocument.Path

AddIns(ActiveDocument.Path & "\PlantillaEmailLotus.dotm").Installed = True[/CODE]

publicado

Hola señor Macro Antonio, ya me funciono pero agregándole una variable, acá paso el código por si le sirve a otra persona:

Dim strPath As String
strPath = ActiveDocument.Path & "\PlantillaEmailLotus.dotm"

AddIns.Add FileName:=strPath, Install:=True
With ActiveDocument
.UpdateStylesOnOpen = False
.AttachedTemplate = "Normal"
.XMLSchemaReferences.AutomaticValidation = True
.XMLSchemaReferences.AllowSaveAsXMLWithoutValidation = False
End With[/CODE]

Muchas Gracias por tu ayuda.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.