トップ > スキル : アプリケーション > VBA for Access > 応用編(組み込み関数)

VBA_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 条件式を作り、成立した条件に対応する値を返す。複数の条件が指定できる