人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBSの質問です
<table>
<tr><td>1</td><td>hoge</td></tr>
<tr><td>2</td><td>hoge</td></tr>
<tr><td>1</td><td>hoge</td></tr>
<tr><td>2</td><td>hoge</td></tr>
<tr><td>3</td><td>hoge</td></tr>
<tr><td>1</td><td>hoge</td></tr>
<tr><td>2</td><td>hoge</td></tr>
<tr><td>3</td><td>hoge</td></tr>
<tr><td>1</td><td>hoge</td></tr>
<tr><td>2</td><td>hoge</td></tr>
</table>
というような表が入ったhtmlファイルを
<table>
<tr><td>1</td><td>1</td><td>hoge</td></tr>
<tr><td>1</td><td>2</td><td>hoge</td></tr>
<tr><td>2</td><td>1</td><td>hoge</td></tr>
<tr><td>2</td><td>2</td><td>hoge</td></tr>
<tr><td>2</td><td>3</td><td>hoge</td></tr>
<tr><td>3</td><td>1</td><td>hoge</td></tr>
<tr><td>3</td><td>2</td><td>hoge</td></tr>
<tr><td>3</td><td>3</td><td>hoge</td></tr>
<tr><td>4</td><td>1</td><td>hoge</td></tr>
<tr><td>4</td><td>2</td><td>hoge</td></tr>
</table>
というように、1という数字が現れたら自動的に数字が増やして追加していってくれるコードを教えて下さい

●質問者: takanii
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●250ポイント ベストアンサー
Dim objFile  ' 対象ファイル
Dim objFile2 ' 出力ファイル
Dim objFSO ' ファイルシステムオブジェクト
Dim k

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("test2.html")
Set objFile2 = objFSO.CreateTextFile("test3.html")
k=0
Do Until objFile.AtEndOfLine = True
strText = objFile.ReadLine
if instr(strText,"<tr>") > 0 then
if instr(strText,"<td>1</td>") > 0 then
k=k+1
end if
strText=replace(strText,"<tr>","<tr><td>" & FormatNumber(k, 0, 0, 0, 0) & "</td>")
end if
objFile2.WriteLine (strText)
Loop

objFile.Close
objFile2.Close


元と出力先のファイル名を変更して使用してみてください。

Set objFile = objFSO.OpenTextFile("test2.html")
Set objFile2 = objFSO.CreateTextFile("test3.html")


takaniiさんのコメント
ありがとうございました!!

2 ● cx20
●250ポイント

VBScript にて ADO というライブラリを使用したサンプルです。
HTML のテーブルを SQL のテーブルに見立てて読み込んでいます。

' File : ConvTable.vbs
' Usage : CScript ConvTable.vbs //Nologo > table2.html
Option Explicit

Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\table.html;Extended Properties=""HTML Import;HDR=No;"""

Dim rs
Set rs = cn.Execute("SELECT F1, F2 FROM [Table]")
Dim n
n = 0
WScript.Echo "<table>"
While Not rs.BOF And Not rs.EOF
 If rs("F1") = 1 Then
 n = n + 1
 End If
 WScript.Echo "<tr><td>" & n & "</td><td>" & rs("F1") & "</td><td>" & rs("F2") & "</td></tr>"
 rs.MoveNext
Wend
WScript.Echo "</table>"

使用方法

CScript ConvTable.vbs //Nologo > table2.html


takaniiさんのコメント
ありがとうございました!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