• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBからPowerPointのマクロを実行する方法)

VBからPowerPointのマクロを実行する方法

このQ&Aのポイント
  • VBを使用してPowerPointのマクロを実行する方法について教えてください。
  • Excelで作成したサンプルデータのグラフをPowerPointで表示する方法についても教えてください。
  • Windows XP環境でVB6とPowerPoint 2000を使用しています。

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

  • ベストアンサー
  • 2ch
  • ベストアンサー率51% (64/125)
回答No.5

でけた Set msGrf = ppApp.ActiveWindow.Selection.ShapeRange.OLEFormat.Object.Application With msGrf   .FileImport "C:\Book1.xls" End With

masaichi1212
質問者

お礼

あああああああああああああ!!!!!!!!! 出来てるぅぅぅぅぅぅ!!!!! すげぇぇぇぇぇぇぇ!!!!!!! まさか本当に出来るとは思いませんでした、大変感謝をしております。 長い間お付き合いしていただいてありがとうございました2chさん! 参考にさせていただいて製作させていただきます 本当にありがとうございました。 またなにかありましたらよろしくお願いします。 では。

その他の回答 (4)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.4

完全制覇となると、時間がかかりそうなので、ちょっとだけご報告。 Chartオブジェクトを操作するとよいかも? 一発取り込みまでは調査してないけど、値のセットならでけた。 参考: http://oshiete1.goo.ne.jp/kotaeru.php3?q=292031 '宣言に追加 Dim msChart As Chart 'ほにゃららコード 'ほにゃららコード 'ほにゃららコード 'ほにゃららコード 'サイズせっと With ppApp.ActiveWindow.Selection.ShapeRange   .Left = 120#   .Top = 109.875   .Width = 480#   .Height = 320.25 End With 'ここでチャートをげっちゅ Set msChart = ppApp.ActiveWindow.Selection.ShapeRange.OLEFormat.Object 'ここでチャートのデータテーブルに値をせっと msChart.Application.DataSheet.Cells(2, 5) = 10

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=292031
masaichi1212
質問者

お礼

なんどもなんどもレスありがとうございます。 確かに2chさんの表記の通りでデータをいじることが出来ました!! なんとか今自分もそこからデータを一括で入れる方法 (データを削除してからインポート)を模索中です。 ありがとうございます。

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

>Microsoft Graph Visual Basic [挿入]→[グラフ] のグラフ?

masaichi1212
質問者

補足

やりたいことはMicrosoft PowerPointの[挿入]→[グラフ] です。 そしてそのデータ範囲に、自分で作っておいたExcelデータを読み込ませたいのです。 メニューコマンドでいうとグラフを選んだ状態で[編集]→[ファイルのインポート]です。 PowerPointのグラフはMicrosoft Graphの機能を使っているようなのでそこに依存してくるようです。 不完全ですが、自分の作ったプログラムを載せておきます。 グラフの表示までは出来ているのですが、インポートが出来ない状態です。 '参照設定に 'パワポの10ライブラリと 'オフィスの10ライブラリと 'マイクロソフトグラフの10ライブラリを使用しています。 '(OfiiceXP使用時) Option Explicit Private Sub Command1_Click() Dim ppApp As PowerPoint.Application Dim ppWin As PowerPoint.Presentation Dim msGrf As Graph.Application On Error GoTo errGo 'オブジェクトの作成 Set ppApp = New PowerPoint.Application ppApp.Visible = msoTrue AppActivate ppApp Set ppWin = ppApp.Presentations.Add '白紙のスライドを追加 ppWin.Slides.Add Index:=1, Layout:=ppLayoutBlank ppApp.ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject(Left:=120#, _ Top:=110#, Width:=480#, Height:=320#, ClassName:="MSGraph.Chart", _ Link:=msoFalse).Select ppApp.ActiveWindow.Selection.ShapeRange.OLEFormat.Activate With ppApp.ActiveWindow.Selection.ShapeRange .Left = 120# .Top = 109.875 .Width = 480# .Height = 320.25 End With 'エクセルの挿入 'With msGrf ' .Chart = ppApp.ActivePresentation.Slides(1).Shapes(1) 'End With Set msGrf = New Application With msGrf .FileImpor FileName:="C:\新規Microsoft Excel ワークシート.xls" End With 'ファイルの保存 ppApp.ActivePresentation.SaveAs FileName:="C:\プレゼンテーション1.ppt" '終了 ppApp.Quit End errGo: MsgBox Err.Number & vbCrLf & Err.Description End Sub

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.2

パワポを外部から、初めて呼んでみた。 画面にVBAのエディタが表示されないと、マクロが走らなかった。 これって、仕様か? やってみたソースを載せておく。 VB側 Sub Main()   Dim pptApp As Object      Set pptApp = CreateObject("PowerPoint.Application")   pptApp.Visible = True   pptApp.Presentations.Open "c:\てすと.ppt"      'VBEditorの画面を表示する   DoEvents   Call SendKeys("%{F11}", True)   DoEvents      Call pptApp.Run("TEST")      pptApp.Quit   Set pptApp = Nothing End Sub パワポ側 Public Function TEST() As VbMsgBoxResult   TEST = MsgBox("メッセージボックスです") End Function

masaichi1212
質問者

お礼

前回に引き続きありがとうございます2chさん マクロを動かすことは出来ました。 確かにVBEditorも一緒に動いてしまいますね。 特に問題ないのでマクロの方はOKです!! ですが、ファイルのインポートがどうしても出来ません。 Microsoft Graph Visual BasicリファレンスというものにFileImportというメソッドがあるのですが、イマイチ使い方が分かりません。 むーむ、、、使用経験がございましたらアドバイスをいただけると幸いです。

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.1

VBAなら、エクセルといっしょかな

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=322783
masaichi1212
質問者

お礼

ありがとうございます。 マクロはどうにかなりそうなのですが、 EXCELで作ったサンプルデータの内容のグラフを表示という部分がどうしても解決しません。 powerpointのプロパティ一覧など分かりやすいHPなどご存知でしたら教えていただきたく思います。