Guardar un archivo de Word utilizando el valor de la celda como nombre de archivo.
Tengo un documento de Word que nos permite combinar información de una base de datos en línea. Estoy tratando de crear una macro que tome el valor de una celda específica de una tabla y lo use para guardar el archivo en un directorio específico.
No tengo mucha experiencia con VBA, pero he intentado usar y modificar el código de otros recursos, como aquí.
Encontré código que me permite seleccionar la celda correcta y logré hacerlo funcionar.
También encontré otro código para guardar el archivo e intenté modificarlo para incluir el valor de la celda como nombre de archivo.
Sub GuardarComoContenidoCelda()
Dim Invoice As String
Dim Directorio As String
Invoice = ActiveDocument.Tables(1).Cell(2, 5).Range.Text
Invoice = Left(Invoice, Len(Invoice) - 2)
Directorio = "D:\Dropbox (DRYBSMT)\~ DB Forms\Word Saves\"
ActiveDocument.SaveAs Filename:=Directorio & Invoice & "i.docx", fileformat:=wdFormatXMLDocument
End Sub
Como está escrito ahora, obtengo un error “Error de compilación: Tipo de datos no coincidente”.
He pasado horas intentando resolver esto y creo que es hora de solicitar ayuda de un experto.
Lo que tengo ahora y que está funcionando:
Sub GuardarComoContenidoCelda()
Dim Invoice As String
Dim Directorio As String
Invoice = ActiveDocument.Tables(1).Cell(2, 5).Range.Text
Invoice = Left(Invoice, Len(Invoice) - 2)
Directorio = "D:\Dropbox (DRYBSMT)\~ DB Forms\Word Saves\"
ActiveDocument.SaveAs Filename:=Directorio & Invoice & "i.docx", fileformat:=wdFormatXMLDocument
End Sub
Pero me han dicho que necesito agregar Debug.Print. Ahí es donde estoy ahora.
davy.ai
Para agregar Debug.Print a tu macro, puedes usarlo para imprimir los valores de tus variables con fines de depuración. Aquí tienes un ejemplo de cómo puedes modificar tu código para incluir Debug.Print:
Una vez que hayas agregado las declaraciones Debug.Print, puedes presionar Ctrl+G para abrir la ventana Inmediato en el Editor de VBA, la cual te mostrará los valores de tus variables mientras se ejecuta tu macro. Esto puede ayudarte a diagnosticar cualquier problema que surja con tu código.