Excel VBA質問箱 IV

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

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


11255 / 13645 ツリー ←次へ | 前へ→

【17173】ファイルを開くのに失敗したときに指定のメッセージをだしたい なな 04/8/24(火) 16:10 質問[未読]
【17177】Re:ファイルを開くのに失敗したときに指定... Jaka 04/8/24(火) 16:40 回答[未読]
【17183】Re:ファイルを開くのに失敗したときに指定... なな 04/8/24(火) 17:16 質問[未読]
【17184】Re:ファイルを開くのに失敗したときに指定... Asaki 04/8/24(火) 17:18 発言[未読]
【17185】できました!ありがとうございます。 なな 04/8/24(火) 17:21 お礼[未読]
【17186】Re:ファイルを開くのに失敗したときに指定... BOTTA 04/8/24(火) 17:27 回答[未読]

【17173】ファイルを開くのに失敗したときに指定の...
質問  なな  - 04/8/24(火) 16:10 -

引用なし
パスワード
   マクロでファイルを開くのに失敗したときに
指定のメッセージを表示させたいのですが、どのように記述したらいいのでしょうか?


ファイルオープン
Workbooks.Open Filename:="C:\テーブル.CSV"

成功したらそのまま次の処理
失敗したらメッセージ表示をしてマクロを終了

【17177】Re:ファイルを開くのに失敗したときに指...
回答  Jaka  - 04/8/24(火) 16:40 -

引用なし
パスワード
   こんにちは。

失敗の意味が良く解りませんが、
単純にファイルが無かったらと言う意味なら。

If Dir(ThisWorkbook.path & "\" & "TEST.CSV") = "" Then
  msgbox ThisWorkbook.path & "\" & "TEST.CSV" & "がありません。"
  Exit Sub
End if

また、開くのが遅いということでしたら、拡張子をTxtにかえ、かつ全部文字列で読み込むとか。
[#16438]

【17183】Re:ファイルを開くのに失敗したときに指...
質問  なな  - 04/8/24(火) 17:16 -

引用なし
パスワード
   返信ありがとうございます。
下の方法でやってみたのですが、ファイルオープンのコマンド

Workbooks.Open Filename:=ThisWorkbook.path & "\TEST.CSV"

で、ファイルがないと
デバックがはいってしまいます。
デバックにならずに進む方法とかあるんでしょうか??


▼Jaka さん:
>こんにちは。
>
>失敗の意味が良く解りませんが、
>単純にファイルが無かったらと言う意味なら。
>
>If Dir(ThisWorkbook.path & "\" & "TEST.CSV") = "" Then
>  msgbox ThisWorkbook.path & "\" & "TEST.CSV" & "がありません。"
>  Exit Sub
>End if
>
>また、開くのが遅いということでしたら、拡張子をTxtにかえ、かつ全部文字列で読み込むとか。
>[#16438]

【17184】Re:ファイルを開くのに失敗したときに指...
発言  Asaki  - 04/8/24(火) 17:18 -

引用なし
パスワード
   こんにちは。

Jaka さんのご回答は、
開く前にチェックしましょう
ってことです。

あとは、エラートラップをうまく使うか、でしょうか。

【17185】できました!ありがとうございます。
お礼  なな  - 04/8/24(火) 17:21 -

引用なし
パスワード
   JAKAさん、Asakiさん、どーもありがとうございます。
前にチェックしたらできました!!

本当にたすかりました!

【17186】Re:ファイルを開くのに失敗したときに指...
回答  BOTTA  - 04/8/24(火) 17:27 -

引用なし
パスワード
   ななさん、こんばんは。Jakaさん、どうも。

エラートラップの簡単な例、
Sub aaa()
  On Error GoTo ErrHdl
    Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "TEST.CSV"
  On Error GoTo 0

  MsgBox "処理1"
  MsgBox "処理2"
  MsgBox "処理3"

  Exit Sub
ErrHdl:
  MsgBox "エラーが発生しました。" & vbCrLf & "処理を終了します。", 16
End Sub

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