指定フォルダ内のExcelファイルにあるすべてのグラフをPowerPointにコピペするVBA

指定フォルダ内のExcelファイルにあるすべてのグラフをPowerPointにコピペするVBA

Excelシート上のオブジェクトをPowerPointにコピペするコードっていうのをいくつか書いているのですが、そこのコメントでいただいた質問から、こういうのもあったら何かに使えるのかなー、と思ったのを書いてみました。


関連記事

これの一番下の記事にいただいた質問です。こちらの方のはかなり仕様が決まってて、ぼんやり考えたコードは不要になっちゃったので、供養と思ってブログに書き散らします。

コードと解説

まずはざっくりな仕様説明として、

フォルダを指定して、その中に入っているxlsxファイルの、すべてのシート上にあるシェイプのなかからグラフ(Chart)だった場合のみ、新規pptxファイルにコピペしていきます。1シートにつき1枚スライドが追加され、グラフが複数存在する場合は右下にちょっとずつズレて貼り付けされていきます。貼り付けを行った場合、左上に該当のブック名とシート名がテキストボックスで挿入されます。

コードにウザいくらいコメントつけてあるのでこれ以上書くこともないのですが…、いったんフォルダ内のxlsxファイル名をコレクションに格納して、それをもとにブックをループでまわして、そのなかのシートもループして、シートごとにすべてのシェイプをループでまわして、もしグラフ(Chart)だったらコピペして、という感じです。

カスタマイズすれば、1グラフ1スライドにも1ブック1スライドにもできるし、グラフだけじゃなくて図形なんかもコピペできます。

公開日:2017/12/11

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)