dポイントプレゼントキャンペーン実施中!

最下層にあるファイルのファイル名を取得したく下記の様なプログラミングを組んでみたところ、
「ファイル名または番号が不正です」というエラーが表示されてしまいます。比較演算子などをいじって
試行錯誤してみましたが、どうしてもできません。どのように修正すればよいのでしょうか。ご回答よろしくお願いいたします。

http://syarecowa.moo.jpというサイトのmenu001.htmの下にある"1/3ケタの数字.htm"のファイル名を全て取得したいと考えています。

現在組めているコードは下記の通りです

Dim cnt As Long
----------------
Sub Macro5(Path As String)
   Dim buf As String, f As Object

   buf = Dir(Path & "/#/###.htm")  ★★ここでエラーが生じていしまいます★★
   Do While buf <> ""
   cnt = cnt + 1
   Cells(cnt, 1) = buf
   buf = Dir()
   Loop

   With CreateObject("Scripting.FileSystemObject")
    For Each f In .GetFolder(Path).SubFolders
   Call Macro5(f.Path)
   Next f
   End With
End Sub
--------------------------

Sub Macro6()

Dim URL As String 'ファイルパス
Dim IE As Object 'オブジェクト
Dim Myhtml As Variant 'HTMLタグデータ

   'インターネットに接続
   Set IE = CreateObject("InternetExplorer.Application")
   With IE
   .Navigate "http://syarecowa.moo.jp/menu001.htm"
   .Visible = Flase
   Do While .Busy = True
   DoEvents
   Loop

   'Macro5呼び出し
    cnt = 0
    Call Macro5("http://syarecowa.moo.jp/menu001.htm")
   End With
   End Sub

A 回答 (1件)

そのページのリンク先を取得できればよいという事でしょうか。


Sub try()
  Dim x As Object
  With CreateObject("InternetExplorer.Application")
    .Navigate "http://syarecowa.moo.jp/menu001.htm"
    .Visible = True 'False
    Do While .Busy Or (.ReadyState <> 4)
      DoEvents
    Loop
    For Each x In .document.Links
      Debug.Print x.Href
    Next
    .Quit
  End With
End Sub
Dir関数は使わないです。
    • good
    • 0
この回答へのお礼

end-u様

ご回答いただきありがとうございます。
達成したいと思っていることをこのようにスマートにコーディングできるのかと、
大変驚いております。

私事ではございますが、大学院修士課程でネット上にの怖い話を研究しておりまして...
そこでエクセルに怖い話を全て落とし込めないかと思い、全く経験したことのない
VBAに挑戦している次第です。

研究内容が民俗学ということもあり、周囲にはプログラミングの相談をできる人が
全くいない状況ですので、end-u様のようにご教授していただける方がいらして、大変
ありがたく感じております。

あらためて御礼申し上げます。

お礼日時:2012/08/06 23:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!