トップ > スキル : アプリケーション > VBA for Access > 応用編(組み込み関数)
その他のVBAの組み込み関数を説明します。
Shell関数
実行可能なプログラムを実行し、実行が完了するとプログラムのタスクIDを示すバリアント型の値を返します。プログラム実行に問題があり、エラーが発生した場合は0を返します。
Shell関数
【書式】 Shell(プログラム名[,ウィンドウの状態])
指定したプログラムを実行します。実行するプログラムをどのような状態(ウィンドウの最大化など)で表示できます。省略された場合は最小化表示となります。
ウィンドウの状態 | 定数 | 値 |
---|---|---|
フォーカスを持ち、非表示されるウィンドウ | VbHide | 0 |
フォーカスを持ち、元のサイズと位置に復元 | vbNormalFocus | 1 |
フォーカスを持ち、最小化表示されるウィドウ | vbMinimizedFocus | 2 |
フォーカスを持ち、最大化表示されるウィンドウ | vbMaximizedFocus | 3 |
フォーカスを持たず、元のサイズと位置に復元 | vbNormalNoFocus | 4 |
フォーカスを持たず、最小化表示されるウィンドウ | vbMinimizedNoFocus | 6 |
Windowsのメモ帳を通常のサイズで起動するには、以下のような記述をします。
(例)
Sub shell_kansuu() Dim メモ帳 As Integer メモ帳 = Shell("notepad.exe", 1) End Sub
メモ帳が起動します。

また、以下のような記述を行うと、エラートラップでエラー時のメッセージやメモ帳が開かれた時にすでに、文字列が入力された状態を可能にできます。
(例)
Sub shell_kansuu() Dim メモ帳 As Variant On Error GoTo err_rtn メモ帳 = Shell("notepad.exe", 1) SendKeys "ACCESS演習", True Exit Sub err_rtn: MsgBox "メモ帳が起動できませんでした" End Sub
IIf関数
条件式を作り、その条件が成立した場合の値を返します。作成できる条件は1つのみです。
IIf関数
【書式】 IIf(条件式, 条件式が成立した時の値,
条件式が成立しない時の値)
値が100以上であればOKと表示し、そうでなければNGと表示するには以下のように記述します。
(例)
Sub iif_kansuu() Dim Atai As Integer Dim Hantei As String Atai = 200 Hantei = IIf(Atai > 100, "OK", "NG") MsgBox Hantei End Sub
変数には200が格納されていたので、OKのメッセージが表示されます。

その他の関数
関数名 | 説明 |
---|---|
CallByName | オブジェクトに対するメソッドを実行、プロパティ値の取得や設定をする |
Choose | 引数リストから指定した番号の値を返す |
CreateObject | ActiveXオブジェクトへの参照を作成して返す |
DoEvents | 実行中のプログラムを制御していた処理に割り込みを入れる |
Switch | 条件式を作り、成立した条件に対応する値を返す。複数の条件が指定できる |