gooドクター有料プランが1ヶ月間無料!

代記の通りなのですが、VBを利用して、PowerPointのマクロを実行したいのですが、開くところは分かるのですが、実行する記述が分かりません。

どなたかヒントになることを教えていただけないでしょうか?

また、マクロの内容なのですが、EXCELで作ったサンプルデータの内容のグラフを表示したいのですが、マクロ機能を使ってデータのインポートを行ったところ、インポート部分のマクロのみ記述されませんでした。

こちらの方もどなかたヒントになることをご存知の方がおりましたアドバイスをいただけると幸いです。

よろしくお願いします。

環境:WIN_XP
VB6
POWERPOINT 2000

gooドクター

A 回答 (5件)

でけた



Set msGrf = ppApp.ActiveWindow.Selection.ShapeRange.OLEFormat.Object.Application
With msGrf
  .FileImport "C:\Book1.xls"
End With
    • good
    • 0
この回答へのお礼

あああああああああああああ!!!!!!!!!

出来てるぅぅぅぅぅぅ!!!!!

すげぇぇぇぇぇぇぇ!!!!!!!

まさか本当に出来るとは思いませんでした、大変感謝をしております。
長い間お付き合いしていただいてありがとうございました2chさん!

参考にさせていただいて製作させていただきます
本当にありがとうございました。
またなにかありましたらよろしくお願いします。

では。

お礼日時:2003/06/12 10:44

完全制覇となると、時間がかかりそうなので、ちょっとだけご報告。


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
    • good
    • 0
この回答へのお礼

なんどもなんどもレスありがとうございます。

確かに2chさんの表記の通りでデータをいじることが出来ました!!

なんとか今自分もそこからデータを一括で入れる方法
(データを削除してからインポート)を模索中です。

ありがとうございます。

お礼日時:2003/06/11 16:27

>Microsoft Graph Visual Basic


[挿入]→[グラフ]
のグラフ?

この回答への補足

やりたいことは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

補足日時:2003/06/11 13:14
    • good
    • 0

パワポを外部から、初めて呼んでみた。


画面に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
    • good
    • 0
この回答へのお礼

前回に引き続きありがとうございます2chさん
マクロを動かすことは出来ました。
確かにVBEditorも一緒に動いてしまいますね。
特に問題ないのでマクロの方はOKです!!

ですが、ファイルのインポートがどうしても出来ません。

Microsoft Graph Visual BasicリファレンスというものにFileImportというメソッドがあるのですが、イマイチ使い方が分かりません。

むーむ、、、使用経験がございましたらアドバイスをいただけると幸いです。

お礼日時:2003/06/11 10:02

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



参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=322783
    • good
    • 0
この回答へのお礼

ありがとうございます。
マクロはどうにかなりそうなのですが、
EXCELで作ったサンプルデータの内容のグラフを表示という部分がどうしても解決しません。

powerpointのプロパティ一覧など分かりやすいHPなどご存知でしたら教えていただきたく思います。

お礼日時:2003/06/10 16:58

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング