- - PR -
ASP.NETからのEXCELsheetコピー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-19 15:46
初めまして、いつも参考にさせてもらっています。
ASP.NETより、EXCELファイルを作成する開発をしています。 やりたいことはDBから取得したデータ件数分のExcelSheetを作成し KEY項目をSHEET名にする(1Sheetにつき1データずつ編集する)、という処理です。 VBAマクロなどを参考にしてみたのですがどうしてもエラーが起きてしまいます。 以下がソースです。 Dim strFolderName As String Dim sPageName As String While (objOraRead.Read()) 'Sheet名取得 sPageName = CStr(objOraRead.GetValue(Count1)) 'Sheet1をコピーして新しいシートを作成、 '上記で取得したSheet名をセットする With objExcelApp .Workbooks.Open("strFolderName" & strFileName & ".xls") .Windows(strFileName & ".xls").Activate() .Sheets("Sheet1").Select() .Sheets("Sheet1").Copy(Before:=objExcelSheets(1)) .Sheets("Sheet1 (2)").Select() .Sheets("Sheet1 (2)").Name = sPageName End With 'データ編集 CType(book.Sheets.Item(sPageName), Excel.Worksheet).Range(1,1).Value = objOraRead.GetValue(0) End While ご存じの方がいらっしゃいましたら、ご教授お願いします。 |
|
投稿日時: 2003-09-19 16:46
はじめまして。
エラーの内容を書いた方が、返答が来やすいとおもいますよ。 参考までにdcomcnfgコマンドを実行して、ASPNETのユーザアカウントに 権限を与えていますか? 1.dcomcnfgコマンド実行 2.アプリケーション選択 3.Excelアプリケーションを選んでプロパティ選択 4.セキュリティタブで、ASPNETアカウントに権限を付与 |
|
投稿日時: 2003-09-19 17:21
ronさん返信ありがとうございます。
ronさんの引用: -------------------------------------------------------------------------------- 参考までにdcomcnfgコマンドを実行して、ASPNETのユーザアカウントに 権限を与えていますか? 1.dcomcnfgコマンド実行 2.アプリケーション選択 3.Excelアプリケーションを選んでプロパティ選択 4.セキュリティタブで、ASPNETアカウントに権限を付与 -------------------------------------------------------------------------------- アドバイスしていただいた4つの点については行っています。 エラー内容は .Sheets("Sheet1").Copy(Before:=objExcelSheets(1)) の部分でアプリケーションエラー(HRESULT からの例外です : 0x800401A8) が表示されてしまう状況です。 また、何かご指摘ありましたら 宜しくお願いします。 |
|
投稿日時: 2003-09-19 18:29
はじめましてHasumiです。初投稿です。
.Sheets("Sheet1").Copy(objExcelSheets(1),System.Reflection.Missing.Value) とすればいいと思います。 引数の省略はできないのでExcel(VBA)のヘルプを参照してすべての引数を 指定してください。 |
|
投稿日時: 2003-09-20 14:11
Hasumiさん返信ありがとうございました。
アドバイス通りに引数を変えた結果、ちゃんとコピー されるようになりました。 これからはヘルプもきちんと見てから投稿します。 [ メッセージ編集済み 編集者: なな 編集日時 2003-10-29 11:58 ] |
1