|
分類:[C#]
現在、複数のPNGファイルをExcelファイル(xls)のセルに貼り付ける方法を探しています。 具体的には、下記の様な複数のPNGファイルがあり、 ファイル名の先頭が1ならばセル[1,D]に挿入、 ファイル名の先頭が2ならばセル[2,D]に挿入、 以下同じようにするといったようにしたいです。
------------- pngファイル ------------- 1_Test.png 2_Test2.png 3_Result.png ・ ・ -------------
---------------- コード ---------------- Excel.Application exApp = new Excel.Application();
Excel.Workbook wkbook;
Excel.Workbooks wkbooks = exApp.Workbooks;
exApp.Visible = true;
exApp.DisplayAlerts = false;
wkbook = (Excel.Workbook)wkbooks.Open(@"C:\Users\user\Documents\test.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Excel.Sheets sheets = wkbook.Worksheets;
Excel.Worksheet wksheet = (Excel.Worksheet)sheets["test"];
Excel.Range cells = wksheet.Cells;
Excel.Range range = (Excel.Range)cells[1, 21];
range.Select();
Excel.Shapes shapes = wksheet.Shapes; float fx = float.Parse(range.Left.ToString());
float fy = float.Parse(range.Top.ToString());
shapes.AddPicture(@"C:\Users\user\Documents\test.png", MsoTriState.msoFalse,MsoTriState.msoFalse,fx, fy, 100,100); ----------------
しかし、コードの最後の行でshapes.AddPicture()でエラーが出てしまいます。 どなたかわかる方がいれば教えて頂けないでしょうか。
また、1_Test1.pngの「1」だけを取り出して、Excel.Range range = (Excel.Range)cells[1, 21];とすることは可能でしょうか?
その他、おかしな箇所があれば指摘をお願いします。
|