- - PR -
vb2005からのエクセル呼出がうまくいかない
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-01 09:50
VB2005でビルド発行後、Windows XPのPCにインストールを実施。
その後、プログラムを実行し、エクセル書き込み処理ボタンを押したところ 以下のメッセージが表示されました。 どなたか教えてください。 ちなみに、他のXPのPCでプログラムを実行したところ、以下のメッセージは でませんでした。 EXCELは2000です。 <メッセージ> 型Excel.ApplicationClassのCOMオブジェクトを インターフェイス型 Excel Applicationにキャスト できません。IID{000208D5-0000-0000-C000-000000000046} が指定したインターフェイスのコンポーネント上での Queryinterface呼出のときに次のエラーが発生したため、 この操作に失敗しました。ライブラリは登録されていません。 (HRESULTからの例外0x8002801D TYPE_E_LIBNOTREGISTERED) VB内のエクセル書き込みコードはこんな感じです。 Dim strHHMMSS As String Dim strHH As String strHHMMSS = Format(Date.Now, "yyyyMMddHHmmss") strHH = "C:\DATA\saisyoriaa" & strHHMMSS & ".xls" Dim ExcelApp As New Excel.Application 'エクセルを宣言する Dim Book As Excel.Workbook 'ワークブックの宣言 Const xlCenter = -4108 '中央揃え Book = ExcelApp.Workbooks.Add '新しいワークブックを追加 Book.Worksheets(1).Columns("B:B").HorizontalAlignment = xlCenter Book.Worksheets(1).Columns("C:C").HorizontalAlignment = xlCenter Book.Worksheets(1).Columns("D:D").HorizontalAlignment = xlCenter Book.Worksheets(1).Columns("A:A").ColumnWidth = 31.5 Book.Worksheets(1).Columns("B:B").ColumnWidth = 15 Book.Worksheets(1).Columns("C:C").ColumnWidth = 20 Book.Worksheets(1).Columns("D:D").ColumnWidth = 15 Book.Worksheets(1).Range("B7") = TextBox127.Text Book.Worksheets(1).Range("C7") = TextBox128.Text Book.Worksheets(1).Range("D7") = TextBox129.Text Book.SaveAs(strHH) Book.Close() ExcelApp.Quit() | ||||||||||||
|
投稿日時: 2007-02-01 10:28
"EXCEL は 2000 です" というのは、導入した端末のことでしょうか? どの端末なのかがわからないのですが。
どのようにセットアップ (配置) したのでしょうか。 Office PIA を配布したのでしょうか?
COM の参照カウントのデクリメントが全く考慮されていないですね... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2007-02-01 11:23
"EXCEL は 2000 です" というのは、導入した端末のことでしょうか?
どの端末なのかがわからないのですが。 →プログラムをインストールしたPCのエクセルのバージョンが2000ということでした。 どのようにセットアップ (配置) したのでしょうか。 Office PIA を配布したのでしょうか? →setup.exeでインストール(フレームワークなどをダウンロード)後、 PIAもダウンロードして配布済しました。 COM の参照カウントのデクリメントが全く考慮されていないですね... →初心者なもので、知識不足ですみません(まわりにVBわかる人が皆無で・・・) [ メッセージ編集済み 編集者: ざい 編集日時 2007-02-01 11:25 ] | ||||||||||||
|
投稿日時: 2007-02-01 11:35
では、ビルドした端末の Excel のバージョンはいくつでしょうか?
まあ、VB というわけではないのですが、とりあえず、このあたりの 「プロセスが残る」 系の質問をご覧になるとよろしいでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2007-02-01 12:02
では、ビルドした端末の Excel のバージョンはいくつでしょうか?
→ビルドした端末はのExcelのバージョンはは2000です。 OSはWINDOWS2000です。 | ||||||||||||
|
投稿日時: 2007-02-01 13:17
ということは、レジストリが正しく登録されていないだけのようですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2007-02-01 14:07
レジストリが正しく登録されていないだけのようですね。
→なんどもお手数かけてすみません。 レジストリの登録はどうやればよろしいのでしょうか? |
1