これをリンク集の形にしたいのですが、データが1000件以上あって、都道府県別にページを分けて、一件一件リンクを張っていくのかと思うと目がくらみます。
カンタンにリンク集を作る方法ってないでしょうか?
当方、DreamWeaverMX2004を使っています。
お望みのできあがりイメージがよくわからないのですが、もしかするとお役に立つかも知れないツールがあります。
bpTranというツールです。このツールは、CSVファイルのデータを元に、用意したHTMLのテンプレートで出力してくれるものです。
知り合いがこれを使って、むっちゃ助かった!と褒めていました^^
※私は使ったこと無いのですが。
※ご存知でいらっしゃると思いますが、エクセルファイルをCSV形式で出力できます。
bpTran
以上ご参考になれば幸いです。
<a href="URL">名前</a>という形になれば形にですよね?
エクセルで
<a href=" | URL | "> | 名前 | </a> |
という行データを作って、必要な部分をまとめてコピーすれば行ごとのデータでリストに出来ます。
ありがとうございます。
できればもっと簡単に、HTMLで吐き出して、それをDreamWeaverで体裁を整えるだけ、という幹事にできればベストなのですが。
お望みのできあがりイメージがよくわからないのですが、もしかするとお役に立つかも知れないツールがあります。
bpTranというツールです。このツールは、CSVファイルのデータを元に、用意したHTMLのテンプレートで出力してくれるものです。
知り合いがこれを使って、むっちゃ助かった!と褒めていました^^
※私は使ったこと無いのですが。
※ご存知でいらっしゃると思いますが、エクセルファイルをCSV形式で出力できます。
bpTran
以上ご参考になれば幸いです。
ありがとうございます。
これです!
こういうのを探していたんです!!
ちょっと長くなりますが、VBAのマクロを作成してみました。
標準モジュールとして追加し、実行してみてください。
A列にサイト名、B列にURL、C列に都道府県名が入力されている状態で下記のマクロを実行し、適宜入力を行うことでHTMLファイルを生成します。
A | B | C |
---|---|---|
a | http://aaa.com | 北海道 |
b | http://bbb.com | 北海道 |
c | http://ccc.com | 青森 |
d | http://ddd.com | 青森 |
e | http://eee.com | 秋田 |
f | http://fff.com | 秋田 |
g | http://ggg.com | 秋田 |
h | http://hhh.com | 秋田 |
i | http://iii.com | 宮城 |
j | http://jjj.com | 宮城 |
k | http://kkk.com | 宮城 |
のような状態になっていると正しく動きます。
余分な情報がない状態にしていただき、都道府県名でソートした状態で実行してください。
A列が空であるかどうか、を終了の判定条件としていますので、空行は含めないようにしてください。
Option Explicit Sub linkPageGenerate() Dim currentPath As String Dim i As Long, eachLink As String, currentPrefName Dim htmlHeader As String, htmlTrailer As String, linkForEachFile As String Dim FSO As Object, indexFile As Object ' マクロのパスを取得 (HTMLファイルの保存も同じディレクトリに行う) currentPath = ActiveWorkbook.Path ' FileSystemObjectの生成 Set FSO = CreateObject("Scripting.FileSystemObject") ' indexページの生成 Set indexFile = FSO.CreateTextFile(currentPath & "\index.html") ' HTML用のヘッダを準備 htmlHeader = "<html>" & vbCrLf htmlHeader = htmlHeader & "<head>" & vbCrLf htmlHeader = htmlHeader & "<title>" & "リンクページ (見出し)</title>" & vbCrLf htmlHeader = htmlHeader & "</head>" & vbCrLf htmlHeader = htmlHeader & "<body>" & vbCrLf htmlHeader = htmlHeader & "<h2>" & "リンクページ (見出し)</h2>" htmlHeader = htmlHeader & "<ul>" ' HTMLヘッダをファイルに書き込む indexFile.WriteLine htmlHeader i = 1 ' 1行目のセルが空でない間、処理を実行 While Cells(i, 1).Value <> "" currentPrefName = Cells(i, 3).Value Dim prefFileName As String prefFileName = InputBox(currentPrefName & "のリンクページ用のファイル名を入力してください。") ' ファイル名用の文字列が入力されなかった場合、県名をそのまま使う If prefFileName = "" Then prefFileName = currentPrefName End If ' 県名 + .html でHTMLファイルを生成 With FSO.CreateTextFile(currentPath & "\" & prefFileName & ".html") ' indexページにこの各ページへのリンクを張る linkForEachFile = "<li><a href=""./" & prefFileName & ".html"">" & currentPrefName & "</a></li>" indexFile.WriteLine linkForEachFile ' HTML用のヘッダを準備 htmlHeader = "<html>" & vbCrLf htmlHeader = htmlHeader & "<head>" & vbCrLf htmlHeader = htmlHeader & "<title>" & "リンクページ" & " (" & currentPrefName & ")" & "</title>" & vbCrLf htmlHeader = htmlHeader & "</head>" & vbCrLf htmlHeader = htmlHeader & "<body>" & vbCrLf htmlHeader = htmlHeader & "<h2>" & "リンクページ" & " (" & currentPrefName & ")" & "</h2>" htmlHeader = htmlHeader & "<ul>" ' HTMLヘッダをファイルに書き込む .WriteLine htmlHeader ' 県名が同じ間、処理を実行 (同じファイルに書き込む) While Cells(i, 3).Value = currentPrefName ' リンク用の文字列の生成 eachLink = "<li><a href=""" & Cells(i, 2).Value & """>" & Cells(i, 1).Value & "</a></li>" ' 別ウィンドウで開くように明示的に指定したい場合 ' 上の1行をコメントアウトし、下の行を使う ' eachLink = "<li><a href=""" & Cells(i, 2).Value & """ target=""_blank"">" & Cells(i, 1).Value & "</a></li>" ' リンク用文字列をファイルに書き込む .WriteLine eachLink i = i + 1 Wend htmlTrailer = "</ul>" htmlTrailer = htmlTrailer & "<div><a href=""./index.html"">見出しページに戻る</a></div>" htmlTrailer = htmlTrailer & "</body>" & vbCrLf htmlTrailer = htmlTrailer & "</html>" .WriteLine htmlTrailer .Close End With Wend htmlTrailer = "</ul>" & vbCrLf htmlTrailer = htmlTrailer & "</body>" & vbCrLf htmlTrailer = htmlTrailer & "</html>" indexFile.WriteLine htmlTrailer indexFile.Close End Sub
& amp ; と表示されている部分は全て&です。
参考になれば幸いです。
ありがとうございます。
ありがとうございます。
これです!
こういうのを探していたんです!!