記事「HTMLファイルの目次を作る 」では
生成したHTMLのソースをイミディエイトウィンドウに出力して
それをメモ帳にコピペして
HTML形式で保存したのですが
今回はファイルの保存までVBAでします。
HTML形式で保存といっても
単に拡張子を「.html」にするだけなので
実際にはテキストファイルを作って
そのファイルの拡張子を「.html」にしただけです。
テキストファイルを作るには
CreateTextFileメソッドを使います。
詳細はVBAのヘルプにあります。
上記記事中のmacro100331aで
変数MyHTMLに入れたHTMLのソースを
テキストファイルを作って書き込んで
名前を付けて保存します。
コードはこちら
HTML形式の目次のHTMLファイルを作るコー ド:Sub macro100415a() 'macro100330aの改造版 '指定したフォルダ内の 'HTMLファイルの目次を作って 'HTMLファイルを自動生成 Dim MyPath As String, MyFile As String Dim MyHTML As String Dim i As Integer MyHTML = "<HTML><BODY>" & Chr(10) 'フォルダを指定する MyPath = "C:\" 'ファイルの有無を確認 With Application.FileSearch .LookIn = MyPath 'ファイル名検索 .Filename = "*.htm*" If .Execute() > 0 Then MsgBox .FoundFiles.count & _ " 個のファイルが見つかりました。" For i = 1 To .FoundFiles.count MyHTML = MyHTML & "<A href = " & Chr(34) _ & Dir(.FoundFiles(i)) & Chr(34) & ">" _ & Dir(.FoundFiles(i)) & "</A><BR/>" & Chr(10) Next i Else MsgBox "検索条件を満たすファイルはありません。" End If End With MyHTML = MyHTML & "</BODY></HTML>" 'HTML形式のファイルを生成 Dim fs As Object, a As Object Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("c:\index.html", True) a.WriteLine (MyHTML) a.Close End Sub |
同名のファイルが存在する場合、
上書き保存されるようなのでご注意を。
HTMLファイルを自動生成できるようになったので
もっとなんかできそうな気がします。
コメント