Excel VBA質問箱 IV

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

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


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

【24920】入力ファイルのエラー処理に関して sum 05/5/13(金) 20:25 質問[未読]
【24921】Re:入力ファイルのエラー処理に関して ponpon 05/5/13(金) 20:43 回答[未読]
【24922】Re:入力ファイルのエラー処理に関して sum 05/5/13(金) 21:20 お礼[未読]
【24925】Re:入力ファイルのエラー処理に関して 小僧 05/5/14(土) 6:32 回答[未読]
【24976】Re:入力ファイルのエラー処理に関して sum 05/5/16(月) 15:42 お礼[未読]

【24920】入力ファイルのエラー処理に関して
質問  sum  - 05/5/13(金) 20:25 -

引用なし
パスワード
   すいません、おしえてください。

社内のみんなで使うため、入力ファイルの指定ミスが
おこる可能性があるため、このファイルが存在するかどうか
判定させたいんですが。
現状動かすと、このまま実行時エラーになってしまいます。

存在しない場合は、msgboxでメッセージをだしてエクセルを
終了させたいんですが。
                ↓存在しないファイルパス
Workbooks.Open Filename:= "C:\AAA.xls"

よろしくおねがいします。

【24921】Re:入力ファイルのエラー処理に関して
回答  ponpon  - 05/5/13(金) 20:43 -

引用なし
パスワード
   こんばんは。
エラーとラップしたらいかがでしょう。
ただエラーが起こるのはファイルがないときだけではないと思いますが・・・

Sub test()
On Error GoTo errmsg
Workbooks.Open Filename:="C:\AAA.xls"

errmsg:
MsgBox "AAA.xlsはありません。"
Application.Quit

End Sub

【24922】Re:入力ファイルのエラー処理に関して
お礼  sum  - 05/5/13(金) 21:20 -

引用なし
パスワード
   ▼ponpon さん:ありがとうございます。

早速実行してみます。


▼ponpon さん:
>こんばんは。
>エラーとラップしたらいかがでしょう。
>ただエラーが起こるのはファイルがないときだけではないと思いますが・・・
>
>Sub test()
> On Error GoTo errmsg
> Workbooks.Open Filename:="C:\AAA.xls"
>
>errmsg:
> MsgBox "AAA.xlsはありません。"
> Application.Quit
>
>End Sub

【24925】Re:入力ファイルのエラー処理に関して
回答  小僧  - 05/5/14(土) 6:32 -

引用なし
パスワード
   ▼sum さん ponpon さん:
おはようございます。
FileSystemObjectを使用したファイルチェックの例です。

Sub ファイルチェック()
Dim MyFile As String
Dim FSO As Object
 
  MyFile = "C\temp.xls"
  
  Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not (FSO.FileExists(MyFile)) Then
      MsgBox "対象ファイルなし"
    End If

  Set FSO = Nothing
End Sub

ファイルチェックでエラーは防げますが、複数の方が使われる事を前提に
入力ミスを防ぎたいのであれば作成側で入力を制限してみてはいかがでしょうか?

1)ダイアログ表示の例

Sub ファイル指定()
Dim FileName As String
  FileName = Application.GetOpenFilename _
      ("xlsファイル (*.xls), *.xls", , "ファイルの選択", , False)
  MsgBox FileName
End Sub

2)リストボックス・コンボボックスからファイルを選択してもらう

などなど…。

【24976】Re:入力ファイルのエラー処理に関して
お礼  sum  - 05/5/16(月) 15:42 -

引用なし
パスワード
   小僧 さん:

ありがとうございます。
お返事が遅くなりすいませんでした。
やりたかったことができました。

>▼sum さん ponpon さん:
>おはようございます。
>FileSystemObjectを使用したファイルチェックの例です。
>
>Sub ファイルチェック()
>Dim MyFile As String
>Dim FSO As Object
> 
>  MyFile = "C\temp.xls"
>  
>  Set FSO = CreateObject("Scripting.FileSystemObject")
>    If Not (FSO.FileExists(MyFile)) Then
>      MsgBox "対象ファイルなし"
>    End If
>
>  Set FSO = Nothing
>End Sub
>
>ファイルチェックでエラーは防げますが、複数の方が使われる事を前提に
>入力ミスを防ぎたいのであれば作成側で入力を制限してみてはいかがでしょうか?
>
>1)ダイアログ表示の例
>
>Sub ファイル指定()
>Dim FileName As String
>  FileName = Application.GetOpenFilename _
>      ("xlsファイル (*.xls), *.xls", , "ファイルの選択", , False)
>  MsgBox FileName
>End Sub
>
>2)リストボックス・コンボボックスからファイルを選択してもらう
>
>などなど…。

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