2010-10-19 36 views
5

我寫了一個將某些Excel單元格值導出到Word中的小腳本。但是,某些插入需要加粗。而且似乎沒有一個簡單的方法來做到這一點。使用VBA將粗體文本插入到Word中

代碼遍歷記錄,並將它們添加到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 

插入文本,並再次將其關閉,然後再打開之後大膽似乎是最合理的解決方案,所以這是行不通的。

我然後試圖查找和替換文本,但也沒有工作:


     .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 

回答

5

更換.InsertAfter.TypeText。插入像粘貼的作品,而TypeText的作品就好像你真的在鍵盤上輸入文字一樣。

相關問題