こんにちは。
またまた、お世話になります。
今回は、C#でエクセルのセルに画像を入力しようとしてます。
既存のソースに下記を加えたのですが、「objectにWorkbooksの定義がありません」っていうエラーが帰ってきます。下記を、単体でしたときはできていたのですが・・・。
よろしくお願いします。
Excel.Range range;
Excel.Shapes shapes;
Excel.Shape shape;
//ES_Appli = new Excel.Application();
ES_WBook = E_Appli.Workbooks.Open(saveFile, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing);
E_Sheet = (Excel.Worksheet)ES_WBook.ActiveSheet;
range = E_Sheet.get_Range("A1", Type.Missing);
shapes = E_Sheet.Shapes;
shape = shapes.AddPicture(@"パス", Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, 420, 0, 85, 15);
つまづいてます。助けてください。
Re:つまづいてます。助けてください。
E_Appliの定義はどうなっていますか。
おそらく,そこが
Excel.Application E_Appli;
のようになっていないのだと思います。
# E_Appli.Workbooks.Openはやってはいけません (前回:http://www.play21.jp/board/formz.cgi?re ... 25&id=dixq参照)
おそらく,そこが
Excel.Application E_Appli;
のようになっていないのだと思います。
# E_Appli.Workbooks.Openはやってはいけません (前回:http://www.play21.jp/board/formz.cgi?re ... 25&id=dixq参照)
Re:つまづいてます。助けてください。
返答ありがとうございます。
>E_Appliの定義はどうなっていますか。 おそらく,そこが
>Excel.Application E_Appli;のようになっていないのだと思います
Excel.Application E_Appliってなってないです。ただ、メンバー変数で「private object E_Appli」ってなってます。
エクセルの操作ソースの中をいじってるんですが、「Excel.Application」の定義がまったくなくってわからないんです。
新しく定義すると画面が固まっちゃってます・・・。
>E_Appliの定義はどうなっていますか。 おそらく,そこが
>Excel.Application E_Appli;のようになっていないのだと思います
Excel.Application E_Appliってなってないです。ただ、メンバー変数で「private object E_Appli」ってなってます。
エクセルの操作ソースの中をいじってるんですが、「Excel.Application」の定義がまったくなくってわからないんです。
新しく定義すると画面が固まっちゃってます・・・。
Re:つまづいてます。助けてください。
> Excel.Application E_Appliってなってないです。ただ、メンバー変数で「private object E_Appli」ってなってます。
なぜExcel.Application型 (Excel 2010だとMicrosoft.Office.Interop.Excel.Application型) ではなくobject型で定義しているのですか。
PIA (or 非推奨だがIA) を使わないのであれば,C#の場合は頑張ってリフレクションでディスパッチしていくしかないはずです。
C# 4.0ならdynamicがありますが……。
# PIA: プライマリ相互運用アセンブリ (Primary Interop Assembly), IA: 相互運用アセンブリ (Interop Assembly)
なぜExcel.Application型 (Excel 2010だとMicrosoft.Office.Interop.Excel.Application型) ではなくobject型で定義しているのですか。
PIA (or 非推奨だがIA) を使わないのであれば,C#の場合は頑張ってリフレクションでディスパッチしていくしかないはずです。
C# 4.0ならdynamicがありますが……。
# PIA: プライマリ相互運用アセンブリ (Primary Interop Assembly), IA: 相互運用アセンブリ (Interop Assembly)