- 締切済み
ExcelファイルからHTMLファイルを自動で作成
種類 今日の売上 総売上 みかん 5 15 りんご 6 9 すいか 1 3 のようなExcelファイルがあります。 これをWeb上に表示するため、以下のようなHTMLファイルにしています。(簡単にしてありますが) <TABLE><TR> <TD>種類</TD> <TD>今日の売上</TD> <TD>総売上</TD> </TR><TR> <TD>みかん</TD> <TD>5</TD> <TD>15</TD> </TR><TR> <TD>りんご</TD> <TD>6</TD> <TD>9</TD> </TR><TR> <TD>すいか</TD> <TD>1</TD> <TD>3</TD> </TR></TABLE> これを毎日更新しているのですが、自動でできないかなぁと思いまして…。 VBAでこれらのことをボタン一つで行うようなことはできるでしょうか? (表をみて→HTMLファイルに変換) 例えば種類をHTMLファイルに変換するのなら "<TD>" & Syurui & "</TD>" ですよね? でもこれを1行ずつに行っていくとそれをまたまとめなくてはならなくて…。 一度でHTMLファイルを作成するような方法はありますか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
OK-Webの大先輩のkodamarさんのご質問に,答えを入れるのは こんな回答で良いのか心配なんですが。 Sub test01() d = Range("a1").CurrentRegion.Rows.Count w = Range("a1").CurrentRegion.Columns.Count a = "" a = a & "<table border>" a = a & "<tr>" For i = 1 To d For j = 1 To w a = a & "<td>" & Cells(i, j) & "</td>" Next j a = a & "</tr>" & vbCrLf Next i a = a & "</table>" MsgBox a '----- Open "c:\My Documents\tst01.html" For Output As #1 Print #1, a Close #1 End Sub で色も配置も省略してますが、上記の結果は、IEで表を表示しました。 コンなのでご参考になるのでしょうか?。
- kusukusu
- ベストアンサー率38% (141/363)
excel → csv_idで保存 (idは連番なり好きなものを) html → csv_idファイルを全てを読み込み、自由にレイアウト こんなのは無しですか? もしプログラムの知識がおありなら、凄く簡単なcgiで実現できると思いますが…
- Te-Sho
- ベストアンサー率52% (247/472)
#1,2からです。 >他の設定もあるのでHTMLでその部分だけを吐き出してもとのHTMLファイルに上書きしたいんです。 シートの一部分だったらWeb形式で保存で範囲指定が出来るので範囲指定してから出力、不要な部分を削除<table>~</table>までを使用という手があります。 違った方法としてExcelで欲しいCELL部分だけ選択してコピー、フロントページのエディタに貼り付けという手も有ります。この方がHTMLとしてはキレイです(まだ要らないところはありますが)。あくまでもフロントページをお持ちでしたらと言うことですが.... 他のホームページ作成ソフトをお使いの場合出来るかどうか分かりません。
- Te-Sho
- ベストアンサー率52% (247/472)
#1から補足です。 Excel2000以降ですね。Excel97にもWeb出力用のアドインが有ったような記憶があります。
- Te-Sho
- ベストアンサー率52% (247/472)
VBAじゃなくてweb形式で保存ではダメですか? Excel形式用の<!----!>タグやアーギュメントは入っていますが基本的にはブラウザで読めるはずです。 実際、運用で使用しているわけではないので細かな不具合等は把握していません。
お礼
他の設定もあるのでHTMLでその部分だけを吐き出してもとのHTMLファイルに上書きしたいんです。 今はそのシートの中のE行に <TD>種類</TD><TD>今日の売上</TD><TD>総売上</TD> のような感じで吐き出してます。 これのE行だけを保存する、みたいなことはできないのでしょうか? もしできなければWeb形式で保存、というのも考えてはいます。
お礼
ソフトは使っていなくてメモ帳でテキスト打ちです。 ちょっとこの方法を試して見ます。 ありがとうございました。