Programación General > VBA

 Plantilla Word-vb6

(1/1)

Widark:
Hola.

Necesito crear una plantilla en word, es una especie de certificado y desde vb 6, enviarle algunos datos, pero que cuadre donde debe de ir, me explico:
'Plantilla

Direccion
Ciudad

Chachara, Chachara, Chachara, Chachara, Chachara <Aqui va el nombre de la persona> sigue la chachara... <aqui va la fecha> chachara y mas chachara.

Por su colaboracion muchas gracias.

Shiquilla:
Te creas una plantilla con marcadores en WORD poníendole marcadores donde los necesites.

Para escribir en esos marcadores:


--- Código: Text ---Option Explicit Private Sub Form_Load() Dim Word As ObjectDim Documento As ObjectDim Path As StringDim Archivo As StringDim Existe As String    Screen.MousePointer = vbHourglass   Path = App.Path & &#34;&#092;Informes&#092;&#34;   Archivo = &#34;Plantilla.dot&#34;   Existe = Dir(Path & Archivo)   If Trim(Existe) &#60;&#62; &#34;&#34; Then       Set Word = CreateObject(&#34;Word.Application&#34;)       Set Documento = Word.Documents.Add(Path & Archivo, , , False)       Documento.Activate       With Documento.Application           If IrAMarcador(&#34;[MARCADOR]&#34;, Documento) Then .Selection.TypeText Text:=&#34;EL TEXTO QUE QUIERO&#34;       End With       Word.Visible = True       Word.Windows(Word.ActiveWindow).Caption = &#34;Prueba Marcadores&#34;       Documento.Activate   Else        MsgBox &#34;No se encontró la plantilla de WORD&#34;, vbCritical, &#34;Word&#34;   End If   Screen.MousePointer = vbDefault   Set Documento = Nothing   Set Word = NothingEnd Sub Public Function ExisteMarcador(Marcador As String, Documento As Object) As Boolean Dim TextoDoc As Object    With Documento       Set TextoDoc = Documento.Content       TextoDoc.Find.Execute FindText:=Marcador, Forward:=True       ExisteMarcador = (TextoDoc.Find.Found = True)   End With   End Function Public Function IrAMarcador(Marcador As String, ByVal Documento As Object) As Boolean    If ExisteMarcador(Marcador, Documento) Then       With Documento.Application           .Selection.Find.ClearFormatting           With .Selection.Find               .Text = Marcador               .Replacement.Text = &#34;&#34;               .Forward = True               .Wrap = 1               .Format = True               .MatchCase = False               .MatchWholeWord = False               .MatchWildcards = False               .MatchSoundsLike = False               .MatchAllWordForms = False           End With           .Selection.Find.Execute           .Selection.TypeText Text:=&#34;&#34;           IrAMarcador = True       End With   Else       IrAMarcador = False   End If   End Function 
Adjunto la plantilla de word por si la necesitas.

Nota: Para poder modificar una plantilla de WORD pincha con el botón derecho y dale a Abrir, si lo abres haciendo doble click y la modificas no te deja guardarlo en .dot (como plantilla) sino como documento normal.

Saludos,

Érika

Widark:
Hola Erika.

Muchas gracias por su ayuda, me funciono muy bien, solo es cuestion de arreglarlo a mis necesidades, pero es una gran ayuda, cualquier avance le informare, muchas gracias.

Saludos

Navegación

[0] Índice de Mensajes

Ir a la versión completa