Claro que lo puede hacer, le dejo el procedimiento a seguir:
Asegúrese de que Word esté referenciado en VBA:
Vaya al Editor de VBA (ALT + F11).
En Herramientas > Referencias, selecciona Microsoft Word Object Library.
Use este código en el evento Clic de un botón:
Private Sub btnGuardarWord_Click()
Dim objWord As Object ' Word.Application
Dim objDoc As Object ' Word.Document
Dim rutaPlantilla As String
Dim rutaDestino As String
Dim nombreArchivo As String
' Ruta de la plantilla de Word (modificar según ubicación)
rutaPlantilla = "C:\Ruta\A\Plantilla.docx"
' Obtener el nombre del campo de la base de datos
nombreArchivo = Me!Nombre ' Reemplaza "Nombre" con el nombre real del campo
' Definir la ruta donde se guardará el documento
rutaDestino = "C:\Ruta\De\Destino\" & nombreArchivo & ".docx"
' Crear instancia de Word
Set objWord = CreateObject("Word.Application")
objWord.Visible = False ' Opcional: True si quiere verlo mientras se genera
' Abrir la plantilla
Set objDoc = objWord.Documents.Open(rutaPlantilla)
' Guardar el documento con el nombre del campo
ObjDoc. SaveAs2 rutaDestino
' Cerrar el documento
objDoc.Close False
ObjWord. Quit
' Liberar memoria
Set objDoc = Nothing
Set objWord = Nothing
MsgBox "Documento guardado en: " & rutaDestino, vbInformation, "Proceso Completo"
End Sub
Explicación:
Carga la plantilla de Word desde una ruta específica.
Obtiene el valor del campo "Nombre" del formulario activo.
Guarda el documento en la carpeta de destino, con el nombre del campo más la extensión .docx.
Cierra Word y libera la memoria.
Personalice el código:
Cambie Me! Nombre por el nombre real del campo que deseas usar.
Modifique las rutas de la plantilla y la carpeta de destino.