[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『html自動生成マクロ』(ゆっか)
ご指導、ご教授のほど宜しくお願い致します。
エクセルやメモ帳などでhtml内の作成したい一定の箇所を用意したデータマスタから
複数の項目をくっつけて自動生成ができないでしょうか?
web上からphp?などで生成されているのはみたことあるのですが
エクセルなどのアプリケーションからもできれば作ってみたいです。
データマスタのイメージは
A列:品番
B列:名前
C列:価格
D列:半角英小文字のみ入力
こちらのマスタから
html\A1\html
html\B1\html
....
html\A2\html
html\B2\html
と一行目から順番にというのをイメージしております。
※上記のhtmlというのは
<div class="newitemlist">
だったり
<a href="https://〇〇A1.html target="_top">
<div class="name">B1</div>
などaタグやdivなどを略してhtmlと略してお伝えさせて頂きました。
生成したものがエクセルだとセル内に多数の文字数が入ってしまうため、
.htmlのファイル名で保存するところまでプログラムとうでできると
良いのですが。。
何卒ご教授のほど宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Sub test() Const cHTML = "c:\tmp\test.html" Dim F1 As Integer
F1 = FreeFile() Open cHTML For Output As #F1 Print #F1, "<html><body>" Print #F1, "<a href=""https://www.excel.studio-kazu.jp/"">エクセルの学校</a>" Print #F1, "</body></html>" Close #F1
With CreateObject("InternetExplorer.application") .Visible = True .Navigate cHTML End With End Sub (???) 2020/07/08(水) 15:43
追加するとすれば、質問者さんはこんな方式をイメージしているのかもしれません。
・HTMLのテンプレート文字列を作り、
・そのなかに特殊文字列(例えば$$1 とか、$$2といったもの)を埋め込みます。
・外から、その特殊文字列を、セルの値(A1,A2セルなど)で置換するというものです。
置換そのものは、Replace関数を使えばよいので、さほど負荷はかからないと思います。
(例えば、Rubyなんかだと、ERBと言ったライブラリがそれに相当しますが、
VBAの世界では、特段有名なものは無いと思います。
正直言って、ExcelVBAよりも格段に高機能な、テキスト処理に向いた言語が別にあるので、
VBAが期待されないのは致し方ないと思います。
しかし、必要なら作れば良いだけの話かと思います。)
気をつけるのは、<>&と言った文字列のエスケープ処理とかそのあたりでしょう。
(γ) 2020/07/08(水) 17:53
くかもりさん htmlファイル内の一部のdivタグ内に掲載したい商品が複数定期的に更新したいため、
A列に品番
B列に名称
c列に価格
d列...
とここは手動で作成するのでそのマスタをもとに
最初のご質問で記載した通りマスタから読み取る値や文字列以外の部分はテンプレートとして
<a href="https://〇〇A1.html target="_top">
<div class="name">B1</div>
と用意するというイメージをしております。
生成したhtmlは更新したい別htmlファイルにコピペ致します。
一つ一つhtml内の価格や品番などをメモ帳等で作成するのは数が多いので効率が
よくなくプログラム化できたらと思いご相談させて頂きました。
そもそも yさんがいうとおりVBAではなく他のプログラムの方がよいのでしょうか。。
ご意見、ご教授のほど宜しくお願い致します。
(ゆっか) 2020/07/09(木) 08:48
(くかもり) 2020/07/09(木) 10:24
公開するHTMLは、頻繁に更新するものなのでしょうか? それとも、月一とか、低い更新頻度なのでしょうか? そして、表の元となるデータは、何らかのRDB上にあるのか、Excelシート上にあるのか。 そういう環境構成や、HTMLを見るのは誰なのか等、貴方しか判らない情報が多すぎて、Excelでやるべきかどうかは、回答者には判断できませんよ。 元データはExcelシート上にしかなくて、更新の頻度は低いから静的HTMLで良い、という場合なら、Excelマクロで解決しても良いと思いますし、他の高級言語でも同じ事ができます。
そして、HTMLの例を挙げるのであれば、イメージで語らず、そのままコピペしてHTMLファイルとして保存しブラウザで開けるような、具体的なものでお願いします。(可変部分は何らかの置き換え用文字列でも、実際の文字列に近いものでも、どちらでもOK)
(???) 2020/07/09(木) 10:47
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.