So-netブログ 投稿日からハイパーリンクを作成する実験 Excel2000 VBA [Excel2000 VBA独習]
So-netブログ 投稿日からハイパーリンクを作成する実験 Excel2000 VBA
自分が書いた記事を参照したい時、ハイパーリンクをクリックして記事を表示できるようにする為マクロを作成
B列に「投稿日」C列に「記事番号」(1日に複数投稿したとき)D列に「記事名」E列にハイパーリンクを作成(文字は*)
B列をドラッグして範囲選択(日付)しマクロ実行
Sub 日付からハイパーリンク作成()
'so-netブログの日付から該当するURLを作成しハイパーリンクを作る
Dim url, url2, myDate As String
Dim myR As Range
'ブログURL
url = "http://telstar.blog.so-net.ne.jp/"
'範囲 事前にドラッグして範囲を選択しておく
If Selection.Column <> 2 Then MsgBox "B列のみを選択してください": Exit Sub
'選択範囲から1行ずつ処理
For Each myR In Selection
myDate = ""
countDoc = ""
url2 = ""
If myR.Offset(0, 2) = "" Then GoTo tugi
myDate = myR 'B列の日付
countDoc = myR.Offset(0, 1).Value '記事が何番目か
'日付を整形 /を-に置換
myDate = left(myDate, 10)
myDate = Replace(myDate, "/", "-")
myDate = Replace(myDate, "年", "-")
myDate = Replace(myDate, "月", "-")
'Debug.Print myDate & " " & countDoc
'記事番号 1日に複数投稿した場合、1つ目は無し 2つ目は 1 3つ目は 2
'例 http://telstar.blog.so-net.ne.jp/2011-08-30-1
If countDoc = "" Then
url2 = url & myDate '例 http://telstar.blog.so-net.ne.jp/2011-08-30
Else
url2 = url & myDate & "-" & countDoc '例 http://telstar.blog.so-net.ne.jp/2011-08-30-1
End If
'Debug.Print url2
'E列にハイパーリンク作成
ActiveSheet.Hyperlinks.Add Anchor:=myR.Offset(0, 3), Address:=url2, TextToDisplay:="※"
tugi:
Next myR
End Sub
ハイパーリンクを削除するマクロ例
Sub ハイパーリンクと表示文字列を削除する()
Range("A1").Hyperlinks.Delete
Range("A1").ClearContents
End Sub
ハイパーリンクの書式を変更するには、メニューバーの書式→スタイルから変更する。
変更ボタンを押してセルの書式設定ダイアログで下線の有り無し、フォントサイズ、色などを設定する。
コメント 0