名前、URL、都道府県を入力したエクセルファイルがあります。


これをリンク集の形にしたいのですが、データが1000件以上あって、都道府県別にページを分けて、一件一件リンクを張っていくのかと思うと目がくらみます。

カンタンにリンク集を作る方法ってないでしょうか?

当方、DreamWeaverMX2004を使っています。

回答の条件
  • 1人50回まで
  • 登録:2006/11/01 23:48:42
  • 終了:2006/11/03 09:00:32

ベストアンサー

id:chiyobit No.2

chiyobit回答回数10ベストアンサー獲得回数12006/11/02 01:52:22

ポイント35pt

お望みのできあがりイメージがよくわからないのですが、もしかするとお役に立つかも知れないツールがあります。


bpTranというツールです。このツールは、CSVファイルのデータを元に、用意したHTMLのテンプレートで出力してくれるものです。


知り合いがこれを使って、むっちゃ助かった!と褒めていました^^

※私は使ったこと無いのですが。

※ご存知でいらっしゃると思いますが、エクセルファイルをCSV形式で出力できます。

bpTran

http://webseeder.net/



以上ご参考になれば幸いです。

id:takllin

ありがとうございます。

これです!

こういうのを探していたんです!!

2006/11/03 08:59:09

その他の回答(2件)

id:hoeizon No.1

hoeizon回答回数318ベストアンサー獲得回数202006/11/02 00:12:01

ポイント35pt

<a href="URL">名前</a>という形になれば形にですよね?


エクセルで


<a href=" URL "> 名前 </a>


という行データを作って、必要な部分をまとめてコピーすれば行ごとのデータでリストに出来ます。

id:takllin

ありがとうございます。

できればもっと簡単に、HTMLで吐き出して、それをDreamWeaverで体裁を整えるだけ、という幹事にできればベストなのですが。

2006/11/02 00:48:26
id:chiyobit No.2

chiyobit回答回数10ベストアンサー獲得回数12006/11/02 01:52:22ここでベストアンサー

ポイント35pt

お望みのできあがりイメージがよくわからないのですが、もしかするとお役に立つかも知れないツールがあります。


bpTranというツールです。このツールは、CSVファイルのデータを元に、用意したHTMLのテンプレートで出力してくれるものです。


知り合いがこれを使って、むっちゃ助かった!と褒めていました^^

※私は使ったこと無いのですが。

※ご存知でいらっしゃると思いますが、エクセルファイルをCSV形式で出力できます。

bpTran

http://webseeder.net/



以上ご参考になれば幸いです。

id:takllin

ありがとうございます。

これです!

こういうのを探していたんです!!

2006/11/03 08:59:09
id:bonlife No.3

回答回数421ベストアンサー獲得回数752006/11/02 13:12:08

ポイント35pt

ちょっと長くなりますが、VBAのマクロを作成してみました。

標準モジュールとして追加し、実行してみてください。

A列にサイト名、B列にURL、C列に都道府県名が入力されている状態で下記のマクロを実行し、適宜入力を行うことでHTMLファイルを生成します。

A B C
a http://aaa.com 北海道
b http://bbb.com 北海道
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 &amp; "\index.html")
    ' HTML用のヘッダを準備
    htmlHeader = "<html>" &amp; vbCrLf
    htmlHeader = htmlHeader &amp; "<head>" &amp; vbCrLf
    htmlHeader = htmlHeader &amp; "<title>" &amp; "リンクページ (見出し)</title>" &amp; vbCrLf
    htmlHeader = htmlHeader &amp; "</head>" &amp; vbCrLf
    htmlHeader = htmlHeader &amp; "<body>" &amp; vbCrLf
    htmlHeader = htmlHeader &amp; "<h2>" &amp; "リンクページ (見出し)</h2>"
    htmlHeader = htmlHeader &amp; "<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 &amp; "のリンクページ用のファイル名を入力してください。")
        ' ファイル名用の文字列が入力されなかった場合、県名をそのまま使う
        If prefFileName = "" Then
            prefFileName = currentPrefName
        End If
        ' 県名 + .html でHTMLファイルを生成
        With FSO.CreateTextFile(currentPath &amp; "\" &amp; prefFileName &amp; ".html")
            ' indexページにこの各ページへのリンクを張る
            linkForEachFile = "<li><a href=""./" &amp; prefFileName &amp; ".html"">" &amp; currentPrefName &amp; "</a></li>"
            indexFile.WriteLine linkForEachFile
            ' HTML用のヘッダを準備
            htmlHeader = "<html>" &amp; vbCrLf
            htmlHeader = htmlHeader &amp; "<head>" &amp; vbCrLf
            htmlHeader = htmlHeader &amp; "<title>" &amp; "リンクページ" &amp; " (" &amp; currentPrefName &amp; ")" &amp; "</title>" &amp; vbCrLf
            htmlHeader = htmlHeader &amp; "</head>" &amp; vbCrLf
            htmlHeader = htmlHeader &amp; "<body>" &amp; vbCrLf
            htmlHeader = htmlHeader &amp; "<h2>" &amp; "リンクページ" &amp; " (" &amp; currentPrefName &amp; ")" &amp; "</h2>"
            htmlHeader = htmlHeader &amp; "<ul>"
            ' HTMLヘッダをファイルに書き込む
            .WriteLine htmlHeader
            ' 県名が同じ間、処理を実行 (同じファイルに書き込む)
            While Cells(i, 3).Value = currentPrefName
                ' リンク用の文字列の生成
                eachLink = "<li><a href=""" &amp; Cells(i, 2).Value &amp; """>" &amp; Cells(i, 1).Value &amp; "</a></li>"
                ' 別ウィンドウで開くように明示的に指定したい場合
                ' 上の1行をコメントアウトし、下の行を使う
                ' eachLink = "<li><a href=""" &amp; Cells(i, 2).Value &amp; """ target=""_blank"">" &amp; Cells(i, 1).Value &amp; "</a></li>"
                ' リンク用文字列をファイルに書き込む
                .WriteLine eachLink
            i = i + 1
            Wend
            htmlTrailer = "</ul>"
            htmlTrailer = htmlTrailer &amp; "<div><a href=""./index.html"">見出しページに戻る</a></div>"
            htmlTrailer = htmlTrailer &amp; "</body>" &amp; vbCrLf
            htmlTrailer = htmlTrailer &amp; "</html>"
            .WriteLine htmlTrailer
            .Close
        End With
    Wend
    
    htmlTrailer = "</ul>" &amp; vbCrLf
    htmlTrailer = htmlTrailer &amp; "</body>" &amp; vbCrLf
    htmlTrailer = htmlTrailer &amp; "</html>"
    indexFile.WriteLine htmlTrailer

    indexFile.Close
End Sub

& amp ; と表示されている部分は全て&です。

参考になれば幸いです。

id:takllin

ありがとうございます。

2006/11/03 08:59:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません