2016-05-03 6 views
0

新しいWord文書を開いてブックマークを追加するには、以下のコードを使用しています。私は複数の単語をブックマーク「MyBookmark」に挿入して文章を作成しようとしています:「Once at once ...」ブックマークの前にExcel vbaを挿入すると、単語の順序が正しく設定されない

私は、InsertBeforeを使ってブックマークの前に単語が挿入されていると思います最初の単語の後に次の単語を追加します。これは、ブックマークが単語の最後に終わるためです。これは何が起こるかではなく、文を作成する文の先頭に単語が追加されます。「一度...一度」

文の最後にどのように単語を追加できますか?

私は同じ結果を持ったInsertAfterを使ってみました。私はこれを実装したいと考えている大規模で実現不可能なので、私が単語を追加する順序を変更したくありません。以下のコードは、私が実際の実装で達成したいものの例です。私はドットファイルとして保存されたテンプレートを開きます。

Sub InsertBefore() 
    ' Open Word document from template 
    Set wrdApp = CreateObject("Word.Application") 
    wrdApp.Visible = True 
    wrdApp.Documents.Add 
    wrdApp.Activedocument.Bookmarks.Add Name:="MyBookmark" 

    ' Insert text 
    wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "Once " 
    wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "upon " 
    wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "a time..." 
End Sub 

答えて

1

最も簡単な方法は、Selectionオブジェクトを使用することです。最初にそこに行けば、そこから入力するだけです。

wrdApp.Activedocument.Bookmarks("MyBookmark").Range.Select 

'Then from there on you just use the Selection object 

wrdApp.Activedocument.ActiveWindow.Selection.TypeText("Once ") 
wrdApp.Activedocument.ActiveWindow.Selection.TypeText("upon ") 
wrdApp.Activedocument.ActiveWindow.Selection.TypeText("a time...") 
+0

ありがとう、これは素晴らしいです! – MatAff

関連する問題