ExcelチャートをWordにコピーしようとしています。私はExcelで次のスクリプトを持っており、Office 2003 for PCとOffice Mac 2011で動作します。Office(2016)のそれ以降のバージョンでは、貼り付け時にグラフのサイズが変更されず、検索対象のトークンが以前のバージョンではそうです。ここで動作するが、それ以降のバージョンのOfficeでは動作しないスクリプトです。どんな助けでも大歓迎です。ExcelチャートをWordにコピーして、それ以降のバージョンのWordで機能しないVBAスクリプト
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
Set wrd = CreateObject("Word.Application")
wrd.Documents(DocumentName).Activate
wrd.Selection.Find.ClearFormatting
With wrd.Selection.Find
.Text = "insert" & ChartName 'This is the token it is looking for in the Word document and is where the chart should be inserted.
.Replacement.Text = ""
.Forward = True
.Wrap = 1 'wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
If .Found = True Then
wrd.Selection.PasteAndFormat Type:=13 'wdChartPicture
End If
以前のバージョンのOfficeでは、このスクリプトはアクティブなグラフをコピーし、トークンを探して貼り付けてWordに貼り付けます。トークンがチャートに置き換えられ、チャートのサイズが変更されます。新しいバージョンでは、トークンはチャートの最下部に残り、チャートのサイズは変更されません。
なぜ動作しないのかわからない場合は、すべてのバージョンのOfficeで強制的に動作させるようにコードを記述することは可能ですか?私は、すべての環境設定が同じであることを確認しようとしましたが、問題を引き起こしている可能性があるいくつかの設定を失ってしまった可能性があります。これは私にとって大きな問題なので、どんな考えも大変高く評価されます。
このコードをステップ実行すると、 '.Found = True'条件が満たされますか? –
もしそうなら、私は 'ExecuteMSO'方法を見てみます([ここ](http://stackoverflow.com/questions/35605460/copy-text-formatting-in-a-excel-to-word-script/35606101# 35606101)WordにExcelからの細胞の同様の質問コピー範囲である)、ここでである)http://stackoverflow.com/search?q=user%3A1467082+ExecuteMso([より少ない]ほとんどExcelからパワーポイントに、しかし一般的な考え方は同じですが、あなたはどの動詞を呼び出すべきかを特定する必要があり、それは最も信頼できるものでなければなりません。 –
実際には.found条件が真です。私はラインwrd.selection.pasteandformatタイプを交換しようとした:wrd.CommandBars.ExecuteMso「PasteasPicture」と= 13と – Steve