- ベストアンサー
ExcelマクロでグラフをPowerPointにリンク貼り付けする方法
- Excelマクロを使用して、グラフをPowerPointにリンク貼り付けする方法について教えてください。
- グラフ作成後、データが変更されるケースがあるため、PowerPointにリンク貼り付けを行っています。
- 作業短縮のためにマクロ化を進めており、Q&Aを参考にPowerPointの起動やスライド追加はできましたが、リンク貼り付けでエラーが発生しています。解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
[回答番号:No.1] の DOUGLAS_ です。 >リンク貼り付け・・・ >読み取りマクロで・・・ でしたね。 [回答番号:No.1]は取り下げます。 私もいろいろと WEB検索 してみて ppApp.ActiveWindow.View.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoTrue あたりでいけるかとも思ったのですが、どうも「クリップボード 経由の Excel グラフ」に見合う「DataType」がなさそうですし、大体、VBA の実行中には、PowerPoint 自体で、[形式を選択して貼り付け] - [リンク貼り付け] が グレイアウト して選択できない状態のようですので、ひょっとしたら、VBA で「リンク貼り付け」すること自体無理なのかも知れません。 ちなみに、ppApp の方を AppActivate して Application.SendKeys "%ES%L{ENTER}" とでもしようかと思いましたが、これでも [リンク貼り付け(L)] が グレイアウト してます。
その他の回答 (2)
- DreamyCat
- ベストアンサー率56% (295/524)
Selectしないでオブジェクトを操作したいとき、 パワーポイントでこの2つのどちらかを 自分に都合のよい使い方で使ってみて 動作の違いを比べてみてください。 (数字の1のところは必要に応じて変数や オブジェクト名などで指定しておきます。) With ActiveWindow.Presentation.Slides(1).Shapes.Range With ActiveWindow.Presentation.Slides(1).Shapes(1)
お礼
指摘の命令文を実行してみましたが、両方とも「オブジェクトはプロパティ・メソットをサポートしていません」というエラーとなってしまいます。 回答くださった、もう一方の DOUGLAS_さん が指摘されているとおり、リンク貼り付けはサポートされたいないと判断し、別な方法で問題を回避しました。 回答ありがとうございました。
- DOUGLAS_
- ベストアンサー率74% (397/534)
With ppApp.ActiveWindow.Selection.ShapeRange(i) の最後の「(i)」は「(1)」ではありませんか?
お礼
DOUGLAS_さん 回答の返信が遅くなっていすみません。 ご指摘の内容をこちらでのも確認できました。おっしゃるように[リンク貼り付け] が無理なのかもしれません。 冷静になって考えると、PowerPointにグラフを貼付けた後に変更が反映される「リンク貼り付け」にこだわっていましたが、マクロで操作が自動化されるので、グラフ変更の度にグラフ貼付けをし直せばいいことで、それは何ら問題にはなりません。 折角の回答ですが、グラフを図形として貼り付ける様に変更することにしました。 ありがとうございました。また、お騒がせしました。