サイトでよくある新着情報をExcel管理、html出力したいです。
Excelで必要情報を入力し、作成ボタンを押したらHTMLが出力されるようにしたいのですが、自分なりに調べているのですが知識不足で煮詰まってしまいました。
どうかお力をお貸しいただけないでしょうか。
やりたい事は下記になります。
Excel上では下記のよう管理したいです。
A列に日付(2022/01/21)
B列にリンクタイトルの文字列(〇〇を更新しました)
C列にリンク先URL
D列にターゲット(_blank)
※これを何行も上から追加します。
出力されるHTMLは下記のようにしたいです。
<html>
<head>
<title>新着情報です</title>
</head>
<body>
<dl>
<dt>A列に入力した日付</dt>
<dd> <a href="B列に入力したURL" target="D列に入力したターゲット">C列に入力したURL</a> <img src="new.png">
</dd>
</dl>
</body>
</html>
※上記の<dt>〜</dd>をExcelの1行とする。
※ <img src="new.png">は、A列に入れた日付が、作成日より1週間以内であれば表示する。
下記サイトを参考にHTMLは出力できたのですが、
上記※で書いたようにする方法がわからず困っています。
https://nanmemo.com/html-output
どのようにすれば良いか、教えて頂けないでしょうか。
どうかよろしくおねがいします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは
>下記サイトを参考にHTMLは出力できたのですが~~
どこまでできているのかよくわかりませんけれど、VBAの知識が多少おありなら、さほど難しいことではないと思われます。
>※上記の<dt>〜</dd>をExcelの1行とする。
単に、セルの文字列を定型で連結すればよさそうなので、ご提示のサイトのようにループで処理すればよいでしょう。
ループに関しては、繰り返す部分のスタート行が n行目からならば
For i = n To MaxRow
などとしておく要領です。
ループ内で、文字列演算(連結は & 演算子)で、必要な部分(A~D列)を連結してゆけばよいことになります。
>※ <img src="new.png">は、A列に入れた日付が、作成日より1週間以内であれば表示する
「今日」の日付は NOW()でも取得できますし、どこかの空きセルに「=TODAY()」と入力しておいてその値を利用することもできます。
日付の実態は数値なのでそのまま比較することが可能です。
A列の日付と比較して、「今日の日付-7」より大きいか否かで、「<img~~」部分の連結をするかしないかを決めるようにしておけばよいと思われます。
(エクセルの日付の場合、1日が1に相当しますので、1週前は -7となります)
別法として、エクセルの表をそのままUTF-8のCSVで出力してしまう方法もありそうに思われます。
こちらの場合は、エクセルのデータは可変部分だけにしてしまって、UTF-8で出力するだけです。
html側に「CSVファイルを読み込んで、ご提示のようなタグに構成し直して表示する」という仕組みを組み込んでおくことが必要にはなりますが、一度作成してしまえば、あとはCSVファイルだけを入れ替えれば内容が更新されるようになるという考え方です。
こちらの場合は、ブラウザで動作するスクリプト(=javascript)の知識が必要にはなりますけれど・・
No.1
- 回答日時:
こんばんは
<dt>A列に入力した日付</dt>
<dd> <a href="B列に入力したURL" target="D列に入力したターゲット">C列に入力したURL</a> <img src="new.png">
</dd> 部分の文字列作成に躓いているのでしょうか
列との事なのでループするのかな?
”の位置などこれで良いのか試せませんが・・参考程度に
>Excelの1行とする
コードも1行で とりあえず
Sub test()
Dim HtmlCode
Dim i
i = 1
HtmlCode = "<dt>" & Cells(i, "A") & "</dt>" & _
"<dd> <a href=""" & Cells(i, "B").Text & """ target=""" _
& Cells(i, "D").Text & """> " & _
Cells(i, "C").Text & "</a> <img src=" & """new.png""" & " > "
Cells(3, 5) = HtmlCode
End Sub
1行目の該当セル文字をE1セルに出力しています。
ご質問自体を勘違いしていたら忘れてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) VBAでPowerPointからExcelにレイアウト通りに出力する 4 2023/07/05 12:22
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
【VBA】2つのシートの値を比較...
-
Worksheets メソッドは失敗しま...
-
Changeイベントでの複数セルの...
-
Cellsのかっこの中はどっちが行...
-
文字列の結合を空白行まで実行
-
VBAのFind関数で結合セルを検索...
-
targetをA列のセルに限定するに...
-
複数処理 Worksheet_Change(ByV...
-
マクロについて。S列の途中から...
-
VBマクロ 色の付いたセルを...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
VBAを使って検索したセルをコピ...
-
Excel VBA 検索した値を入力フ...
-
【Excel VBA】 B列に特定の文字...
-
vbaでシートより100より大きい...
-
マクロ 最終列をコピーして最終...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報