- 締切済み
VBAでフォルダ内のhtmlファイルを読み込みたい
フォルダ内のhtmlファイルをテキストで読み込んで、 一部修正を行いたいと思っています。 いろいろ調べて、ExcelVBAやAccessVBAで試してみたのですが、 フォルダ内のファイルを認識しないのか、読み込んでくれませんでした。 バージョンは2003です。 良い方法があれば、教えていただけると大変助かります。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
フォルダ内のhtmlファイルをテキストで読み込んで、 一部修正を行いたいと思っています。 いろいろ調べて、ExcelVBAやAccessVBAで試してみたのですが、 フォルダ内のファイルを認識しないのか、読み込んでくれませんでした。 バージョンは2003です。 良い方法があれば、教えていただけると大変助かります。 よろしくお願いいたします。
お礼
早速ご回答いただき、ありがとうございます。 ExcelVBAを使ったことがないため、WEB上の情報をコピーして動かしていました。 いただいたサンプルで再度確認してみます。 後日、また報告させていただきます。
補足
先日はありがとうございました。 以下のように作り直してみました。 iFilename.Countがカウントされず、エラーになってしまいます。 「Microsoft Scripting Runtime」の参照設定もしてみたのですが、だめでした。 それから、Do ~ Loopもエラーになってしまうので、現在、コメントにしてあります。 お手すきの時に助けていただけると嬉しいです。 自分でも引き続き、調べながら、テストしてみます。 *** Private Sub Button1_Click() Dim msg As String Dim FolderName As String Dim Ret As String Dim Buff As String Dim FNum As Integer Dim i As Long Dim sFilename As String msg = "検索するフォルダのパスを指定してください" FolderName = Application.InputBox _ (msg, "テキスト情報取得", "d:\", Type:=2) sFilename = Dir(FolderName & "\*.htm", vbNormal) 'InputBoxがキャンセル、空白で返された場合のエラー処理 'Do '★フォルダ名取得 If FolderName = "" Or FolderName = "False" Then msg = "キャンセルされました" Exit Sub End If ' '★ディレクトリ確認 ' If Ret = "" Then ' msg = "該当フォルダがありません" ' Exit Do ' End If '★ファイル検索 With Application.FileSearch '中略 Set iFilename = .FoundFiles If iFilename.Count = 0 Then msg = "ファイルが見つかりません" Exit Sub End If '★各ファイルの処理 FNum = FreeFile 'ファイル番号確保 i = 1 For i = 1 To .FoundFiles.Count 'テキストファイルから一行目を取得 Open .FoundFiles(i) For Input As FNum Line Input #FNum, Buff If FNum = "http://system06/" Then ' "http://system06/" = "\\system04\共有\KMP\" Close FNum End If Next i 'Loop If メッセージ <> "" Then MsgBox メッセージ End If End With End Sub