| ■No53123 (魔界の仮面弁士 さん) に返信
> ■No53120 (マサヤ さん) に返信
>>書きなおしてみました。
> 追加で突っ込み。
>
>> xWb = xApp.Workbooks.Open(@"c:\testX.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, …);
> Workbooks も COM Object ではありませんでしたっけ?
> PIA のバージョンによるのかな…。
→ _Application.WorkbooksもCOM Objectですね。Workbooksって宣言できましたでしょうか?
>> xWs = (Worksheet)xWb.ActiveSheet;
> as の方が良いかも。ActiveSheet が Worksheet 型とは限りませんし。
→ありがとうございます。
>>xSp = xWs.Shapes;
>>xWs.Shapes.AddPicture(@"c:\Penguins.jpg", Microsoft.Office.Core.MsoTriState.msoFalse, …);
> xSp.AddPicture(〜) では?
→はい、勘違いしてました。宣言してるのに使用してない状態になってますね。
> それと、AddPicture は Shape オブジェクトを返しますので、
> 戻り値も受けておかないといけないかと。
→ありがとうございます。
下記に修正
Shape xSh = null;
xSp = xWs.Shapes;
try
{
xSh = xSp.AddPicture(@"c:\Penguins.jpg", Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoTrue, 0, 0, 85, 15);
}
finally
{
Marshal.ReleaseComObject(xSh);
}
xApp.Visible = true; |