Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

ハイパーリンクの表示名を一括変換

タグの編集...

投稿者 てる   (社会人)   投稿日時 2022/4/14 23:16:25
試行錯誤してもわからないことがあったため、質問させていただきます。

以下のURLを参照し、アウトルックにVBAを使用してハイパーリンクを一括で挿入できる方法を学びました。
https://extan.jp/?p=1249

リンク化に成功したものの、ハイパーリンクが、同一ハイパーリンク内で一部黒字と青字とに表示が分かれてしまいました。
ハイパーリンクを表示列そのまま青字かつ下線に統一したいのですが、どのように表示方法を変えればいいのかわかりません。

以下にコードを貼りますので、どのように表示を定めるコードを入れればいいか教えていただけますと大変助かります。


Public Sub パス文字列にハイパーリンク追加()
    
    'ハイパーリンクの条件を定義します。
    '「http」を指定。「http」や「https」に該当。
    Const myHyperlink1 = "http"
    Const myHyperlink2 = "\\"
    Const myHyperlink3 = "file:"
    
    Dim HyperLinkList As Variant
    Dim objWord As Object
    Dim objSearchWord As Object
    
    '本文のオブジェクトを取得
    Set objWord = ActiveInspector.WordEditor
    Set objSearchWord = objWord.Range
    
    HyperLinkList = Split(objSearchWord, vbCr)
   
    'myHyperlinkのワードを探し一致していればハイパーリンクを挿入
    
    For i = 0 To UBound(HyperLinkList)
        If InStr(HyperLinkList(i), myHyperlink1) Or InStr(HyperLinkList(i), myHyperlink2) Or InStr(HyperLinkList(i), myHyperlink3) Then
            While objSearchWord.Find.Execute(FindText:=HyperLinkList(i), MatchWholeWord:=False, Forward:=True) = True
                  objWord.Hyperlinks.Add Anchor:=objSearchWord, Address:=HyperLinkList(i)
                  objSearchWord.Collapse Direction:=wdCollapseEnd
            Wend
        End If
    Next

    'オブジェクトの開放
    Set objWord = Nothing
    Set objSearchWord = Nothing
    
End Sub

Public Sub ハイパーリンク削除()
    
    Dim objWord As Object
    Dim objHyperLinks As Object
    Dim objHyperLink As Object

    
    '本文のオブジェクトを取得
    Set objWord = ActiveInspector.WordEditor
    Set objHyperLinks = objWord.Range.Hyperlinks
    Debug.Print objHyperLinks.Count
    'ハイパーリンク削除
    For i = 1 To objHyperLinks.Count
        For Each objHyperLink In objHyperLinks
            objHyperLink.Delete
        Next
    Next

    'オブジェクトの開放
    Set objWord = Nothing
    Set objHyperLinks = Nothing
    Set objHyperLink = Nothing
    
End Sub



投稿者 るきお   (社会人)   投稿日時 2022/4/15 19:27:02
こんにちは。

回答ではなくてごめんなさい。
OutlookのVBAのようですね。
そもそもマイナーな分野ですし、Outlookを持っている人しか試せないし、なかなか回答できる人が現れないのではないかと思います。

誰か回答できる人が見かけてくれればよいのですが。

てるさんが参照されているサイト
https://extan.jp/?p=1249

にもコメントが付けられるようになっているので、ここでこの記事を書いたご本人に聞いてみるというのはどうでしょうか?

投稿者 てる   (社会人)   投稿日時 2022/5/25 11:30:02
るきおさん、ご丁寧にありがとうございます!
記事を書かれたご本人に聞いてみようと思います!