2017-04-03 4 views
1

単語VBAで検索オプションを使用していて、テキストを見つける次の段落にグラフを貼りたいと思います。VBAの単語で検索を使用して次のパラゴラにグラフを貼り付けます

Set myRange = ActiveDocument.Content 
With myRange.Find 
     .Text = "Chart" 
     .Forward = True 
     .Wrap = wdFindStop 
     .MatchWildcards = False 
     bFound = .Execute 
End With 
If bFound Then 
     Set ChartObj = wb1.ChartObjects("Chart 1") 
     ChartObj.Chart.ChartArea.Copy 
     .Words.Last.Paste 
End If 

.words.Last.Pasteは私がserachingい言葉「チャート」の最後で、それを貼り付けるのではなく、文書の最後にグラフを貼り付けます。テキストを見つけてそこにグラフを貼り付ける行の最後に段落を挿入するにはどうすればよいですか?

私のグラフはテキスト「My Chart here」の後の次の段落に貼り付けられますが、カーソルをテキストの最後に移動してその段落を追加する方法はわかりません。

.Bookmarks('chart').Range.Text = 'My Chart here' 

「My chart here」の文字は1文字以上ですが、下のコードを使用すると答えが1になります。私はここで何が欠けているのですか?

Msgbox .Bookmarks('chart').Range.Characters.Count 
+0

を使用する必要がありますので、 '.Words.Last.Paste'がWITH''の外にあまり意味がありません、Rangeオブジェクトのプロパティです/ 'End With'トークン – CallumDA

答えて

0

.WordsあなたはmyRange.Words.Last.Paste


Sub test() 
    Set myRange = ActiveDocument.Content 
    With myRange.Find 
     .Text = "Insert" 
     .Forward = True 
     .Wrap = wdFindStop 
     .MatchWildcards = False 
     bFound = .Execute 
    End With 
    If bFound Then 
     Set ChartObj = wb1.ChartObjects("Chart 1") 
     ChartObj.Chart.ChartArea.Copy 
     myRange.Words.Last.Paste 
    End If 
End Sub| 
関連する問題