燈明ブログ

現状は小池啓仁の応援ブログ

VB6版タグ挿入スクリプト

たとえば、フォルダ内にqa0001.htmからqa7000.htmの7000個のhtmファイルがあったとします。
とある事情で、bodyタグの直後にscriptタグを追加したい場合、手作業で追加するのはとんでもなく大変です。
そこで、以下のようなプログラムをVB6で組んで見ました。


以下のプログラムをそのフォルダ内で実行すると一発で7000個のファイルを更新することが出来ます。
Dir関数の引数やLike演算子オペランドをカスタマイズして、何かに流用してもらえれば、幸いです。
とにかく、フォルダ内の複数のファイルに対しいて処理するときの雛型として使えると思います。

'---------------------------------------------------------------------------------------------
'[VB6版タグ挿入スクリプト]
'カレントフォルダにあるq*.htmにマッチしたファイルで、その内容のbodyタグの直後にscriptタグを追加する。
'
'---------------------------------------------------------------------------------------------
Option Explicit
Private Sub Main()
Dim vntP As Variant
Dim strWk As String

    'カレントフォルダにあるq*.htmでマッチしたファイルすべて処理する。
    'ちなみに『*』は、ワイルドカード。
    vntP = Dir("q*htm", vbNormal)
    Do While vntP <> ""

        Open "tmp.log" For Output As #2
        Open vntP For Input As #1
        Do While Not EOF(1)
            Line Input #1, strWk
            Print #2, strWk
            
            '文字列の中をLike検索する。
            'ちなみに『*』は、ワイルドカード。
            If strWk Like "*" Then
               Print #2, ""
            End If
        
        Loop
        Close #1
        Close #2
        
        FileCopy "tmp.log", vntP
        Kill "tmp.log"
        vntP = Dir

    Loop
End Sub