#773 | テキストファイルの一部に行を挿入して出力するプログラム例 | VBA | |
あるフォルダのすべてのテキストファイルを1つずつ順番に読み込んで、条件に一致する箇所に行を挿入したあと、別のフォルダに出力するプログラム例です。”挿入”は、条件に一致する行が出現したら、その行の直前にあらかじめ決めれたら文字列もいっしょに追加出力することで行います。 次のコードでは、
プログラム例: Sub TextFileSample3() Dim strFileName As String Dim intFilenum1 As Integer, intFilenum2 As Integer Dim strData As String Const cstrSrc = "C:\テスト\" Const cstrDst = "C:\テスト\NewFile\" 'C:\テストフォルダ内の最初の.htmlファイルを読み込む strFileName = Dir(cstrSrc & "*.html") 'フォルダ内のすべての.htmlファイルを読み込むループ Do While strFileName <> "" '入力元と出力先のファイルを開く intFilenum1 = FreeFile() Open cstrSrc & strFileName For Input As #intFilenum1 intFilenum2 = FreeFile() Open cstrDst & strFileName For Output As #intFilenum2 '入力元ファイルからすべての行を読み込むループ Do Until EOF(intFilenum1) Line Input #intFilenum1, strData '「</head>」が出てきたらその前に「<style>〜</style>」を挿入 If strData = "</head>" Then Print #intFilenum2, "<style>" Print #intFilenum2, "<!--" Print #intFilenum2, "ul li{" Print #intFilenum2, " list-style-type: none;" Print #intFilenum2, " font-weight:bold;" Print #intFilenum2, " border-left: solid 8px #b1b123;" Print #intFilenum2, " background: #fcfced;" Print #intFilenum2, " padding: 5px;" Print #intFilenum2, " margin-bottom: 5px;" Print #intFilenum2, "}" Print #intFilenum2, "-->" Print #intFilenum2, "</style>" End If '出力先に1行書き込み Print #intFilenum2, strData Loop '入力元と出力先のファイルを閉じる Close #intFilenum1: Close #intFilenum2 '次のファイルへ進む strFileName = Dir() Loop MsgBox "処理完了!", vbOKOnly + vbInformation End Sub 実行例: ■C:\テストのファイル ■C:\テスト\NewFileのファイル |
|||
|
Copyright © T'sWare All rights reserved |