Buenos Dias:
Resulta que tengo un textbox con la propiedad formato del "texto= texto enriquecido" en el que acumulo los valores de un campo field. Funciona muy bien. Puedo resaltar textos, cambiar de cursiva a negrita, etc.
El problema se presenta cuando a través de código quiero enviar ese campo memo a word, ya que al enviarse digamos que "no se interpreta" y en word se me presenta como un un texto plano entre etiquetas html, en vez de un texto formateado.
mi codigo:
Private Sub Comando11_Click()
' COMANDO GENERAR ANEXO B1
'On Error GoTo manejarerror
Dim rs As DAO.Recordset
'Word.Application.Documents.Open
Set b1 = CreateObject("word.application")
b1.Visible = True
b1.Documents.Open FileName:="C:\Users\97019098\Desktop\ANEXO B1.docx"
VARRESPUESTA = MsgBox("EL ARCHIVO ANEXO B1 YA EXISTE, ¿DESEA VOLVER A GENERARLO TOTALMENTE?", vbOKCancel)
If VARRESPUESTA = 2 Then
b1.Quit
Exit Sub
End If
b1.Activate
b1.WindowState = wdWindowStateMaximize
b1.Selection.EndKey Unit:=wdStory, Extend:=wdExtend
Me.OrderBy = "CATEGORIA"
Set rs = Forms![LINEAL].RecordsetClone
varcategoria = rs.Fields("categoria")
b1.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
b1.Selection.Font.Size = 14
b1.Selection.Font.Bold = True
b1.Selection.Font.Name = "ARIAL"
b1.Selection.TypeText Text:=Nz(varcategoria, "")
b1.Selection.TypeParagraph
rs.MoveFirst
While Not rs.EOF
Z = rs.Fields("CONCEPTO")
If rs.Fields("SELECCIONAR") = True Then
If rs.Fields("categoria") <> varcategoria Then
categoriaactual = rs.Fields("categoria")
b1.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
b1.Selection.Font.Size = 14
b1.Selection.Font.Bold = True
b1.Selection.TypeText Text:=categoriaactual
b1.Selection.TypeParagraph
End If
varcategoria = rs.Fields("categoria")
CAMPO1 = rs.Fields("CONCEPTO").Value
b1.Selection.ParagraphFormat.SpaceAfter = 0
b1.Selection.ParagraphFormat.SpaceBefore = 0
b1.Selection.Font.Name = "ARIAL"
b1.Selection.Font.Size = 10
b1.Selection.Font.Bold = True
b1.Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
b1.Selection.TypeText Text:ÊMPO1
b1.Selection.Range.ListFormat.ApplyNumberDefault
b1.Selection.TypeParagraph
b1.Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph
CAMPOCODIGO = rs.Fields("CODIGO").Value
CAMPOUNIDAD = rs.Fields("UNIDAD").Value
b1.Selection.TypeText Text:="CODIGO: " & CAMPOCODIGO & " UNIDAD: " & CAMPOUNIDAD
b1.Selection.Font.Bold = False
b1.Selection.TypeParagraph
b1.Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph
b1.Selection.TypeParagraph
campo3 = rs.Fields("ALCANCES").Value
b1.Selection.TypeParagraph
b1.Selection.Font.Bold = True
b1.Selection.Font.Italic = True
b1.Selection.Font.Size = 12
b1.Selection.TypeText Text:="ALCANCES:"
b1.Selection.Font.Bold = False
b1.Selection.TypeParagraph
b1.Selection.Font.Size = 10
b1.Selection.Font.Bold = False
b1.Selection.Font.Italic = False
b1.Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
' b1.Selection.Range.ListFormat.ApplyBulletDefault
b1.Selection.TypeText Text:=campo3
b1.Selection.Font.Bold = False
b1.Selection.TypeParagraph
'b1.Selection.Range.ListFormat.ApplyBulletDefault
b1.Selection.TypeParagraph
End If
rs.MoveNext
Wend
b1.Selection.HomeKey Unit:=wdStory
Set b1 = Nothing
Exit Sub
manejarerror:
If Err.Number = 5174 Then
VARRESPUESTA = MsgBox("El archivo Anexo B1 no existe, desea crearlo?", vbOKCancel)
If VARRESPUESTA = 2 Then
b1.Quit
Exit Sub
End If
b1.Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
b1.Documents(1).SaveAs2 FileName:="C:\Users\97019098\Desktop\ANEXO B1.docx"
b1.Activate
b1.WindowState = wdWindowStateMaximize
End If
Resume Next
End Sub
La pregunta es como puedo enviar el texto enriquecido mediante codigo a word sin que se pierda el formato.
Gracias
Rafael
Leer las respuestas