Uso de plantillas Word

Tengo el sgte drama:
Necesito a partir de un documento notes, abrir una plantilla word (esto porque necesito formatear el word con tablas logis, etc, y pa eso nada mejor que una plantilla), colocarle los datos correspondientes(aparecen los mismo campos que el formulario notes), y luego enviarlo por mail, el atachado y envio del mail no hay problñemas pero no se como utilizar la plantilla y asignarle los campos.

1 respuesta

Respuesta
1
Te paso un ejemplo de exportación a Word desde Notes:
Dim ntNotes As NotesDocument
Dim path As Variant
REM You should have a document in the dir temp of the
REM C drive named wordexp.doc or
REM whatever name you wish to call it.
path="c:tempwordexp.doc"
Dim dbNotes As NotesDatabase
Dim ssNotes As New NotesSession
Dim vwNotes As NotesView
Set dbNotes = ssNotes.CurrentDatabase
REM make sure you change "viewName" by
REM the actual name of the view you
REM wish to import from
Set vwNotes = dbNotes.Getview ("viewName")
Set ntNotes = vwNotes.GetFirstDocument
Do While Not (ntNotes Is Nothing)
REM set field values
REM Get the Word object from a file.
Set wordObj = GetObject(path)
REM Get value of field from Notes fld
tempfield=ntNotes.fldCaratulaContents
REM Set Field value and a add a
REM carriage return at the end
Call WordObj.ActiveWindow.Selection.TypeText
(tempfield+Chr$(13))
REM Save document
wordObj.Save
wordObj.Application.Quit
REM Clean from memory
Set wordObj = Nothing
Set ntNotes = vwNotes.GetNextDocument(ntNotes)
Loop
Set wordObj = Nothing
Msgbox "File has been exported to -->: " + path
Luego para anexarlo, a partir de un campo de texto enriquecido, ejecutas el metodo de notesRichTextItem. EmbedObject(EMBED_ATTACHMENT,... y la ruta del archivo generado
una vez hayas guardado el documento con el anexo, puedes eliminar la exportación con el comando kill de LotusScript
Tengo aun algunas dudas, la variable worobj de que tipo es?? no se como definirlo y se me cae. El campo tempfield es un valor de un campo obtenido del documento, o asume todo el contenido del documento que es instanciado de la lista de documentos en sus pasdas por los doc de la vista??
Favor responder
WordObj es de tipo Variant.
Tempfield obtiene el campo fldCaratulaContents y lo escribe en el Word concatenandole al final un salto de línea.
Estimado: He hecho el tema sin embargo me aparece un error, el mismo que me aparece con cada nuevo codigo que intento. este es:
"automation object filename error"
y me aparece cuando instancio la variable wordobj:
set wordobj = GetObject(path). Adjunot el correo a ver si le encuentras alguna anomalia:
REM You should have a document in the dir temp of the
REM C drive named wordexp.doc or
REM whatever name you wish to call it.
path="c:tempwordexp.doc"
Dim ssNotes As New NotesSession
Set dbNotes = ssNotes.CurrentDatabase
REM make sure you change "viewName" by
REM the actual name of the view you
REM wish to import from
Set vwNotes = dbNotes.Getview ("Reportes_generados")
Set ntNotes = vwNotes.GetFirstDocument
'Do While Not (ntNotes Is Nothing)
REM set field values
REM Get the Word object from a file.
Set wordObj = GetObject(path)
REM Get value of field from Notes fld
tempfield=ntNotes.IFRC_Numero
REM Set Field value and a add a
REM carriage return at the end
Call WordObj.ActiveWindow.Selection.TypeText (tempfield+Chr$(13))
REM Save document
wordObj.Save
wordObj.Application.Quit
REM Clean from memory
' Set wordObj = Nothing
' Set ntNotes = vwNotes.GetNextDocument(ntNotes)
'Loop
Set wordObj = Nothing
Msgbox "File has been exported to -->: " + path
El codigo que te pasé sirve para ejemplo de LOG en Word.
A partir de un archivo VACÍO de word YA CREADO en C:\tempwordexp.doc va añadiendole blablabla y lo vuelve a guardar en la misma ruta
Prueba este codigo
path="c:\tempwordexp.doc"
Dim ssNotes As New NotesSession
Set dbNotes = ssNotes.CurrentDatabase
Set wordObj = GetObject(path)
Call WordObj.ActiveWindow.Selection.TypeText ("Blablabla"+Chr$(13))
wordObj.Save
wordObj.Application.Quit
Set wordObj = Nothing
Msgbox "File has been exported to -->: " + path
Suerte!
Tu interes y ayuda sin duda fue muy util ademas de otras respuestas en el foro. Debo commentarte que mi problema estaba con el uso del object Application, me documente en MSN y probando...probando logre hacerlo. Muchas gracias por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas