2010-01-07 67 views
1

我使用VBA以編程方式創建Word文檔。

如何製作粗體字符串

1)我有一個字符串值 - 「策略」。我想使它粗體顯示在單詞文檔中。

我已經試過低於此,但文本從來沒有改變過:

Dim wrdApp As Word.Application 
Dim wrdDoc As Word.Document 
Set wrdApp = CreateObject("Word.Application") 

Dim strategy As String 
strategy = "STRATEGY" 
Dim objWdRange As Word.Range 


wrdApp.Visible = True 
Set wrdDoc = wrdApp.Documents.Open("C:\Program Files\DailyStrategy.doc") 


With wrdDoc 
    If wrdDoc.Bookmarks.Exists("MarketCommentry") Then 
     wrdDoc.Bookmarks("MarketCommentry").Range.Text = strategy 

    Set objWdRange = wrdDoc.Content 
    With objWdRange.Find 
     .ClearFormatting 
     .Replacement.ClearFormatting 
     .Text = "STRATEGY" 

     'Make found bold and italic 
     With .Replacement.Font 
      .Bold = True 
      .Italic = True 
     End With 
     .Execute Replace:=wdReplaceAll 
    End With 
End With 

結束如果 問候

科喬

回答

1

編輯::我應該有更好的嘗試首先在VBA調試器中,我現在所做的。這一個應該工作:

With wrdDoc 
    Set objWdRange = wrdDoc.Content 
    With objWdRange.Find 
     .ClearFormatting 
     .Text = "STRATEGY" 
     .Execute Replace:=wdReplaceNone 
    End With 
End With 

If objWdRange.Find.Found Then 
    'Make found bold and italic 
    With objWdRange.Font 
     .Bold = True 
     .Italic = True 
    End With 
End If 
+0

你的意思是我應該叫它在這行後? 用objWdRange.Find .Execute替換:= wdReplaceAll – Kojof 2010-01-07 12:24:35

+0

* .Execute *應找到並選擇您的文本。然後,您可以將更改應用於字體。如果你沒有先選擇任何東西,改變字體是沒用的。我已將相關更改作爲示例添加到我的答案中。 – 2010-01-07 14:11:21

+0

嗨,感謝您的回覆,它更有意義。但是這行不會編譯wrdDoc.Selection.Font。我將其更改爲wrdApp.Selection.Font,但它在運行應用程序時仍不會更改文本。 – Kojof 2010-01-07 14:33:35