SSブログ

So-netブログ 投稿日からハイパーリンクを作成する実験 Excel2000 VBA [Excel2000 VBA独習]

So-netブログ 投稿日からハイパーリンクを作成する実験 Excel2000 VBA

自分が書いた記事を参照したい時、ハイパーリンクをクリックして記事を表示できるようにする為マクロを作成

excelVBA_sonet_link.jpg

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
 


ハイパーリンクの書式を変更するには、メニューバーの書式→スタイルから変更する。
excel_style.jpg

変更ボタンを押してセルの書式設定ダイアログで下線の有り無し、フォントサイズ、色などを設定する。

 

 


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。