2009年5月19日火曜日

Excel でリンクを含んだセルから HTML の A 要素を作成

Excel の A 列に特定のサイトへのリンク付きのテキストがある。ここから HTML の

<li><a>サイト名</a></li>

というような文字列を作成したい。

 

方法

単純にハイパーリンクを記入したセルを別のセルから参照すればいいのかと思いきや、参照するとリンクがなくなりテキストだけになってしまう。

090519-001.png

リンクを抽出したい場合、どうすればいいのだろう?

090519-002エクセルのハイパーリンクについて教えて下さい –OKWave を見ると、Range オブジェクトから Hyperlinks コレクションを取得する方法が書かれていた。特定の範囲からリンクのアドレスを抽出するということのようだ。(via  エクセルのハイパーリンクのURLを抽出するため、... - 人力検索はてな)

 

標準モジュールに以下の関数を定義。

Function createHtmlLink(objRange As range) As String
    createHtmlLink = objRange.Hyperlinks(1).Address
End Function

B1 セルに以下を記述して、下方向へフィル。

="<li><a href="""&createHtmlLink(A1)&""">"& A1 & "</a></li>"

結果

  • すぐに忘れる脳みそのためのメモ
  • Home ‎(すぐに忘れる脳みそのための Wiki)‎
  •  

    参考サイト