Excel VBA質問箱 IV

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

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


58261 / 76732 ←次へ | 前へ→

【23202】Re:On error構文で
発言  kazu  - 05/3/16(水) 8:59 -

引用なし
パスワード
   ▼う さん:

おはようございます。

On Errorを使うよりもファイルが存在するか否かを確認して
ファイルが無ければTodayフォルダをパスに割り当てた方がスマートかと思います。

P = "V:\" & U.Range("B3") & "\UNAUTH.DAT"
On Error GoTo TODAYFOLDER
Workbooks.OpenText P, STARTROW:=2, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar:=""



P = "V:\" & U.Range("B3") & "\UNAUTH.DAT"
If Dir("V:\" & U.Range("B3") & "\UNAUTH.DAT") = "" Then
  P = "V:\" & FldNm & "\UNAUTH.DAT"
End If
Workbooks.OpenText P, STARTROW:=2, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar:=""


又、
On Error GoTo TODAYFOLDER はTODAYFOLDER という行ラベルにジャンプする
という意味なので、TODAYFOLDER という行ラベルが無いとエラーになってしまいますよ。

On Errorで書きたいならこんな感じでいいのでは・・・。と思います。

On Error Resume Next
P = "V:\" & U.Range("B3") & "\UNAUTH.DAT"

Workbooks.OpenText P, STARTROW:=2, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar:=""

If Err Then
  P = "V:\" & FldNm & "\UNAUTH.DAT"
  Workbooks.OpenText P, STARTROW:=2, _
  DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
  Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar:=""
  On Error GoTo 0
  Err.Clear
End If

3 hits

【23201】On error構文で 05/3/16(水) 8:48 質問
【23202】Re:On error構文で kazu 05/3/16(水) 8:59 発言
【23204】Re:On error構文で 05/3/16(水) 9:12 お礼

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