2010-10-19 32 views
5

Escribí un pequeño script que exporta ciertos valores de celdas de Excel a Word. Sin embargo, ciertos insertos deben ser audaces. Y no parece haber una manera fácil de hacer esto.Inserte texto en negrita en Word usando VBA

Este código recorre los registros y los añade al documento de Word


Do While intRow < intTotalRows + 1 

       strTemp = " ;b;" & Range("G" & intRow).FormulaR1C1 & " " & Range("I" & intRow).FormulaR1C1 & ";e; " 

       If strTemp <> strCur Then 
        strCur = strTemp 
        .Content.Font.Bold = True 
        .Content.InsertAfter strCur 
       End If 

       .Content.Font.Bold = False 
       .Content.InsertAfter Range("A" & intRow).FormulaR1C1 & " - " & Range("C" & intRow).FormulaR1C1 & " " & Range("E" & intRow).FormulaR1C1 & " * " 

      intRow = intRow + 1 
     Loop 

Encendido negrita antes de insertar texto y apagarlo de nuevo después parece la solución más lógica, por lo que no funciona.

Luego trató de buscar y reemplazar el texto, sino que también no funcionaba:


     .Content.Find.ClearFormatting 
     With .Content.Find 
      .Text = ";b;" 'Look for 
      .Replacement.Text = ";bbb;" 'Replace with 
      .Forward = True 
      .Wrap = wdFindContinue 
      .Format = False 
      .MatchCase = False 
      .MatchWholeWord = False 
      .MatchWildcards = False 
      .MatchSoundsLike = False 
      .MatchAllWordForms = False 
     End With

.Content.Find.Execute Replace:=wdReplaceAll 

Respuesta

5

Reemplazar .InsertAfter con .TypeText. Insertar trabajos como pegar mientras que TypeText funciona como si realmente escribes el texto en el teclado.

Cuestiones relacionadas