[Access VBA] 任意のコマンドを実行するで書いた、Shell関数を使ったVBAでの任意のコマンドの実行方法は非同期なものだと知りました。

Shell関数は任意のコマンドを実行し、コマンドの終了を待たずにShell関数の呼び出し以降のステートメントが実行されていきます。

それではあまりうれしくないときがあるので、同期実行する方法を以下に示します。

この方法を使うと、呼び出したコマンドが終了してから、以降のステートメントが実行されていきます。

以下、ソースコード。
asp>>
Dim strShellCommand As String ' シェルコマンド
Dim objWSH As Object ' WSH

strShellCommand = " " ' 実行したいコマンド

' WSHを使ってコマンドを実行する
Set objWSH = CreateObject("WScript.Shell")
objWSH.Run strShellCommand, vbNormalFocus, True ' 第3引数がTrueなら、同期実行
Set objWSH = Nothing
<<asp

ソースを見るとなんとなくわかるかもしれませんが、WSHを使います。

第1引数は、コマンドを入れてあげます。

第2引数は、WindowStyleを入れてあげます。ここに入る値は、Shell関数のと同じです。

第3引数は、同期実行ならTrue、非同期実行ならFalseを入れてあげます。

See Also

posted by y_tsuda y_tsuda on Fri 9 Jan 2009 at 19:25 with 0 comments
Contents rssrss
Xperiaにインストールして1週間生き残ったアプリたち
gem serverをIE8から見るとヒドイことになる現象を解決
gem serverをIE8から見るとヒドイことに
Twitter, Account Suspended
GentooにRuby1.9をインストールした
GentooにScalaをインストールしてみた
多面ディスプレイ環境を手作りしてみた
lower-camel caseな文字列とアンダースコア区切りな文字列の相互変換をRubyで
topコマンドでのCPUコア毎の表示
Fedora11 (on VirtualBox) 速効レビュー
Tags
AccessVBA
Comments rssrss
Aleksey Aleksey: The uname check is only due to a somewhat sloppy t... 02/02 07:03
Yu Tsuda Yu Tsuda: あぁ、そうですね、、syncすると戻ってしまいますね・・・。 ご指摘ありがとうございます!! 07/11 15:38
ursm ursm: /usr/portage 以下のファイルは更新のたび元に戻ってしまうので、/etc/portage/... 07/11 13:46
Yu Tsuda Yu Tsuda: 見た目だけでも、わざわざGentooをこういうリストに入れてるのがすごいなぁと思ったりしたのです(笑... 03/31 19:49
Leonard Chin (レオ) Leonard Chin (レオ): ただし、VirtualBoxで「Gentoo」などを選択しても、別にどのOSを入れても大丈夫だ。あく... 03/31 13:00
Yu Tsuda Yu Tsuda: この機能、結構便利なんですよねー。 またEmacsで便利な機能を見つけたらブログに書きまーす。 11/27 23:46
satoko satoko: 知らんかった!emacs派なのでうれしい。thanks! 11/27 12:08
satoko satoko: 他の記事も御苦労さまです!大変だけど、後で報われる(はず!)のでがんばってくださいませっ あとあと... 10/23 00:18