dポイントプレゼントキャンペーン実施中!

こんにちは。
ポップアップのHTMLを作成していますが、
内容の一部(表示するjpgのファイル番号部分、商品番号、ファイル名)を
変更したページを数百ページ作らなければなりません。
変更する箇所は全て同一の番号なので、0101~0300と指定すると
0101.html、0102.html・・・0299.html、0300.htmlまでの200ページを作成してくれるような
ツールが無いかと思っています。
ご存じの方がいらっしゃいましたら、是非ご照会ください。
宜しくお願い致します。

A 回答 (5件)

<html><head></head>


<body>
<h1><<ItemName>></h1>
<a href="<<ImageFileName>>?code=<<ItemCode>>"><<ItemName>></a>
</body>
</html>

のような雛形 HTML ページを作成します。
ファイル名は template.html とします
商品番号を入れたいところには <<ItemName>> という
文字列を入れています。さらに、

ImageFileName,ItemCode,ItemName
0101.jpg,code0101,商品A
0102.jpg,code0102,商品B
0103.jpg,code0103,商品C

上記のようなファイルを data.csv という名前で
作成してください。1行目は template.html にある
<<ItemName>> と関係があります。その列には
0101 から順に商品名を入れます。

Set Fs = WScript.CreateObject("Scripting.FileSystemObject")

Set oCSV = Fs.OpenTextFile("data.csv", 1)
arrayTitle = Split(oCSV.ReadLine, ",")

For i = 101 To 103
Set oTs1 = Fs.OpenTextFile("template.html", 1)
Set oTs2 = Fs.CreateTextFile(Right("0000" & i,4) & ".html",True) 'ファイルを作成する
arrayReplace = Split(oCSV.ReadLine, ",")

Do Until oTs1.AtEndOfStream
sLine = oTs1.ReadLine
For s = 0 To UBound(arrayTitle)
sLine = Replace(sLine, "<<" & arrayTitle(s) & ">>", arrayReplace(s))
Next
oTs2.Write sLine & vbCrLf
Loop

oTs2.Close
oTs1.Close
Next

oCSV.Close

最後に、上記 test.vbs を作成して、ダブルクリック
するだけです。
    • good
    • 0
この回答へのお礼

昨日に引き続いて大変丁寧に教えて頂きありがとうございました。

オリジナルにプログラムを組み上げてくださりとても
助かりました。感動しました。
おかげさまで大変上手く行きました。
これから商品数が幾つになっても恐くありません。

また何かありましたら助けてください。
この度は本当にありがとうございました。

お礼日時:2004/07/25 14:07

みなさん、ど~して折角高性能な計算機をお持ちなのに


プログラムしようと思われないのでしょうかねぇ(苦笑)

Set Fs = WScript.CreateObject("Scripting.FileSystemObject")

For i = 101 To 300
Set oTs1 = Fs.OpenTextFile("template.html", 1)
Set oTs2 = Fs.CreateTextFile(Right("0000" & i,4) & ".html",True) 'ファイルを作成する

Do Until oTs1.AtEndOfStream
sLine = oTs1.ReadLine
oTs2.Write sLine
Loop
oTs2.Close
oTs1.Close
Next

これを、コピペして test.vbs という名前のファイルを
作成してください。

そして、同じフォルダに template.html という名の
基本になる HTML ファイルを作成して置いてください。

あとは test.vbs をダブルクリックするだけ!
ほ~ら、あっというまに 300 個ファイルが作成できました。
ファイル名もおもいのまま。

コピーするだけなら、copy コマンドですむのだけど
なぜ、いちいち1行読み込んで1行出力したのかって・・・
それは、
> 内容の一部(表示するjpgのファイル番号部分、
> 商品番号、ファイル名)を変更したページ
にあるように、その一部の変更も自動生成してしまおう
って腹です。

続きは、また後で。

この回答への補足

とても具体的なご回答を頂き、頼もしい限りです。
ありがとうございます。

具体的なファイルの内容を示した方が良いのでしょうか。
HTMLの内容で変更されるのは商品番号のテキスト表示の部分
<TD width="140" bgcolor="#808080"><p><FONT SIZE="2" COLOR="#FFFFFF"><b> ****</b></FONT></p></TD>

画像表示のリンク部分
<TD ALIGN="center"><IMG src="detail1_img/****_p.jpg" width="600" alt="商品写真" border="0"></TD>
の中の****が任意の番号になり、ファイル名を
****.htmlとしています。

宜しくお願い致します。

補足日時:2004/07/25 11:08
    • good
    • 0

こんにちは。



参考URLの「すなねぃる!!」(無料)ではいかがでしょうか。
謳い文句は”デジカメ等の画像を WEB 上でサムネイル表示するための HTML ファイルを自動生成します。”ですが、画像毎(画像本来のサイズで)にページを作ってくれます。
画像名が0101~0300であれば0101.html~0300.htmlに作成されます。処理も速いです。

一度試してみてはいかがでしょうか。

参考URL:http://homepage3.nifty.com/metis/

この回答への補足

ご回答頂きありがとうございます。

ポップアップの作成に利用出来そうですね。

ただ、今回ポップアップのHTMLですが、既存のHTMLファイルを書き換えてくれるプログラムを探しています。

ありがとうございました。

補足日時:2004/07/25 09:59
    • good
    • 0

htmlファイルの記述は同じで単に同じ物を300ファイルということでよいですか?



「整理屋さん」さんのようなリネームソフトはどうですか?

1つだけファイルを作っておいてコピーで300ファイル作ります。(これはすぐにできますよね)

で、0101-0300にリネームするという方法です。

参考URL:http://www2.lint.ne.jp/~lrc/fi_filemng2.htm

この回答への補足

ご回答頂きありがとうございます。

ただ、今回ポップアップのHTMLですが、既存のHTMLファイルですが、ファイルのリネームと共に内容の一部も書き換えてくれるプログラムを探しています。

ありがとうございました。

補足日時:2004/07/25 09:59
    • good
    • 0

バッチファイルを使えば多少は作業の簡略化が出来るかもしれません。


(例1)
copy 0101.html 0102.html
(中略)
copy 0101.html 0300.html
 → 同じページを200個作る
(例2)
copy /b header.txt+100.txt+footer.txt 0100.html
copy /b header.txt+101.txt+footer.txt 0101.html
(中略)
copy /b header.txt+300.txt+footer.txt 0300.html
 →変更箇所を別ファイルに300個作って、それにヘッダとフッタをつける

…バッチファイル作成自体はExcelを使えば簡単ですが、それにしても相当の作業量ですね。
他の方の情報がなければもう少し考えてみます。

この回答への補足

ありがとうございます。

>…バッチファイル作成自体はExcelを使えば簡単ですが、それにしても相当の作業量ですね。
他の方の情報がなければもう少し考えてみます。

手作業で数百ページ作成することを思えば、
簡略化出来れば準備作業を惜しむことは無いです。
ただ、やる気は有るけどスキルのない素人なので
具体的な手順を教えて頂けると助かります。
宜しくお願い致します。

補足日時:2004/07/25 10:18
    • good
    • 0
この回答へのお礼

他の方からのご回答により、上手く解決することが出来ました。

zero-fighter様も大変丁寧に教えてくださり嬉しかったです。

また、何かありましたら質問させて頂きます。
ありがとうございました。

お礼日時:2004/07/25 14:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!