QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

「ActiveX コンポーネントを作成できません。」

こんにちわ
2週間前も同じような投稿をしましたが、
(参照元記事へ、どうぞ)
まだ解決できていません。

開発環境: Win2000/asp.Net/MS-Excel

Dim objExcel As Excel.Application
Dim objbook As Excel.Workbook
objExcel = CreateObject("Excel.Application")
上記のように、[CreateObject]を使って
Excelオブジェクト作成ができました。

しかし、
Dim objbook, objSheet1, objSheet2 As Object
objbook = GetObject("c:\tmp\aaa.xls")
[GetObject]を使うと、
「ActiveX コンポーネントを作成できません。」
というエラーが発生します。

GetObject("Excelファイル")の使い方(注意点)または
参考URLなど、ぜひご教授ください。
よろしくお願いします。

質問者:KAN

回答

こんにちは。

ヘルプのGetObject関数の説明の中に、以下の記述がありました。

***************************************************
メモ 現在のオブジェクトのインスタンスがあるとき、または、既に読み込まれた
ファイルを使用してオブジェクトを作成するときは、GetObject 関数を使用します。
現在のオブジェクトのインスタンスがなく、読み込んだファイルを使用してオブジェ
クトを作成しないときは、CreateObject 関数を使用します。複数のインスタンスを
作成できない ActiveX オブジェクトの場合は、CreateObject 関数を何度実行しても、
そのオブジェクトのインスタンスは 1 つしか作成されません。単一インスタンス
オブジェクトの場合、引数 PathName に長さ 0 の文字列 ("") を指定して
GetObject 関数を呼び出すと、常に同じインスタンスを返します。また、引数
PathName を省略すると、エラーになります。GetObject 関数では、Visual Basic
で作成したクラスへの参照を取得できません。
***************************************************

ASPでの話では、こことかがありました。(同じ現象だったのかは不明ですが)

投稿者:Qoo

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。