C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 14 を表示中)
■4834 / )  Re[2]: PowerPointのLabel.Caption値を取得
□投稿者/ いいと (2回)-(2007/06/26(Tue) 20:47:13)
No4833 (魔界の仮面弁士 さん) に返信
> # Marshal.ReleaseComObject の件は、とりあえず横に置いとくとして。
>
> ■No4832 (いいと さん) に返信
>>「'object'に'caption'の定義がありません。」
> C# にはレイトバインドの機能が無いので、object 型から直接 Caption を呼び出すことはできません。
> まずは、適切な型にキャストする必要があるでしょうね。
>
> 普通のテキストなら、TextFrame / TextRange で取得するところですが……今回は Label コントロールなので、
> MSForms の Label 型にキャストしてみれば解決するかも。

なるほど、というわけで下記コードを追加してみましたが、エラーとなります。
うーん・・。

 object obj = objPres.Slides[1].Shapes["Label1"].OLEFormat.Object;

 try
  {
   System.Windows.Forms.Label lbl = (System.Windows.Forms.Label) obj;
  }
 catch (Exception e)
  {
   Console.WriteLine("{0} Exception caught.", e);
  }

  「System.InvalidCastException: 指定されたキャストは有効ではありません。」

ちなみに、objPres.Slides[1].Shapes["Label1"].OLEFormat.Objectは {System.__ComObject} となっています。
何か関係あるのでしょうか?
返信 編集キー/


管理者用

- Child Tree -