投稿者 四月一日(ワタヌキ)  (社会人) 投稿日時 2010/1/13 07:49:31
みなさんありがとうございます。

ソースを掲載しますので、またよろしくお願いします。

=======================================
'特殊フォルダ取得
Public Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" _
 (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFoder As Long, ByVal fCreate As Long) As Long
Public Const CSIDL_DESKTOP = &H0
Public Const CSIDL_DESKTOPDIRECTORY = &H10


Private Sub cmdRegist_Click()

    Dim sTemp As String
    Dim sRet  As String      
    
    On Error GoTo CANCEL_PROC
    cmnDlg.CancelError = True
    cmnDlg.Filter = "全てのファイル(*.*)|*.*"
   
   If デフォルトパスが設定されているか? Then
        sTemp = String(256, Chr(0))
        Call SHGetSpecialFolderPath(Me.hwnd, sTemp, CSIDL_DESKTOP, 0)
    Else
        sTemp = デフォルトパス
    End If
    
  cmnDlg.InitDir = Trim$(sTemp)
    'ファイル選択ダイアログ表示
    cmnDlg.ShowOpen  <-----------ここでエラーと思います???

    msFileName = cmnDlg.FileName
    
    'キャンセルボタンを押したとき
    If Trim(msFileName) = "" Then
        Exit Sub
    End If
    
    'ファイルが存在しないとき処理を終了する
    If Dir(msFileName) = "" Then
        sRet = MsgBox("該当ファイルが存在しません。", vbCritical)  
        Exit Sub
    End If

  --- 省略 ----
    
    Exit Sub

CANCEL_PROC:
    
End Sub
===============================================
以上です。

ファイル選択ダイアログが表示する前に
エラーになってしまいます。