2
私はVBA初心者ですが、Excel 2010の新しいチャートを新しいWord 2010のドキュメントに書き出すことができるコードを一緒に書きました。私が持っている唯一の問題は、エクセルが更新されたときに変更されないように、エクスポートされたチャートをExcelからリンク解除することです。私はどこにでも見ましたが、何も動作していないようです。GIFとしてリンクまたは保存せずにExcelにグラフをコピー&ペーストする
法案に合っていると思われる唯一のコードは、グラフを貼り付けて貼り付ける前に画像として保存していますが、画像を保存する場所がないので機能しません - 組織のユーザーはアクセスできませんすべてのユーザーの詳細を知らなくても、私は仕事をするコードを書くことはできません。
私がこれまでに書いたコードは、仕事をしており、これをですが、リンク解除されていません。
Sub Copy_Paste_Report_1_Graph_to_new_word_document()
'
'Copy/Paste An Excel Chart Into a New Word Document
'(VBE > Tools > References > Microsoft Word 12.0 Object Library)
'Excel Objects
Dim ChartObj As ChartObject
'Word Objects
Dim WordApp As Word.Application
Dim myDoc As Word.Document
Dim WordTable As Word.Table
'Optimize Code
Application.ScreenUpdating = False
Application.EnableEvents = False
'Copy Chart from Excel
Set ChartObj = Worksheets("External Dashboard").ChartObjects("Chart 1")
'Create an Instance of MS Word
On Error Resume Next
'Is MS Word already opened?
Set WordApp = GetObject(class:="Word.Application")
'Clear the error between errors
Err.Clear
'If MS Word is not already open then open MS Word
If WordApp Is Nothing Then Set WordApp = CreateObject(class:="Word.Application")
'Handle if the Word Application is not found
If Err.Number = 429 Then
MsgBox "Microsoft Word could not be found, aborting."
GoTo EndRoutine
End If
On Error GoTo 0
'Make MS Word Visible and Active
WordApp.Visible = True
WordApp.Activate
'Create a New Document
Set myDoc = WordApp.Documents.Add
'Copy Excel Chart
ChartObj.Copy
'Paste Chart into MS Word
myDoc.Paragraphs(1).Range.PasteSpecial Link:=False _
EndRoutine:
'Optimize Code
Application.ScreenUpdating = True
Application.EnableEvents = True
'Clear The Clipboard
Application.CutCopyMode = False
End Sub
は、私はおそらく私が必要以上に含めましたが、私が言ったように、私はよ初心者です。
'ChartObj.CopyPicture xlScreen、xlPicture'と' myDoc.Paragraphs(1)を試していないのはなぜ.Range.PasteSpecial'? – omegastripes
完璧!ありがとうございました!素晴らしい仕事をした。 –
解決策を回答として掲示してください。それが役に立ったら、それを受け入れるためにクリックしてください。 – omegastripes