PowerPointに大量の画像データ(gifファイル)を貼り付けたいのですが。
画像データ1枚を1ページ全面に貼り付ける作業を、
簡単に又は自動で出来る方法は無いでしょうか。
そろそろ、ショートカットキーでの作業に限界を感じてきました。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

力技のマクロでもよければ、こんな感じで。



ActiveWindow.View.GotoSlide Index:=ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank).SlideIndex
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(FileName:="画像データファイル名.gif", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=100, Height:=100).Select

この2行で、2枚目に空白のスライドを挿入して、そこに画像データをファイルから
読み込んで貼り付ける動作をします。

予め、使い慣れたテキストエディタで必要な枚数分の挿入をマクロで記述してから、
マクロのエディタにコピー&ペーストするのが楽でしょう。

貼り付けるファイルの数だけ実行行が有る、なんて頭の悪そうなマクロですが、
(私のような)マクロ素人にとって、扱い易いと思います。

因みにマクロが有るのは PowerPoint97 から。95 であれば、この手は使えません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。マクロの知識が無いので不安ですが、なんとか試してみたいと思います。

お礼日時:2001/06/20 08:13

EXCELのようにマクロが搭載されていれば、定型の繰り返し操作などは、自動化できますが、PowerPointのようにマクロが搭載されていないアプリケーションでは、自動化がしにくいですね。



で、WSHはどうですか?

下記URLでは、「何それ?」というあたりから教えてくれます。

お試しあれ。
では、ごきげんよう。

参考URL:http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/whatis. …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。WSHなるものは始めて知りました。簡単に覚える事が出来そうなら、利用してみたいと思います。

お礼日時:2001/06/20 08:08

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

Excelの2つのファイル(東西、南北)から、PowerPointの1つのファイル(「一覧」)へ画像を貼り付ける作業がよくあるのですが、手順を簡素化するアイディアは有りませんでしょうか?
貼り付ける目的は、画像が重たい(Excel30000行分x10系列)ので、軽くするため&東西と南北を並べて一覧にするためで、

グラフをPowerPointに「形式を選択して貼り付け>拡張メタファイル」し、
→それをすぐ切り取って、PowerPointに「形式を選択して貼り付け>png」します

が(1回目の変換ではpngが選べない)、この手順は業務命令で指示されているので、変えられません。(私自身は二度変換する意味自体を良くわかっていませんが、それはこの質問と直接関わりありません)

これをグラフ40枚分行うのですが、自動化するか(マクロの組み方は私は知りません)、pngへ一括変換・一発変換する方法はありませんか?(現状、1枚当たりに相当な時間がかかっています。)
XPでExcel2003で、PowerPointも2003だと思います。

Aベストアンサー

補足ありがとうございました。

具体的に書いていただき、回答するに励みになりました。

どうも 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

補足ありがとうございました。

具体的に書いていただき、回答するに励みになりました。

どうも PP のグラフィックは美しくありません。Excel や Word と比較してそう思います。
経験からアドバイスすると Excel のグラフを最もきれいに、かつ軽量にPP に貼り付けるには、

  1. Excel で次の VBA を実行し、グラフをピクチャー(ここでは拡張
    メタファイル)としてコピーする

    ActiveChart.CopyPicture xlScreen, xlPicture

  2. PowerPoint にそのままで貼り付け

という...続きを読む

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

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

よろしくお願いします。

Aベストアンサー

なんと、形式を選択して貼り付けは、PowerPoint2000のマクロではサポートされていません。2002からのサポートです。
このため、対応するマクロがないので、記録しても記録されません。
代替策として、以下のURLをMSは提供しています。
http://support.microsoft.com/kb/222721/ja

参考URL:http://support.microsoft.com/kb/222721/ja

QPowerPointにExcelのデータを貼り付けたい

PowerPointにExcelで作成した表を貼り付けたいと思っています。
挿入のオブジェクト等で貼り付けようと思っているのですが、
画像で貼り付けているせいか、PowerPointの背景が消えてしまいます。
図だけを貼り付ける方法はありますか?

また、背景が消せないのならExcelのセルの線を消すことはできますか?

とても困っています。
どなたか、知恵をかして下さい。

Aベストアンサー

 
EXCELで貼りつけたい範囲を選択して「コピー」、Powerpointに異動して「編集」から「貼りつけ」を選べば背景が見える状態で貼りつけられます。

Excelの罫線を消すのはExcelでツールバーの「ツール」-「オプション」の「表示」の中の「枠線」のチックを外せば消えます。

 

Qエクセルで作成した表にgifの画像を貼り付けてWeb上にUPしたいのですが。

Win XP Excel2000 IE6.0SP1です。

エクセルで作成した表にgifやjpgの画像を貼り付けて自分のHPにアップしたらその画像の部分だけ×になってしまいます。
(表を「Webページとして保存」をしてFFFTPで自分のHPにUPしているのですが画像の表示はされていせん)

