重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは、例えば人から貰ったパワーポイントのスライドに張り付いている
グラフやシート(当然、自分のパソコンには元データが無いです)をエクセルに移して編集したいのですが
複数シートを全選択してまとめて楽にエクセルに移せないでしょうか?
WindowsXPproのOFFICE2003環境で試しているのですが
どうもうまくいかず、
シート1枚を開いて全コピーなら、新規エクセルの開いておいたシートに貼りつきます。
しかし、8枚くらいシートがあると、シートを新規追加したり貼り付けたりを繰り返すのも手間で
スライド内に複数エクセルデータがあるのを考えると
いったい難解同じ作業をするのだろう。。。
という感じで真っ暗です。

パワーポイントに張り付いているエクセルグラフやデータシートを一括でコピー、移動する良い方法は無いでしょうか?

A 回答 (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キーを押しながらマウスでツールバー以外の場所に捨てます。
    • good
    • 0
この回答へのお礼

できました!&凄いです♪
どうもありがとうございます!!
とっても助かりました。

お礼日時:2008/11/12 17:03

VBAを使えば可能です。


必要でしたらコードをアップします。
[マクロの使い方の説明も必要でしたら、
Powerpointのバージョンを書き込んでください。]

この回答への補足

n_na_ttoはじめまして。
PowerPoint2003です。
宜しくお願いいたします。

補足日時:2008/11/12 15:52
    • good
    • 0

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