こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VisualBasic6.0でGetObject関数を使用しExcel

VisualBasic6.0でGetObject関数を使用しExcelのマクロを実行させようとしています。

(1) Set AppXL = CreateObject("Excel.Application")
(2) AppXL.Application.Visible = True
(3) Set MyXL = GetObject("C:\伝票.xls")

マクロの実行はできたのですが、ユーザーが別のエクセルファイルを
印刷プレビューで表示したまま、VBのプログラムを実行すると(3)で
「コンポーネントを使用できません」とメッセージが表示されてしまいます。

***コンポーネントを使用できません******************************

他のアプリケーションがサーバーを使用しているため、この操作を完了
できません。操作を続けるには、[切り替え]を選択して、他の
アプリケーションを終了させてください。

[切り替え][再試行]

***********************************************************

コンポーネントエラーが発生するとエラーメッセージ「印刷プレビューを
閉じてください」が表示されるようにしたいのですが、方法がわからず
困っています。
(On Error GoTo を使ってもダメでした。)

VisualBasic6.0のプログラムで何か良い方法があれば教えてください。

投稿日時 - 2010-08-31 16:50:10

QNo.6149081

困ってます

質問者が選んだベストアンサー

> (1) Set AppXL = CreateObject("Excel.Application")
> (2) AppXL.Application.Visible = True
> (3) Set MyXL = GetObject("C:\伝票.xls")

(1)~(2)は結構ですが、これと(3)は相容れません。
AppXL.Workbooks.Open("C:\伝票.xls")

投稿日時 - 2010-08-31 22:36:14

お礼

早速「AppXL.Workbooks.Open」を使用したところ
別のExcelファイルが印刷プレビューで開いていても
マクロを実行することができるようになりました!!

ご回答ありがとうございました。

投稿日時 - 2010-09-01 13:26:12

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)