ハイパーリンクの挿入をExcel97で自動記録するとサンプルマクロと一致しないが?
Question 037k 拙著「組み方講座」 Previous Next
105ページ [1-2-3図] ◆ 環境・・ Excel 97 & WindowsXP
詳細は こちら
ハイパーリンクを設定するマクロが、マクロ画面に下記メッセージが出ません。方法を教えてください。
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="月例案内.doc", _ TextToDisplay:="月例会開催ご案内"
なお、私の自動記録したマクロの内容は以下のとおりです。
    Range("C9").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="月例会案内.doc"
    ActiveCell.FormulaR1C1 = "月例会開催ご案内"
    ActiveCell.Characters(4, 2).PhoneticCharacters = "カイサイ"
    ActiveCell.Characters(6, 3).PhoneticCharacters = "ゴアンナイ"
    Range("C9").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    Application.WindowState = xlNormal
Answer   Copyright (C) 2004.5.31 永井善王
拙著「Excel VBA マクロ組み方講座」本をご購入いただき、ありがとうございます。
105ページの[1-2-3図]は、C9セルにハイパーリンクを設定するための、自動記録で作成したマクロが載っています。その内容は、ご質問文に書いていただきましたとおりですが、下記のようになっています。
Sub セルにハイパーリンクを設定する()
    Range("C9").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="月例会案内.doc", _
        TextToDisplay:="月例会開催ご案内"
End Sub
ところが、あなたが自動記録なさったマクロは、そのとおりになっていない。何故か? というご質問ですね。

結論から申し上げますと、本書で若干触れていますが、ハイパーリンクを挿入するための仕様はExcelのバージョンにより異なる場合があります。そのため、あなたがご使用中のExcel97では、挿入のための操作方法もExcel2000以後とは違いますので、工夫しながら進められ、ご苦労なさったかと思います。
その結果、あなたが自動記録なさったとおりのマクロが出来上がり、フリガナ用のコード等も作られますが、機能的には問題なく動作いたします。

本書はExcelの6バージョン(97、98、2000、2001、2002、v.X)対応としていまして、対処方法が必要な場合は各所にお示ししていますが結構多いので、読み辛くならないようにと執筆には難儀しました。 が、あなたからご指摘をいただき、もう少し筆を走らせていればと感じています。お手数をお掛けしてしまいましたが、よろしくお願いします。
なお、万一、ご質問の意味を取り違えていましたら、お手数ですがご連絡ください。

 

Excel VBA Macro