HPにUPする前に表を確認したら画像は表示されるのですが、、、、

どのようにしたら画像は表示されるのでしょうか?

つたない文ですが宜しくお願い致します。

Aベストアンサー

●FTPする時にEXCELが勝手に作成したフォルダーを
一緒にアップロードする必要があります。

●エクセルでWEBページを作る時はこのように不便な
事があります。

●例えば test.html というファイルを作成した時
testfileというフォルダーが出来ていることを確認して下さい。画像ファイルはその中に入っているので
これをアップすると画像が表示されます。

Qある列に並んでいるデータを行列変換して別ワークシートに貼り付け作業の繰

ある列に並んでいるデータを行列変換して別ワークシートに貼り付け作業の繰り返しVBA
OfficeのExcel2007、OS:Windows Vista 多分旧バージョンでも問題ないと思われる。
VBAマクロについて勉強したての状況です。
内容としては ある列に 数値データが8,000件(時により不定期)ほど並んでいるデータを例えば20件を一組として選択して コピーし、行列変換して 別Worksheetの任意のセルを選択して張り付ける。
そして 次のデータ(21列目以下)を20件選択して 行列変換して 貼り付け個所は一行下のセルを選択して張り付ける。これを数値データ列に"null"値が発生するまで 順次繰り返す。

下記は、私が 断片的にに考えているVBAで これらを元に完璧な構文のプログラムを作成すればいいのではと思われますが、私の能力の限界で現時点では後が続きません。

Worksheets.add After:=Worksheets("編集")'"編集"Worksheetを追加

Worksheets("data1").Range(Cells(6,6),(25,6)).Copy
'"data1"WorksheetのデータがセルF6から下にずらっと並んでいる。そこから縦20セル分をコピー
Worksheets("編集1").Range(Cells(1,3)).PasteSpecial Paste:=xlPasteAll, _
Operation:=xlNone, SkipBlanks:= False, Transpose:=True
'行列変換して "編集"Worksheetの"C1"セルを選択して貼り付け

Do While Worksheets("data1").ActiveCell.Value = ""
'F列のセルデータが空白になるまで

Cells(Worksheets("編集").Rows.Count, 1).End(xlUp).Offset(1).Select
'前回の貼り付け場所の下の新規に貼り付ける場所に移動

これら以外に他に複数の変数を定義して 繰り返しループになるようにすればいいと思われますが・・

今のところ基礎編のプログラミングの本を複数回読んでいるが理解できていない状況です。
以上、舌足らずがあると思われますが御教唆のほどよろしくお願いいたします。

ある列に並んでいるデータを行列変換して別ワークシートに貼り付け作業の繰り返しVBA
OfficeのExcel2007、OS:Windows Vista 多分旧バージョンでも問題ないと思われる。
VBAマクロについて勉強したての状況です。
内容としては ある列に 数値データが8,000件(時により不定期)ほど並んでいるデータを例えば20件を一組として選択して コピーし、行列変換して 別Worksheetの任意のセルを選択して張り付ける。
そして 次のデータ(21列目以下)を20件選択して 行列変換して 貼り付け個所は一行下のセルを選択して...続きを読む

Aベストアンサー

できるだけ質問者様のコードを活かすなら、こんな感じでしょうか。

Worksheets.Add After:=Worksheets(Worksheets.Count) '"編集"Worksheetを追加
Worksheets(Worksheets.Count).Name = "編集"
Dim r1 As Long, r2 As Long
r1 = 6
r2 = 1

Do While Worksheets("data1").Cells(r1, 6).Value <> ""
'F列のセルデータが空白になるまで
With Worksheets("data1")
.Range(.Cells(r1, 6), .Cells(r1 + 19, 6)).Copy
End With
'"data1"WorksheetのデータがセルF6から下にずらっと並んでいる。そこから縦20セル分をコピー
Worksheets("編集").Cells(r2, 3).PasteSpecial Paste:=xlPasteAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'行列変換して "編集"Worksheetの"C1"セルを選択して貼り付け

r1 = r1 + 20
r2 = r2 + 1
Loop

できるだけ質問者様のコードを活かすなら、こんな感じでしょうか。

Worksheets.Add After:=Worksheets(Worksheets.Count) '"編集"Worksheetを追加
Worksheets(Worksheets.Count).Name = "編集"
Dim r1 As Long, r2 As Long
r1 = 6
r2 = 1

Do While Worksheets("data1").Cells(r1, 6).Value <> ""
'F列のセルデータが空白になるまで
With Worksheets("data1")
.Range(.Cells(r1, 6), .Cells(r1 + 19, 6)).Copy
End With
'"data1"Worksheet...続きを読む


人気Q&Aランキング

おすすめ情報