投稿日 | : 2003/07/11(Fri) 13:27 |
投稿者 | : tak |
Eメール | : |
URL | : |
タイトル | : Re^6: GetObjectで実行時エラー429が出ます・・。 |
>花ちゃんさん
お返事ありがとうございます。
>プログラムを実行中にエラーが発生して止まりますか?とお聞きしているのです。
はい。止まります。
エラー内容は「実行時エラー429 ActiveXコンポーネントはオブジェクトを作成できません。」です。
ただし、「GetObject」実行時のみに落ちるのあって、「CreateObject」では正常に処理を続行します。
>貴方は、このサンプルで一体何がしたいのでしょうか?
すみません。少し本題からズレてしまったかもしれません・・。
確かに、ソースだけ載せて、「何がしたいのか」は明記しておりませんでした。
ぼくは「ACCESSの商品テーブル(T_SYOHIN)内容をEXCELに貼り付けて、自分でEXCELを編集したい」のです。
※「syohin.mdb」のテーブル「T_SYOHIN」内容
連番 商品コード 商品名 原価 単価 ・・
01 12345 シャーペン 80 120 ・・
02 67890 消しゴム 40 50 ・・
03 99999 えんぴつ 10 15 ・・
***** 処理仕様 *****
@EXCELが起動済みかどうか調べる
┣起動済み
┃ ┗「GetObject」で起動済みのEXCELのインスタンス取得。
┗未起動
┗「CreateObject」で新規にEXCELのインスタンス取得。
こうしておくと、起動済みなのに新規にインスタンス取得するという無駄が省けますので。
A処理後、出力シート(「C:\Work\File\output.xls」←シート名固定)はクローズしないで、そのままオープンした状態にしておく
B二度連続して作成ボタンを押した場合は「C:\Work\File\output.xls」を破棄して新規に作成し直す、からです。つまり一度目のは、有無を言わさず保存しないで終了して閉じてしまいます。
言葉だけで全てをお伝えするのは難しいですね・・。
上記が「ぼくのしたい事」の全貌です。
問題となっているのは「起動済みなのに新規にインスタンス取得しないための考慮」です。
くどい様ですが、もしよろしければお知恵を拝借できれば思います。