プロが教える店舗&オフィスのセキュリティ対策術

30分くらいかかるエクセルのプログラムをさせていると、その間砂時計が出てきて、他の仕事が出来なくなります。
砂時計を消して、カーソルも自由に動くようにして、他の仕事をしたいのですが、どのようにプログラムを変えたら良いのでしょうか?
ご存知の方、教えていただければ幸いです。

A 回答 (2件)

別プロセスでEXCELを起動すれば作業は可能です。



プログラムではないのですが、
作業対象のファイルは開かずにVBAを実行後、
スタート→プログラム→EXCEL
を実行し、新たにEXCELを立ち上げて、そこから作業対象ファイルを
開いて作業はできます。

どうしても同じプロセスで作業というのはできないと思います。
プログラム的には可能といえば可能ですが、
起動用のBookを作成し、VBAプログラムから別プロセスを作り出して、
終了を待たずに、VBAを終了させ、バックグラウンドにてVBS等で
実行とすれば実行しながら作業は可能と思います。

--起動用BOOKのVBAに記述
sub VBS()
Shell "WScript.exe ""C:\Run_Excel.vbs"""
end sub

--Run_Excel.vbsに記述
Set objEXCEL=CreateObject("Excel.Application")
objEXCEL.OPEN "実行したいEXCELファイル"
objEXCEL.Visible=True

objEXCEL.Run "実行したいVBAのプロシージャー名"
    • good
    • 0
この回答へのお礼

先日お礼を書いたのですが、なぜか登録できていませんでした。お礼が遅くなり失礼しました。
VBSの理解が出来ていないので、少しVBSについて調べました。
恐らくテキストファイルにプログラムを書けばよいのだろうと理解しています。もう少し調べて、試してみたいと思います。
有難う御座いました。

お礼日時:2009/11/03 13:41

officetanaka.net/excel/vba/tips/tips116.htm


DoEventsを併用する必要があるかもしれません。
    • good
    • 0
この回答へのお礼

回答、有難う御座います。まだbvsが理解できていないので、先に進んでいないのですが、もう少し勉強して利用してみようと思います。

お礼日時:2009/11/03 13:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!