以前のリビジョンの文書です
1.htmlファイルの任意の場所にvbaで作成したタグを埋め込む方法
まずは任意のタグを埋め込むhtmlファイルのサンプルを作成
<html> <head> <title>エクセル マクロ テスト</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> </head> <body> <h1>Fool For the City</h1> <hr> <br> <!---Target--> <hr> <div align="right"> Media Kiss Lab </div> </body> </html>
ここでは<!—Target–>をターゲットとする。
次にエクセルファイルを開いてvbaを作成する。
CommandButtonを1つ配置して、それをクリックしたら実行するプログラムにする。
Private Sub CommandButton1_Click() '変数の宣言 Dim xlAPP As Application Dim SFILE As Variant Dim WFILE As Variant Dim intFFIN As Integer Dim intFFOUT As Integer Dim strREC As String Dim CNT As Integer '挿入用HTMLを作成 'ここは既に出来てると思うけど・・・ファイルに書きだしてるのかな? 'vbNewLineは改行の意味なので適当にHTMLを生成してくださいwww 'SHTMLという変数に差し込みたいHTMLを全て入れるのがポイントね CNT = 7 SHTML = SHTML & "<table>" & vbNewLine Do While Cells(CNT, 3) <> "" SHTML = SHTML & " <tr><td>" & vbNewLine SHTML = SHTML & " " & Cells(CNT, 3) & vbNewLine SHTML = SHTML & " </td></tr>" & vbNewLine CNT = CNT + 1 Loop SHTML = SHTML & "</table>" 'SHTML = "<font size=7>" & vbNewLine & Cells(7, 3) & vbNewLine & "</font>" '読込む用のHTMLファイルを選択する '読込むHTMLが固定の場合はSFILEにPathを書いてね SFILE = _ Application.GetOpenFilename( _ Filefilter:="HTML(*.html),すべてのファイル(*.*)" _ , FilterIndex:=1 _ , Title:="元ファイルを選択" _ , MultiSelect:=False _ ) If SFILE = False Then Exit Sub End If '書き込む用のHTMLファイルを選択する '初期のファイル名はmarge.htmlになってるので 'ここは適当に変更してみてね Set xlAPP = Application xlAPP.StatusBar = "保存ファイル選択" WFILE = _ xlAPP.GetSaveAsFilename( _ InitialFileName:="marge.html", _ Filefilter:="HTML(*.html),すべて(*.*)" _ , Title:="保存ファイル選択" _ ) If WFILE = False Then Exit Sub End If '読み込み用HTMLのオープン intFFIN = FreeFile Open SFILE For Input As #intFFIN '書き込み用HTMLのオープン intFFOUT = FreeFile Open WFILE For Output As #intFFOUT '読み込み用ファイルを1行づつ読込んでる Do Until EOF(intFFIN) Line Input #intFFIN, strREC '差換える文字列を発見したらSHTMLで置換する '差換える文字列は適当に変更してね strREC = Replace(strREC, "<!---Target-->", SHTML) 'ファイルに書き出す Print #intFFOUT, strREC Loop '処理が終わった後は閉じますねwww Close #intFFIN Close #intFFOUT xlAPP.StatusBar = False MsgBox ("処理が完了したよ(^^)") End Sub