ExcelからPowerPointへ画像を貼り付ける作業を簡素化

このQ&Aのポイント
  • Excelの2つのファイルから、PowerPointの1つのファイルへ画像を貼り付ける作業を簡素化する方法はありますか?
  • 貼り付ける目的は、画像の軽量化と情報の整理です。
  • 現在の手順では時間がかかっているため、自動化や一括変換する方法があれば教えてください。
回答を見る
  • ベストアンサー

ExcelからPowerPointへ画像を貼り付ける作業を簡素化

Excelの2つのファイル(東西、南北)から、PowerPointの1つのファイル(「一覧」)へ画像を貼り付ける作業がよくあるのですが、手順を簡素化するアイディアは有りませんでしょうか? 貼り付ける目的は、画像が重たい(Excel30000行分x10系列)ので、軽くするため&東西と南北を並べて一覧にするためで、 グラフをPowerPointに「形式を選択して貼り付け>拡張メタファイル」し、 →それをすぐ切り取って、PowerPointに「形式を選択して貼り付け>png」します が(1回目の変換ではpngが選べない)、この手順は業務命令で指示されているので、変えられません。(私自身は二度変換する意味自体を良くわかっていませんが、それはこの質問と直接関わりありません) これをグラフ40枚分行うのですが、自動化するか(マクロの組み方は私は知りません)、pngへ一括変換・一発変換する方法はありませんか?(現状、1枚当たりに相当な時間がかかっています。) XPでExcel2003で、PowerPointも2003だと思います。

  • QoooL
  • お礼率100% (171/171)

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

補足ありがとうございました。 具体的に書いていただき、回答するに励みになりました。 どうも PP のグラフィックは美しくありません。Excel や Word と比較してそう思います。 経験からアドバイスすると Excel のグラフを最もきれいに、かつ軽量にPP に貼り付けるには、   1. Excel で次の VBA を実行し、グラフをピクチャー(ここでは拡張     メタファイル)としてコピーする     ActiveChart.CopyPicture xlScreen, xlPicture   2. PowerPoint にそのままで貼り付け という手順が良いと思います。PP 側で「形式を選んで・・・」で拡張メタファイルにしても画質が明らかに落ちてます。  # Excel2003、2007 ではわかりませんが。 下記は、アクティブブック内にある全てのグラフを PP に貼り付けます。 もともとのデータが大きいみたいですから、ある程度時間はかかるでしょう。とりあえず、お試しを。 ' // 標準モジュール Sub XLグラフをPPに貼り付け()   ' // グラフウインドウとなっているものは対象外です。   Dim ppApp    As Object ' PowerPoint.Application   Dim ppPst    As Object ' PowerPoint.Presentation   Dim ppSld    As Object ' PowerPoint.Slide   Dim Sh      As Worksheet   Dim Obj     As Object   Dim iCount    As Integer   Dim sngPosOffset As Single   Dim i      As Long      ' // PowerPoint(以下PP) 定数   Const ppLayoutBlank = 12   Const ppPasteEnhancedMetafile = 2      ' // PP 起動   On Error Resume Next   Set ppApp = CreateObject("PowerPoint.Application")   If ppApp Is Nothing Then Err.Raise 1000, , "PowerPoint cannot be started."   On Error GoTo Err_      ' // PP を表示する   ppApp.Visible = True   ' // PP 新規プレゼンテーション作成   Set ppPst = ppApp.Presentations.Add(WithWindow:=True)   ' // PP 新規スライド挿入   Set ppSld = ppPst.Slides.Add(Index:=1, _                  Layout:=ppLayoutBlank)   ' // XL 処理グラフ数カウンタ   iCount = 0   ' // PP グラフ貼り付け位置初期値   sngPosOffset = 0      ' // XL グラフの貼り付け開始   For Each Sh In ActiveWorkbook.Worksheets     For i = 1 To Sh.ChartObjects.Count       ' // XL グラフを Picture 形式でコピー       Sh.ChartObjects(i).CopyPicture xlScreen, xlPicture       ' // PP 貼り付け       ppSld.Shapes.Paste       ' // PP グラフ位置・サイズ補正       With ppSld.Shapes(i)         .LockAspectRatio = msoTrue         .Top = sngPosOffset         .Left = sngPosOffset         .Height = .Height * 0.5   ' // 50%縮小       End With       ' // PP 次の貼り付け位置オフセット       sngPosOffset = sngPosOffset + 20       ' // XL 処理グラフ数カウンタ       iCount = iCount + 1     Next i   Next Sh   If iCount = 0 Then ppApp.Quit   MsgBox CStr(iCount) & "枚のグラフを処理しました", vbInformation    Bye_:   On Error GoTo 0   Set ppApp = Nothing: Set ppPst = Nothing   Set ppSld = Nothing: Set Sh = Nothing   Exit Sub Err_:   MsgBox Err.Description, vbCritical   Resume Bye_ End Sub

