2017-04-20 10 views
0

私は標準のWorkbooks.OpenText関数を使用していますが、キャンセルを押すと、私のコードにデバッグしてしまいます。代わりに私はエラーハンドラが必要なので、私がキャンセルを押すと、 "No File Selected"というエラーボックスが表示されます。私はこのOpenTextがキャンセルされたことを認識するフックをどのように入れるのか把握できませんでした。WorkBooks.OpenTextコマンドに関連するエラー処理

Set myfile = Application.FileDialog(msoFileDialogFolderPicker) 
Workbooks.OpenText Filename:=myfile, DataType:=xlDelimited, 
Origin:=xlWindows, Other:=True, OtherChar:="," 
+0

を助け、私は理解していない "...私はキャンセル打ったとき、それは...私のコードにデバッグします"。 'OpenText'を使うとファイルが開き、取り消す機会はありません。 – xidgel

+0

oops; FileDialogを開いていた前の行を追加しました。基本的には、標準のExcelファイルダイアログ中に何が起こっているのですか?私がキャンセルを押すと、プログラムにデバッグされます。ファイルダイアログの「ファイルを開く」Excelオプションでキャンセルしたときにエラーメッセージが表示されるようにしたい。 – illmatic

答えて

0

あなたがこれを行うことができます:

Sub MySub() 
    Dim fd As FileDialog 
    Dim vrtSelectedItem As Variant 

    Set fd = Application.FileDialog(msoFileDialogFilePicker) 

    With fd 
     ' TODO configure file dialog 
     ' .AllowMultiSelect = ??? 
     ' .Filters = ??? 
     ' ... 

     If .Show = -1 Then 
      ' TODO code to handle FileDialog OK button 
      ' Depending on settings user may be able to select multiple items 
      For Each vrtSelectedItem in .SelectedItems 
       Debug.Print vrtSelectedItem 
       ' Workbooks.OpenText Filename:=vrtSelectedItem, ... 
      Next vrtSelectedItem 
     Else 
      ' TODO code to handle FileDialog Cancel button 
      Debug.Print "user hit cancel" 
     End If 
    End With 

    Set fd = Nothing 
End Sub 

希望

関連する問題