• ベストアンサー

VBAで特定のパス(フォルダ)内のファイルの有無を調べたい

onlyromの回答

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

普通は回答1,2のようにすると思いますが、 いまのコードをあまり変えないコード。。 On Error Resume Next を使って '----------------------------------  On Error Resume Next For N = 1 To XXXXX   ●FileOpenの直後に    If Err.Number > 0 Then      Err.Clear      Exit For    End If   ◎◎通常処理◎◎ Next N '-------------------------------- 外しましたらご容赦!  

関連するQ&A

  • VBAでのファイル読込エラーの対応方法

    VBAについては、かなり素人です。 エクセルのメインシートからバックグラウンドで任意のファイルを次のようなVBAで読み込んでいます。 次の場合では、存在しないファイル名等をセットすると「ファイル読込エラー」になります。「存在しないファイルが指定されています」等を表示し、Open命令では、ストップしないようにするには、どう記述すればいか教示願います。 PathName:任意のパス名   CarentFile:任意のファイル名  Application.ScreenUpdating = False Set ObjBook = Workbooks.Open(Filename:=PathName & "\" & CarentFile)

  • エクセルVBAで共有ファイル読込時の競合を感知できますか?

    職場ネットワークで、エクセルのファイルの共有を しています。 誤ったファイル名を指定した場合は、次のVBAで メッセージを出せますが、他の人が同一ファイルを 既に開いていることを、VBAでどのように検出 すればよいのでしょうか。(当方VBA素人です) On Error Resume Next Workbooks.Open Filename:=PathName & "\" & FileName If Err.Number <> 0 Then x = MsgBox("ファイルが見つかりません", vbOKOnly) End If

  • ファイルの存在の有無を調べたい

    こんにちは. 現在VBで課題(研究?)をやっているのですが, 1.VisualBasicのOpenステートメントを使用してテキストファイルを作成し,   そこに書き込みをする 2.友達が作成したEXEをを呼び出す.   EXEでは,1で作成したテキストファイルに書かれたものを使用する ということをしたいのですが, Closeステートメントを使用して直後に2の動作に入るのですが そうするとファイルがありませとエラーがでてしまいます. でも,Closeステートメントでブレークポイントを置き, フォルダ内を見るとテキストファイルが存在していて, F5を押すとちゃんとEXEが起動するんです. 以上のエラーをなくすために For文でまわし, ファイルの存在の有無を調べ, ファイルの存在が確認された時点でFor文をBreakし, Exeを呼び出すという流れにしたいと思っています. しかし,ヘルプを見てもファイルの存在の有無を調べるステートメントや 関数が見つかりません. どうか助けてください.

  • VBAフォルダ内ファイル入出力について

    Accessで特定のフォルダ内にあるcsvファイルを全て読み込み、別のcsvファイルへ 出力するという処理を作りたいのですが、最近からVBAを始めたばかりで どうすればよいか分かりません。 とりあえず、特定のファイルをひとつ読み込み、別ファイルへ出力することはできました。 Option Compare Database Private Sub Button_Click() Dim No As Integer Dim buf No = FreeFile Open "C:\test1.csv" For Input As #1 Open "C:\test2.csv" For Output As #2 Do Until EOF(No) Line Input #1, buf Print #2, buf Loop MsgBox "処理終了" Close #1 Close #2 End Sub 読み込み対象を「特定のフォルダ内のファイル全て」 にする方法が知りたいです。 ちなみに出力先のファイルはひとつにまとめてもそれぞれ別のファイルに 出力でもどちらでも構いません。 できれば両方教えていただければ有難いです。 宜しくお願いします。

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • VBAでテキストファイルを保存

    VBAでテキストファイルを保存したいのですが、EUCで保存できません。 EUCで保存するにはどうしたらいいのでしょうか? Open myFile For Output As #myNo です。

  • ACCESS VBA のFor文のStepについて

    ACCESS VBAでFor文を使った構文を作っているのですが、Stepについて+、-は使えたのですが、乗算、割り算は使えないのでしょうか? For i = 10 to 10000 step *10 ~処理 Next i にすると"*"でコンパイルエラーが出ます。 10、100、1000、10000の処理がしたいのです。 Forでは無理なのでしょうか?

  • VBAでテキストファイルの件数を調べる方法

    Access2000のVBAで関数を使用して ファイルのパス名、ファイル名を指定すれば、 テキストファイルの件数を検索し変数に返す 関数はありませんか?     通常テキストファイルを開き1件1件カウントを 取っていけば件数を知ることは可能ですが、 数千レコードのテキストファイルが複数個存在 する場合処理スピードが遅くなるため何か 最適な関数はありませんか? よろしくお願い致します。

  • EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる

    EXCELのVBAでマクロを使ってファイルを開こうとしている際、指定したファイルが存在しなかった場合、普通はマクロのエラーが出て「ファイルが存在しません」となりますが、指定したファイルが存在しなかった場合には、メッセージボックスを表示させ、そこで処理を中止させるか、または、その無いファイルの処理は飛ばして次のファイルの処理を行う用にさせることはできるでしょうか? Sub test1() Workbooks.Open Filename:="C:\Documents and Settings\001.xls (001が存在しない場合メッセージボックスを出しマクロを中止するか次の002を開くか選ぶ) Workbooks.Open Filename:="C:\Documents and Settings\002.xls End sub

  • 指定フォルダ内のファイルオープン→別フォルダに同じファイル名のcsvとして保存 のマクロを作ろうとしています

    エクセルで、指定フォルダ内のファイルオープン→別フォルダに同じファイル名のcsvとして保存 のマクロを作ろうとしています。 現在下記のようなマクロを途中まで作成したのですが、保存の良い方法が分からず困っております。 (ファイルオープンまでは出来ているようですが、その後エラーが出てしまいます) どなたかお知恵を拝借願えませんでしょうか。 どうぞ宜しくお願い致します。 Sub Book_Open() Dim BookName As String Dim PathName As String PathName = "C:\test_htmltocsv\test\" BookName = Dir(PathName & "*.html") Do Until BookName = "" Workbooks.Open PathName & BookName BookName = Dir() ActiveWorkbook.SaveAs "Sample.xls" ←← Loop End Sub