プロが教える店舗&オフィスのセキュリティ対策術

あまり詳しくないのですが、マクロを使って色々なことをやっている最中です。
今回やりたいことは、毎月作成しているプレゼン資料をマクロで簡素化出来ないかと思っています。
今やっている作業は
 ①エクセルにてデータ収集したあとグラフを作成する。←これはマクロ化されています。
 ②先月作成したパワーポイントを開いてリンクを更新をクリックして①のグラフに更新する。
 ③今月のファイル名にしてパワーポイントを保存する。
  ※pptファイルは5つ作成しています。(例えばA.B.C.D.E)
やりたいことは
 ①エクセルにて作成月「7月」とファイル名「A」を選択してマクロ起動
 ②pptの6月Aファイルを開いて、
 ③リンクが更新され、
 ④7月Aファイル名で保存される。

 ①と②は出来るのですが③が出来ません。

どなたかアドバイス頂けると非常に助かります。
どうぞよろしくお願いします。

環境:Win10
VBA7.1
ppt office365

質問者からの補足コメント

  • Qchan1962様
    早速のアドバイスありがとうございます。
     LinkFormatメソッドもやってみたのですが
     エクセルのマクロからpptのマクロの起動方法が分からなく。。。

     エクセルからパワーポイントのマクロを起動させることは出来るのでしょうか。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/07/20 17:24
  • Qchan1962様
    ありがとうございます。
    参考サイトを元に作成していました。
    インスタンスの作成とアプリケーションのセットは出来ている?と思います。

    説明不足で大変申し訳ございません。
    ppt側の「リンクを更新」マクロを、こちらのマクロ(参考サイト)を使って動かしたいです。

    度々申し訳ございません。

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/07/20 18:12
  • Qchan1962様
    何度もありがとうございます。
    今は自宅PCで確認させて頂いてますので
    明日、会社PCで確認致します。

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/07/20 19:45

A 回答 (3件)

こちらのマクロが分かりませんが、


例えば、
Dim Pwp As Object
Dim Prs As Object
Dim sh, sld
  Set Pwp = CreateObject("PowerPoint.Application")
  Set Prs = Pwp.Presentations.Open("C:\Users\XXX\プレゼンテーション1.ppt")
  For Each sld In Prs.Slides
    For Each sh In sld.Shapes
      If sh.Type = msoLinkedOLEObject Then
        sh.LinkFormat.Update
      End If
    Next
  Next
こんな感じでどうでしょう。
この回答への補足あり
    • good
    • 1
この回答へのお礼

Qchan1962様
何度もありがとうございました。
やりたいことが出来るようになりました。
また機会がありましたらどうぞ宜しくお願い致します。

お礼日時:2020/07/21 09:19

>エクセルからパワーポイントのマクロを起動させることは出来るのでしょうか。


インスタンスの作成とアプリケーションをセットする必要がありますが出来ます。参考サイトの案内ばかりで恐縮ですが、
こちらを https://e-vba.com/excelxpowerpoint/
この回答への補足あり
    • good
    • 0

こんにちは、


この辺りは参考になりますか?

LinkFormat メソッド (PowerPoint)
https://docs.microsoft.com/ja-jp/office/vba/api/ …

UpdateLinks メソッド (PowerPoint)
https://docs.microsoft.com/ja-jp/office/vba/api/ …
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています