Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5289 / 13644 ツリー ←次へ | 前へ→

【51690】ファイルを開くダイアログをキャンセル あき 07/10/1(月) 11:14 質問[未読]
【51692】Re:ファイルを開くダイアログをキャンセル じゅんじゅん 07/10/1(月) 11:55 発言[未読]
【51693】Re:ファイルを開くダイアログをキャンセル あき 07/10/1(月) 12:06 発言[未読]
【51694】Re:ファイルを開くダイアログをキャンセル じゅんじゅん 07/10/1(月) 12:25 発言[未読]
【51707】Re:ファイルを開くダイアログをキャンセル あき 07/10/1(月) 14:39 お礼[未読]

【51690】ファイルを開くダイアログをキャンセル
質問  あき  - 07/10/1(月) 11:14 -

引用なし
パスワード
   こんにちは。
コマンドボタンから
csvファイルを指定した形式で開くマクロを作っているのですが、
「ファイルを開く」ダイアログをキャンセルした場合に
フォームに戻るようにして、その際
新規workbookを開かない(または開いても何も入っていなければ閉じる)ように
したいのですが、どう修正すればよいでしょうか?
よろしくお願いします。

Private Sub open_Click()

cFile = Application.GetOpenFilename

On Error Resume Next
If Err.Number = ErrorConstants.cdlCancel Then
   フォーム1.Show
End If

 Workbooks.Add

  With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & cFile, Destination:=Range("A1"))
    .Name = " "
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = xlWindows
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 2, 2, 1, 2, 2)
    .Refresh BackgroundQuery:=False
  End With
 
End Sub

【51692】Re:ファイルを開くダイアログをキャンセル
発言  じゅんじゅん  - 07/10/1(月) 11:55 -

引用なし
パスワード
   >On Error Resume Next
>If Err.Number = ErrorConstants.cdlCancel Then
>   フォーム1.Show
    Exit Sub   '追加? 
>End If

違うかな?

【51693】Re:ファイルを開くダイアログをキャンセル
発言  あき  - 07/10/1(月) 12:06 -

引用なし
パスワード
   ▼じゅんじゅん さん:
書き込みありがとうございます。
私も質問の前に試したのですが、
Exit Subだと、キャンセルしていないときにも
ファイルを開けずに終了してしまうので
ダメなんです・・・

無理なのでしょうか・・・?

>>On Error Resume Next
>>If Err.Number = ErrorConstants.cdlCancel Then
>>   フォーム1.Show
>    Exit Sub   '追加? 
>>End If
>
>違うかな?

【51694】Re:ファイルを開くダイアログをキャンセル
発言  じゅんじゅん  - 07/10/1(月) 12:25 -

引用なし
パスワード
   ▼あき さん:
>▼じゅんじゅん さん:
>書き込みありがとうございます。
>私も質問の前に試したのですが、
>Exit Subだと、キャンセルしていないときにも
>ファイルを開けずに終了してしまうので
>ダメなんです・・・
>
>無理なのでしょうか・・・?

'Dim cfile

cfile = Application.GetOpenFilename

'On Error Resume Next
If cfile = False Then
  フォーム1.Show
  Exit Sub
End If

変数cfileの宣言がValiantであれば上記で出来そうです。

【51707】Re:ファイルを開くダイアログをキャンセル
お礼  あき  - 07/10/1(月) 14:39 -

引用なし
パスワード
   ▼じゅんじゅん さん:
おかげさまでうまくいきました。

ありがとうございました!

5289 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free