2017-05-24 73 views
0

我無法相信我無法找到這個(簡單)問題的答案,但我不能。 (例如This並沒有真正的幫助,我也找不到答案here)。我想要做的就是弄清楚如何以編程方式使用Visual Basic(不是VBA)(i)更改特定段落中的字體顏色或範圍在Word文檔中,或者(ii)突出顯示文檔中的相同文本。 我用的各種排列:如何使用Visual Basic在Word文檔中突出顯示文本

myDoc.range.font.ColorIndex = Word.WdColor.wdColorRed 
myDoc.range.Highlight = Word.WdColor.wdColorTurquoise 

(其中myDoc是Word文檔),但一直得到錯誤(例如,「不突出的範圍內的成員,或段落,或任何其他我試試) 。我可以在VBA中做到這一點,但在VB中做到這一點已經困擾了我。 我敢肯定我錯過了一些非常基本的東西,但我無法弄清楚什麼... 我使用的是Visual Studio 2015,Windows 10,Word 2010,並且我有Import Microsoft.Office.Interop和在我的代碼頂部導入Microsoft.Office.Interop.Word。 感謝您提供任何幫助。這很簡單!

+1

我相信這個屬性是'HighlightColorIndex'。看看[這個問題](https://stackoverflow.com/questions/19421010/highlight-a-text-in-word-document-in-c-sharp-ignoring-cases) –

+2

你的陳述「我可以做這在VBA中,但在VB中這樣做已經困擾了我。「我難住了。在VBA和VB中都使用相同的Word對象模型。 – TnTinMn

回答

0

感謝朋友和傑森B爲我解決這個問題。
爲別人誰是運行到這一點,那我的最後工作是:

nDoc.range.HighlightColorIndex = WdColorIndex.wdYellow 
nDoc.range.font.colorindex = WdColorIndex.wdRed 

在VBA是:

nDoc.Range.HighlightColorIndex = wdYellow 

TnTinMn,它可能是相同的對象模型,但難的是搞清楚VB中有時需要額外的參數(或任何正確的單詞)(這裏是'wdColorIndex')。 Jason給出的鏈接是一個VBA引用,但到目前爲止我沒有找到VB的相應頁面。

再次感謝所有!

+0

而不是回答自己的問題 - 爲什麼不添加答案正確(或upvote)你提到的用戶? – confusedandamused