QoooL
質問者

お礼

ありがとうございます(短いですが#3へのお礼にまとめさせていただきます。)

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

追伸 どうしても PNG でなければダメなようなら、その旨補足して下さい。 別の方法で回答します。

QoooL
質問者

お礼

(補足の続き) これを読み解くと、VBAを自分でも書いてみようかな、という自信がわいてきました。なるほど、「こんなことできたらいいな」は「自分で書いてみる」という前向き姿勢が大切なのですね。「Excelは不便だなぁ。こんなことできないかなぁ。なんだできないのか」と思うことが実はあったのですが、逆にExcelは「やってみたいこと」をたいてい実現できる、自由度の高いアプリなのかも知れない、と思い直しました。 VBAが用意され、Office内や、社外品とも互換性が高いこと自体、Microsoftは私の思っていた以上に「やる」企業なのかも知れません。WikipediaのVBA項目に 「Visual Basic for Applications を使用することで、ExcelやAccessなどを使用した定型業務を自動化することができる。また、ユーザー独自のフォームを作成することができ、様々なプラグインを組み込むことでアプリケーションの機能をカスタマイズすることなども可能である。」 と書いてありましたが、まさにその通りですね。 #2で書いていただいたプログラムを、私自身で解釈し改良できるように勉強して、使ってみよう、と思いました。これもチンプンカンプンでなく「私にもできそう」というヒントを与えてくださったKenKenSPさんのおかげです。ありがとうございました。 もしよろしければ、 ・VBAは(他の言語と比べて)とっつき易いか。極端な話、中学校でも教えられるくらいユニバーサルか。 ・VBAを学び始めた時は、どんなものを参考に(2000円くらいの本?)し、どんなプログラムから始めたか などを続報で教えてください。

QoooL
質問者

補足

本題からそれ過ぎるのも良くないので、この質問ページは今夜24時以降に締め切る予定です、と前置きします。 >> PP のグラフィックは美しくありません。 全く同感です(それほどモノを知っているわけではありませんが)。でもPNGってこんなものかな、と思っていたのですが、むしろPPの性質に依るところが大きいのですね。メタファイルについても不満を持っていました。特に、グラフ内のテキストボックスが大きさ・位置関係が変わってしまうのを意のままに制御できず、もどかしいです。しかし、メタファイル形式はメタファイル形式で利点もあるようだから、おっしゃるように適切に使いわけることが肝要みたいですね。長く答えていただいたおかげで関心を持つきっかけになりました。 VBAについて、もマクロについて、も勤め先の他人まかせにしていて、学ぼうという姿勢に欠けていました。実は私はMSDOSは3年、日本語BASICは5年勉強して、プログラミングも多数したことがあり、TurboPASCALは3日間、JAVAは3週間独学したことがあります。しかし、BASICの頃の思いこみが強過ぎて、行番号のない言語、特にJAVAの「オブジェクト指向」や「クラス」という概念が頭に入ってきませんでした。 #2で書いていただいたプログラム(これも「マクロ」と呼べば良いのでしょうか?)は、言語こそ知りませんが、初めて「理解できる」VBAでした。とてもきれいなプログラムを書く人ですね。ありがとうございます。 (お礼へ続く)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

> この手順は業務命令で指示されているので、変えられません。 変えられないものに対して新たな方法を回答したとしても解決に ならないというか..その辺はどうなんです? 回答としては、VBA を使えば省力化は可能です。 > 画像が重たい(Excel30000行分x10系列)ので、軽くする > ため&東西と南北を並べて一覧にするためで Excel30000行分x10系列とは? 東西と南北とは? あなたの業務を知らない人がほとんどなのですから、現状がよく わかるように具体的に説明して下さい。 VBA を使えば Excel ファイル内にある全ての グラフ・写真を PNG ファイルで直接書き出すことも、それを PowerPoint に 自動で貼り付けていくことも可能です。 が、現状がわからないことにはどうしようもない。 > 二度変換する意味 標準機能で Excel では グラフ-->PNG 変換ができないからだと 思いますが、本当の意図は不明です、、というか謎ですね。 そもそも「軽く」という点を一番重視するのであれば、グラフなら 拡張メタファイル(以下 EMF)で貼り付けたままにすべきです。  # ラスタ画像とベクタ画像の違いを調べて下さい EMF で貼り付けたグラフを わざわざ PNG で貼り付け直すという ことはファイルサイズを不必要に巨大化させ、画質も劣化するの ですが。。。 ペイントなどからコピペで貼り付けた写真などなら効果はあると 思います。これは、Bitmap で貼り付いているものを PNG に変換 することでファイルサイズが小さくなる可能性があるからです。

QoooL
質問者

お礼

ありがとうございます(短いですが#3へのお礼にまとめさせていただきます。)

QoooL
質問者

補足

あまり長くならないように、とはしょりましたが、はしょり方がわかりにくかったようですね。ま、このご回答で知りたいことの多くは見えてきました。 東西とか南北とかいうのはあくまでも例えですが、 東の部屋について気温、湿度、二酸化炭素濃度、・・・など10系列のデータをとっており、それがエクセル3万行分くらいのデータ量なので、グラフを描画させると、時間がかかる、ということを表現したかったのです。しかもグラフが東の部屋だけで10枚あります。 西の部屋、北の部屋、南の部屋についても同様のデータを取りグラフを作っていますが、東西南北を全て一つのファイルに納めると大きいので、「東西」「南北」という2つのファイルに分けているだけのことです。 この2つのエクセルファイルは開く・閉じるだけでもかなり重たいので、グラフだけをパッと見られるように「一覧」というパワーポイントファイルを作っているわけですが、 1つ1つのグラフを、コピって貼ってまた切り取って変換して貼って、という作業が時間がかかるので、 「業務指示からは逸脱しない」範囲で、多少比較的早く、グラフを移す方法はないか、を聞きたかったのです。 私のイメージでは、エクセル上で、グラフ10~20枚をPNGに一気に変換できればなぁ、と淡く期待していたのですが。もちろん、現状たったの1枚のグラフでもめちゃくちゃ時間がかかっているので(散布図で10色の線が入り乱れている)、20枚一気に、なんてスーパーマンみたいなことはありえない(メモリ的にも)、てことはわかっています。 自動で解決する方法があることはわかりましたし、 わざわざPNGにするのはデメリットがある、ということも上司に言ってみようかと思います。役に立ちました。

関連するQ&A

  • EXCELグラフをPowerPointに貼り付ける作業のマクロ化

    EXCELで造ったグラフをコピーして、PowerPointで、形式を選択して貼り付けでピクチャ(拡張メタファイル)で貼り付ける作業のマクロ化を 行いたいと考えておりますが、PowerPoint側の操作をマクロ記録しても記録されません。何か良い方法はありますか? ※バージョンはOffice2000です。 よろしくお願いします。

  • 手書き→PDF→画像データに変換したら画像が荒れる

    Bloggerで、ブログを作成しています。 画像の貼り付けは、JPEG、GIF、PNGが使えますが、手書きの紙をスキャンして画像データに変換し貼り付けたところ、画像が荒れて読みにくくなります。 手順は、スキャン(PDF)→ペイントに貼り付け→ファイル形式を選択、です。 画像が荒れない、良い方法があればご教授ください。

  • Powerpointの画像の一括コピー

     40ページほどのpng画像が張り付けられたpowerpoint file Aから画像だけを選択して  powerpoint file Bに一括で貼り付けたいのですが、何か方法ないでしょうか?   1ページの画像は1ページ目に2ページ目の画像は2ページ目にコピーしたいです。 powerpoint Bには、既にタイトル、テキスト、png画像が存在するのですが、このpng画像だけを置き換えたいと考えています。  どなたかいい方法をご存じの方、お知恵を貸してください。  自分で色々とマクロで試行錯誤してみたのですが、  うまくいきません。  まず、png画像のみを消去しようとすると、タイトルもテキストも消えます。  そして、貼り付けたくても一括で画像を選択することができません。  よろしくお願い致します。  powerpointは2010です。    

  • outlookでexcelグラフが勝手に変換

    Microsoft Outlook2007で、excel2007で作成したグラフを、html形式のメール本文に張り付けて、メールを送信すると、勝手にjpegかpngのようなラスタ形式の画像に変換されてしまいます。 張り付ける際に、Excelグラフ(ブック全体)、グラフ(Excelデータにリンク)、拡張メタファイル、Microsoft office グラフィックオブジェクト、Microsoft office Excelグラフオブジェクト、などの形式を試してみましたが、全てラスタ形式に変換されます。 メールの目的としては、本文にベクタ形式の画像を張り付けて送信したいのです。ただし、Excelのデータそのものでは、グラフのデータまで見られてしまうので、それは避けたいところです。このような目的であれば、拡張メタファイルが適切かと思ったのですが、うまくいきません。 どなたか解決法をご教授いただけますでしょうか。よろしくお願いします。

  • PowerPoint2010エクセル張付印刷ぼやけ

    回答ありがとうございます。 ただ私の場合、エクセルで作成した資料をPowerPoint2010に貼り付けて印刷した場合に不鮮明になります。 PowerPoint2010で形式を選択して貼り付けでメタファイルほかすべての貼り付けを試しても、印刷でぼやけます。 色々検索した結果、下記のマイクロソフトのサイトに解決方法があったのですが、このような方法しかないのでしょうか? ↓ http://support.microsoft.com/kb/2578497/ja 修正プログラムのインストール以外の方法はありませんか? ご教授根がいます。

  • Excel97で作ったのを2007で見るとボケる2

    WindowsXPにてExcel97で作ったものを他のPCでもWindowsXP/Excel97で見る分には 貼り付け画像がハッキリ見えるのですがWindows7/Office2007のExcelで見ると 画像がピンボケになってしまいます。 これはOSのせいでしょうか? Excelのせいでしょうか? Excel97で5つの方法試しました。(添付参照) [PrintScreen]キーで画面を切取り→PhotoEditor「編集」の 「新しいイメージとして貼り付け」→トリミング (1)PhotoEditorでコピー→Excelで右クリック→「形式を選択して貼り付け」   →「図(エンハンスト メタファイル)」を選択 ★結果:ぼやける (2)PhotoEditorでコピー→Excelで右クリック→「形式を選択して貼り付け」   →「ビットマップ」を選択   ★結果:ハッキリ※データ容量が少し増える (3)PhotoEditorでJPG形式90%圧縮で保存→Excel「図をファイルから挿入」で挿入   ★結果:ハッキリ (4)PhotoEditorでPNG形式90%圧縮24ビットで保存→Excel「図をファイルから挿入」で挿入   ★結果:ハッキリ (4) (1)の貼り付け済み画像をを端を持ってドラッグ(小さく)する   ★結果:ぼやける。※Excel97上でも 少しぼやける。 さきほど「教えてgoo」で(2)の方法を教えてもらったので差し替え作業をしていますが、 画像が200枚以上あるので大変(腱鞘炎になりそう)なので、一括変更とか、 2007(見る側)での設定でハッキリ見れるようにできたらいいな、と思います。 また(4)の小さくするだけでぼやけてしまうのは宿命なのでしょうか?2007でも? ご存知の方いらっしゃれば教えてください

  • Excel97で作ったのを2007で見るとボケてる

    WindowsXPにてExcel97で作ったものを他のPCでもWindowsXP/Excel97で見る分には 貼り付け画像がハッキリ見えるのですがWindows7/Office2007のExcelで見ると全ての 画像がピンボケになってしまいます。OSのせい?Excelのせい? もちろんOffice2007のExcelで作れば問題ないのですが環境の都合上 Excel97で作成となります。 2007でクッキリ見える画像添付方法を教えて下さい。 作る側で無理な場合、せめて2007で見る時に設定か何かでボケずに見れる方法が あればと思うのですが・・・よろしくお願いします。 Excel97で4つの方法試しました。(どれも2007ではひどくボケてしまいました) [PrintScreen]キーで画面を切取り→PhotoEditor「編集」の 「新しいイメージとして貼り付け」→トリミング (1)PhotoEditorでコピー→Excelで右クリック→「形式を選択して貼り付け」   →「図(エンハンスト メタファイル)」を選択 (2)PhotoEditorでJPG形式90%圧縮で保存→Excel「図をファイルから挿入」で挿入 (3)PhotoEditorでPNG形式90%圧縮24ビットで保存→Excel「図をファイルから挿入」で挿入 (4) (1)の貼り付け済み画像をを端を持ってドラッグ(小さく)するとExcel97上でも 少しボケてしまいます(見れるレベル)。できればこれも解決したいです。 小さくして97で見てもボケない方法もあれば・・・。

  • Office 2007 PowerPoint→Word貼り付け時に劣化画像になってしまう

    Office 2007 Standardを使用して Wordドキュメント中に PowerPointで作成した画像を貼り付けると 劣化した画像になってしまいます。 以前のOfficeでは 図形と画像を合わせたものをWordにコピーしても きれいなまま貼り付けができたのですが 2007では図形と画像もすべて画像化されて 劣化してしまいます。 また、2007では形式選択貼り付けで、拡張メタファイルを選択した場合 きれいに貼り付けられますが、 再編集・再利用がきかなくなってしまいます。 2003以前のように MS Office 描画オブジェクトを2007でも取り扱える方法など ご存知でしたら教えてください。

  • PowerPointスライドの貼り付け形式について

    こんにちは、どなたかお助け願います。 PowerPoint2003のスライドペインからコピペをしたいのですがCtrl+vをすると図で貼り付いてしまいます。 OS再インストールする前はCtrl+vをすると(複製のように)次ページにスライドが挿入されたのですが今は選択してるスライドへ図として挿入されます。 編集メニューから「形式を選択して貼り付け」を見ると以下の形式が現れます。 ・Microsoft PowerPoint スライドオブジェクト ・図(PNG) ・図(GIF) ・図(JPEG) ・図(Windowsメタファイル) ・図(拡張メタファイル) 全て図として貼り付けるものばかりです。。 既出の質問にあった「テキストのドラッグアンドドロップ編集を行う」はONにしております。 何かよい方法はないでしょうか。 よろしくお願いします。

  • パワーポイントのファイルサイズが最小となる画像形式

    ウェブページで見つけた画像のコピーアンドペーストや、PDFファイルでの画像切り取り、プリントスクリーン&貼り付けなど、パワーポイントを作る際に画像を取ってくる手段は色々あります。 ただ、(パワーポイントのスライドを100枚以上作る前提で)貼り付けの際、Ctrl+Vでそのまま貼り付けるとファイルサイズが非常に大きくなってしまい、困っています。 Alt+E+Sで形式を選択して貼り付ければ、ファイルサイズを小さくできると聞いたことがあるのですが、下記形式の中で、ファイルサイズを最も小さくできる形式はどれになるでしょうか? ・ビットマップ ・PNG ・JPEG ・GIF ・Windowsメタファイル ・拡張メタファイル など (経験上はGIF、JPEG、Windowsメタファイルあたりが小さくできる印象なのですが、どれが一番良いかはわかっていません) 例えば http://okwave.jp/qa/q4542115.html、http://office.microsoft.com/ja-jp/powerpoint-help/HA001116882.aspx などで似たような質問がありますが、明確な回答は書かれていないようでしたので今回質問させて頂きました(なお、ペイントに貼り付けたほうがファイルサイズが小さくできる、ということは確かに聞いたことがあるのですが、「なぜ小さくできるのか」がわからないため、もしペイントに貼り付ける方法がベストなのでしたらなぜ小さくなるのかを教えて頂ければ助かります)。 また、保存の際にツール→画像の圧縮→電子メール用、として保存すればファイルサイズが小さくできることは既に試しており、更にファイルサイズを小さくするためには、上記のように画像貼り付け時に形式を選ぶしかないのかなと思っています。 どうぞよろしくお願いいたします。

専門家に質問してみよう