- 締切済み
Excelのシートをコピー
環境は,Visual Studio 2005 Standard Editionです. プログラムを実行後,以下の例外が発生しました. 「HRESULT からの例外: 0x800A03EC」 発生場所は★の位置です. ここから------- Dim xlApp As Microsoft.Office.Interop.Excel.Application = Nothing Dim xlBook As Microsoft.Office.Interop.Excel.Workbook = Nothing Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet = Nothing xlBook = xlApp.Workbooks.Open("ファイルのパスが入ります") xlSheet = xlBook.Worksheets("シート名が入ります") Dim xlBook2 As Microsoft.Office.Interop.Excel.Workbook = Nothing Dim xlSheet2 As Microsoft.Office.Interop.Excel.Worksheet = Nothing xlBook2 = xlApp.Workbooks.Open("ファイルパスが入ります") xlSheet2 = xlBook.Worksheets("シート名が入ります") 'Excelを表示しない xlApp.Visible = False xlSheet.Copy(Before:=xlSheet2) ★ ここまで-------------- やろうとしているのは,xlSheet2のシートを含むExcelファイルに,xlSheet2の前にxlSheetをコピーする処理です. ★のところで上の例外が発生してしまいます. 以上,よろしくお願いします.
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- cistronezk
- ベストアンサー率38% (120/309)
回答1です。 他に気になったのは、 >xlSheet2 = xlBook.Worksheets("シート名が入ります") です。 xlSheet2 = xlBook2.Worksheets("シート名が入ります") ではありませんか?
- cistronezk
- ベストアンサー率38% (120/309)
>Dim xlApp As Microsoft.Office.Interop.Excel.Application = Nothing ・・・ >xlBook = xlApp.Workbooks.Open("ファイルのパスが入ります") とりあえず、xlAppがNothingのまま、というのが目に付きます。
お礼
cistronezk様 すみません.回答が遅れました. 結果的には,自己解決できました. ソースは離れた場所にあるため,転記できませんが, 方法としては,item(1)のようにシートを作ってから, コピーする方法でした. ありがとうございました.