Microsoft Access Club >初心者講座 >Mail管理ソフト >このページ >次頁 - 前項


システム構成_モジュール-4:Mail管理ソフト06



ここでは、使用する標準モジュールの内、フォルダーを開くWindowsAPIをModule4に収載しています。

サンプル図

下図のようなダイアログが開き、フォルダーを選択します。サンプル図は、WinXP+Access2003の組み合わせです。


フォルダーを開く

Type BROWSEINFO

hwndOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long

End Type

Declare Function SHBrowseForFolder Lib "SHELL32" (lpbi As BROWSEINFO) As Long
Declare Function SHGetPathFromIDList Lib "SHELL32" (ByVal pIDL As Long, _
                                            ByVal pszPath As String) As Long

Public Function GetBrowseFolder(strmsg As String) As String

'フォルダ参照ダイアログを表示し選択されたフォルダ名を返します。
'引数 strMsg : ダイアログに表示するメッセージ(例:"フォルダを指定して下さい")
'[キャンセル]ボタンやESCキーが押された場合は長さゼロ("")の文字列を返します。
Dim udtBrowseInfo As BROWSEINFO
Const cMaxPathLen = 256
Dim strBuffer As String * cMaxPathLen
Dim strPathBuffer As String * cMaxPathLen
Dim strRetPath As String
Dim lngRet As Long

'BROWSEINFO構造体を定義します。
With udtBrowseInfo
    .hwndOwner = Application.hWndAccessApp
    .pidlRoot = 0
    .pszDisplayName = strBuffer
    .lpszTitle = strmsg & vbNullChar
    .ulFlags = 1
    .lpfn = 0
    .lParam = 0
    .iImage = 0
End With

GetBrowseFolder = "" '返り値の初期設定を行います。

lngRet = SHBrowseForFolder(udtBrowseInfo) 'フォルダ参照ダイアログを表示します。

If lngRet <> 0 Then 'API関数の返り値をチェックします。
    '返り値にフォルダ名をセットします。
    If SHGetPathFromIDList(lngRet, strPathBuffer) <> 0 Then
        GetBrowseFolder = Left(strPathBuffer, InStr(strPathBuffer, vbNullChar) - 1)
    End If

End If

End Function

Function GetTransfer()

    On Error GoTo ErrorHandler  'エラー処理ルーチンを実行します。

    Dim strFolder As String

    'フォルダの参照ダイアログを表示します。
    strFolder = GetBrowseFolder("エクスポートを行うフォルダを指定して下さい。")

    If Len(strFolder) > 0 Then

        If Right$(strFolder, 1) <> "\" Then 'フォルダが選択された場合。
            strFolder = strFolder & "\"
        End If

        GetTransfer = strFolder
    
    Else

        MsgBox "キャンセルされました。"
        End 'キャンセルされたときはアクションなし。

    End If

    Exit Function

ErrorHandler:

    MsgBox "予期せぬエラーが発生しました" & Chr(13) & _
           "エラーナンバー:" & Err.Number & _
            Chr(13) & "エラー内容:" & Err.Description, vbOKOnly
    Exit Function

End Function
 
解説
  1. 動作可能なOSはWin95〜、ソフトはAccess97〜です。

 

ページの先頭へ 前ページへ戻る

 


システム構成_モジュール-4:Mail管理ソフト06


-Microsoft Access Club-

アメリカ合衆国の大手データセンターのアダルト対応可能なリーズナブル価格設定の専用・共有レンタルサーバーをご提供しています。
アメリカ合衆国の大手データセンターにサーバー機器を設置。
アダルト対応可能な専用・共有レンタルサーバーを提供。