|
■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} となっています。 何か関係あるのでしょうか?
|