プロが教えるわが家の防犯対策術!

AccessのフィールドにあるHPアドレスデータをExcel上にハイパーリンクデータとして取り込む方法を教えてください。
データとして取り込むことは可能ですが、ハイパーリンクデータとならないのでうまく活用できません。
外部データとして取り込む方法か、Excel上でデータを一括してハイパーリンクデータに変更する方法を教えてください。

A 回答 (2件)

こんにちは。



Excel2003 以上だと思いますが、Excelでは、ハイパーリンクをそのまま貼り付けても、ハイパーリンク化しません。

ハイパーリンクにするだけなら、一旦、Wordに貼り付けておいて、それをハイパーリンク化させてExcelのワークシートに貼り付ければ出来ます。一般のテキストエディタでも可能なはずです。

Wordの場合、Wordの標準が、[両揃え]になっていると、Excelのワークシートに貼り付けると、高さを変えて、ワンセルの中に納まってしまいます。Wordは左揃えのほうがよいと思います。

マクロ・イベントですが、ハイパーリンクが、リスト化されたものでしたら、ハイパーリンク化せずに、以下のようなダブルクリック型にしたほうがよいです。Excelのハイパーリンクは、うっとうしく感じます。

ただし、枠線をダブルクリックしないように気をつけてください。別の場所に飛びます。枠線のダブルクリックには、組み込みのショートカットがあります。
'--------------------------------------------
'シートモジュール

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If InStr(1, Trim(Target.Value), "http://", 1) = 1 Then
 Shell "Explorer.exe " & Target.Value
End If
End Sub

特殊な処理をするなら、WMIで、IEチェックをして、オートメーション・オブジェクトにしますが、通常のハイパーリンクでは、必要ないように思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
テキストエディタを使うことは思いつきませんでした。
確かにハイパーリンクはうっとうしいのですが、出来上がったファイルをCalcにする場合があるのでこの方法でやってみます。

お礼日時:2008/08/17 13:18

セルの選択イベントで、特定の列のデータをURLとして、IEを起動する例を参考URLで回答しています。

これなら、データを変換する必要はありません。
おまけで、選択範囲のURL文字列をハイパーリンクに設定するマクロも載せます。エラー対策は全くしてありませんので、対象外データに対する誤操作に注意してください。
Sub test()
Dim myCell As Range

For Each myCell In Selection.Cells
ActiveSheet.Hyperlinks.Add Anchor:=myCell, Address:= _
myCell.Value, TextToDisplay:=myCell.Value
Next
End Sub
標準機能で行う方法の有無は存じません。ご参考まで。

参考URL:http://okwave.jp/qa4160290.html
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
ちょっと難しそうですが頑張ってみます。

お礼日時:2008/08/17 08:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!