2009年10月25日

MS-AccessのVBAでファイルを開くダイアログを表示させたい

MS-AccessのVBAでファイルを開くダイアログを利用する場合、通常はあまり拡張性のない命令を利用することになります。
検索してみると、MS-Accessでは非公開命令により汎用的なファイルを開くためのダイアログを表示させる機能があります。

いろいろな方が実行方法を見せてくれていますが、そのまま貼り付けて利用可能な形でまとめてみました。

' ファイルダイアログを表示し、ファイルを選択させる
Function ShowOpenFileDialog(Optional ByVal appTitle As String, Optional ByVal dialogTitle As String, Optional ByVal initialFileName As String, Optional ByVal initialDir As String, Optional ByVal filter As String, Optional ByVal filterIndex As Integer, Optional ByVal openType As Boolean) As String

Const ENABLE_WIZHOOK = 51488399
Const DISABLE_WIZHOOK = 0

Dim fileName As String
Dim result As Integer

On Error GoTo Err

fileName = initialFileName

If filter = "" Then
filter = "すべてのファイル (*.*)|*.*"
End If

WizHook.Key = ENABLE_WIZHOOK
result = WizHook.GetFileName( _
0, appTitle, dialogTitle, "", fileName, initialDir, _
filter, _
filterIndex, 0, 0, openType _
)
WizHook.Key = DISABLE_WIZHOOK

GoTo Finally

Err:
fileName = ""
MsgBox "エラーが発生しました。" & vbCrLf & vbCrLf & "エラーコード:" & Err.Number & vbCrLf & vbCrLf & Err.Description

Finally:
ShowOpenFileDialog = fileName

End Function

result変数を削除しても良かったのですが、一応デバッグしやすくするために残してあります。不要な方は削除してください。
posted by Kiruahさん at 11:29| Comment(0) | TrackBack(0) | ノウハウ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/33176738
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック