EXCEL超初心者マクロ(9)- HTMLを書いてみる -
連続したHTMLや決まった形のHTMLを定期的に更新したいときありませんか?
そんなのも、EXCELのマクロでできちゃいます。
※自分はHTMLあまり強くないので細かい突込みはご勘弁下さい。
サンプル:
Sample_11V1.xlsm
例として、こんな依頼がきたとします。
商品一覧の、商品コード、商品名、価格、リンク、etc
を100件分、HTML形式で作成してください。
形式はテーブルで…
スパンは、週1回でお願いします。
手馴れた人や、簡単な構造だったら、EXCELの機能や、エディター等でできちゃうんですが、慣れない人にはちょっとつらいですね。
当然作成するHTMLの構造等によってはできないものもあります。万能というわけでもありません。
例えば、こんな感じのHTMLを書きたい時、手動で作成すると100個はしんどいですよね。(例は10個です)
※例文は楽天の商品にリンクをしています。
テキストで見ると(ちょっと雑ですがご勘弁を)
<h3>2018年11月コミックス。</h3> ・注意1 ・注意2 ・注意3 <table style="font-size: 10pt; line-height: 200%;" border="2"><tbody> <tr><th scope="col">出版社</th><th colspan="3" scope="col">書名</th><th scope="col">LINK</th></tr> <tr><th scope="col">ISBN</th><th scope="col">シリーズ</th><th scope="col">著者</th><th scope="col">予定日</th><th scope="col">予価</th></tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">青の祓魔師(22)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088815916" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088815916</td> <td>ジャンプコミックス</td> <td>加藤和恵</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">地の底の魔法使い(2)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088815923" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088815923</td> <td>ジャンプコミックス</td> <td>平浜矢陸</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">地獄楽(4)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816012" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816012</td> <td>ジャンプコミックス</td> <td>賀来ゆうじ</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">この先、どぶ沼注意</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816197" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816197</td> <td>ジャンプコミックス</td> <td>星カビ</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">鬼滅の刃(13)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816265" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816265</td> <td>ジャンプコミックス</td> <td>吾峠呼世晴</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">怪物事変(6)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816289" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816289</td> <td>ジャンプコミックス</td> <td>藍本松</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">ド級編隊エグゼロス(5)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816319" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816319</td> <td>ジャンプコミックス</td> <td>きただりょうま</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">星の王子さま(3)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816326" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816326</td> <td>ジャンプコミックス</td> <td>漫☆画太郎</td> <td>11/2</td> <td align="right">500</td> </tr> <tr bgcolor="honeydew"> <td>集英社</td> <td colspan="3">ROUTE END(6)</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:9784088816333" target="_rbooks">リンク</a></td> </tr> <tr> <td>9784088816333</td> <td>ジャンプコミックス</td> <td>中川海二</td> <td>11/2</td> <td align="right">500</td> </tr> </tbody></table>
こんなときは1行ずつをEXCELに書いて、可変部分に仮の文字を詰めて、Replaceで置き換えると簡単にできます。
直接書き込むと、ダブルコーテーション等マクロで扱えない文字列があるので、ちょっと複雑になります。
以下が、1行分のHTMLです。
<tr bgcolor="honeydew"> <td>●●●●●●●1</td> <td colspan="3">●●●●●●●2</td> <td><a href="http://books.rakuten.co.jp/rdt/item/?sid=213310&sno=ISBN:▲▲▲▲▲▲" target="_rbooks">リンク</a></td> </tr> <tr> <td>●●●●●●●3</td> <td>●●●●●●●4</td> <td>●●●●●●●5</td> <td>●●●●●●●6</td> <td align="right">●●●●●●●7</td> </tr>
HTMLINシートを1行づつ処理して、HTMLOUTに上記のHTMLの文字列を置き換えていく。
詳細はSAMPLEをご確認ください。
ディスカッション
コメント一覧
まだ、コメントがありません