VBnet MSword Automation "Заменить текст" - PullRequest
0 голосов
/ 23 декабря 2011

Я бы хотел заменить все, используя VBnet 2003 и MSword 2007.

Я попал в это

Dim Selection As Word.Selection
Selection.Find.ClearFormatting()
Selection.Find.Replacement.ClearFormatting()
Selection.Find.Replacement.Font.Underline = Word.WdUnderline.wdUnderlineSingle
With Selection.Find
    .Text = "Text"
    .Replacement.Text = "Replacement"
    .Forward = True
    .Format = True
    .Wrap = Word.WdFindWrap.wdFindContinue
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = False
End With
Selection.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)

Это приводит к сбою КАЖДОЙ строки при выборе, утверждающем, что «Ссылка на объект неустановить экземпляр объекта. "Я получил код, сделав запись макроса, и он работал как макрос, но я не хочу макросов в моем документе.Как мне это исправить?

1 Ответ

2 голосов
/ 23 декабря 2011

Сначала вам нужно сделать ссылку на Word и документ.Этот код предполагает, что Word работает с правильным документом, загруженным и отображенным.

Dim WordApplication As Word.Application = GetObject(, "Word.Application")
Dim Document As Word.Document = WordApplication.ActiveDocument
Document.Select()
Dim Selection As Word.Selection = Document.ActiveWindow.Selection
' Do your thing here.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...