- PR -

ASP.NETからのEXCELsheetコピー

1
投稿者投稿内容
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 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


ご存じの方がいらっしゃいましたら、ご教授お願いします。
ron
常連さん
会議室デビュー日: 2002/08/19
投稿数: 46
投稿日時: 2003-09-19 16:46
はじめまして。
エラーの内容を書いた方が、返答が来やすいとおもいますよ。
参考までにdcomcnfgコマンドを実行して、ASPNETのユーザアカウントに
権限を与えていますか?

1.dcomcnfgコマンド実行
2.アプリケーション選択
3.Excelアプリケーションを選んでプロパティ選択
4.セキュリティタブで、ASPNETアカウントに権限を付与
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 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)
が表示されてしまう状況です。
また、何かご指摘ありましたら
宜しくお願いします。

Hasumi
ベテラン
会議室デビュー日: 2002/07/23
投稿数: 78
お住まい・勤務地: 神奈川・東京
投稿日時: 2003-09-19 18:29
はじめましてHasumiです。初投稿です。

.Sheets("Sheet1").Copy(objExcelSheets(1),System.Reflection.Missing.Value)

とすればいいと思います。

引数の省略はできないのでExcel(VBA)のヘルプを参照してすべての引数を
指定してください。
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-09-20 14:11
Hasumiさん返信ありがとうございました。
アドバイス通りに引数を変えた結果、ちゃんとコピー
されるようになりました。
これからはヘルプもきちんと見てから投稿します。



[ メッセージ編集済み 編集者: なな 編集日時 2003-10-29 11:58 ]
1

スキルアップ/キャリアアップ(JOB@IT)