- ベストアンサー
スライド内のエクセルグラフやシートをエクセルに戻す方法
- パワーポイントのスライドに張り付いているエクセルグラフやシートをエクセルに移して編集したいですが、複数シートをまとめて移動する方法がわかりません。
- WindowsXPproのOFFICE2003環境で試したところ、1枚のシートなら新規エクセルに貼り付けることができましたが、複数シートの場合は手間がかかります。
- パワーポイントに張り付いているエクセルグラフやデータシートを一括でコピー、移動する効率的な方法はありませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
《準備》 1.「ツール」 →「マクロ」 →「セキュリティー」 →セキュリティレベル「中」にチェックを入れる →パワーポイントをいったん終了して、またすぐ起動 ※マクロを動かすためです。 2.Alt+F11キーでVisual Basic Editor 画面に →挿入 →標準モジュール →右の真っ白な大きいところに以下のコードをコピー&ペースト Sub Emb_Excel() Dim objExcel As Object 'Excelに参照設定していればExcel.Application Dim newBook As Object 'Excel.Workbook Dim myBook As Object 'Excel.Workbook Dim newSht As Object 'Excel.Worksheet Dim Sld As Slide Dim Shp As Shape Set objExcel = CreateObject("Excel.Application") With objExcel .Visible = True Set newBook = .Workbooks.Add End With For Each Sld In ActivePresentation.Slides For Each Shp In Sld.Shapes With Shp If .Type = msoEmbeddedOLEObject Then With .OLEFormat If Left$(.ProgID, 11) = "Excel.Sheet" Then Set myBook = .Object With newBook.Worksheets Set newSht = .Add(After:=.Item(.Count)) End With myBook.Worksheets(1).Cells _ .Copy Destination:=newSht.Range("A1") ElseIf Left$(.ProgID, 11) = "Excel.Chart" Then Shp.Copy With newBook.Worksheets Set newSht = .Add(After:=.Item(.Count)) End With newSht.Paste End If End With End If End With Next Next Set newBook = Nothing Set myBook = Nothing Set objExcel = Nothing End Sub 3.標準画面に戻ります。 念のためテスト用として別名で保存してください。 4.ツール→マクロ→マクロ →1.のマクロEmb_Excelを選択→実行 5. マクロを使わないときは、0.で変更したセキュリティレベルを元に戻す ★マクロを繰り返し使いたいとき: マクロをツールバーに登録します。 どれか一つのツールバーの上でマウス右クリック →一番下のユーザー設定 →「コマンド」の下のほうの「マクロ」を選択 →右に出たマクロ名をマウスでドラッグ、 ツールバーのお好きな所にドロップ →「選択したボタンの編集」で「名前」を短くする →閉じる 以後、このマクロボタンを押せば、どのファイルに対してもマクロが働きます。いらなくなったらAltキーを押しながらマウスでツールバー以外の場所に捨てます。
その他の回答 (1)
- n_na_tto
- ベストアンサー率70% (75/107)
VBAを使えば可能です。 必要でしたらコードをアップします。 [マクロの使い方の説明も必要でしたら、 Powerpointのバージョンを書き込んでください。]
補足
n_na_ttoはじめまして。 PowerPoint2003です。 宜しくお願いいたします。
お礼
できました!&凄いです♪ どうもありがとうございます!! とっても助かりました。