@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

PowerPointのLabel.Caption値を取得したい

1
投稿者投稿内容
いいと
会議室デビュー日: 2007/05/21
投稿数: 6
投稿日時: 2007-06-26 18:53
環境:VisualStudio2005、C#(Windowsアプリ) + PowerPoint2003

C#から既存のPowerPointファイルを開き、そのスライド中に貼り付けてあるラベルコントロールのCaption値を取得したい。
この際、PowerPointのVBAでは
objPres.Slides(1).Shapes("Label1").OLEFormat.Object.Caption
と記述することで取得できるので、下記のようにC#を記述してみたところ、
「'object'に'caption'の定義がありません。」
となってしまう。

どなたが助言いただけませんでしょうか?
宜しくお願い致します。

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

PowerPoint.Application objApp;
PowerPoint.Presentations objPresSet;
PowerPoint._Presentation objPres;

//open presentation
objApp = new PowerPoint.Application();
objApp.Visible = MsoTriState.msoTrue;
objPresSet = objApp.Presentations;
objPres = objPresSet.Open("c:\\aaa.ppt");

//Get Caption from target Lables
Debug.WriteLine(objPres.Slides[1].Shapes["Label1"].OLEFormat.Object.Caption); //←ここがエラー

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-06-26 20:51
進行中
http://bbs.wankuma.com/index.cgi?mode=al2&namber=4832
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-06-26 20:51
引用:

いいとさんの書き込み (2007-06-26 18:53) より:

と記述することで取得できるので、下記のようにC#を記述してみたところ、
「'object'に'caption'の定義がありません。」
となってしまう。


キャストはご存知でしょうか?

引用:

Debug.WriteLine(objPres.Slides[1].Shapes["Label1"].OLEFormat.Object.Caption);


おそらく Office PIA だと思いますが、このような書き方をしますと COM の参照カウントをデクリメントするタイミングを失います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
いいと
会議室デビュー日: 2007/05/21
投稿数: 6
投稿日時: 2007-06-27 18:21
他サイトにて解決に至りました。
有難うございました。


http://bbs.wankuma.com/index.cgi?mode=al2&namber=4832
1

スキルアップ/キャリアアップ(JOB@IT)