- ベストアンサー
Access上のデータをExcelのハイパーリンクに取り込みたい。
AccessのフィールドにあるHPアドレスデータをExcel上にハイパーリンクデータとして取り込む方法を教えてください。 データとして取り込むことは可能ですが、ハイパーリンクデータとならないのでうまく活用できません。 外部データとして取り込む方法か、Excel上でデータを一括してハイパーリンクデータに変更する方法を教えてください。
- みんなの回答 (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チェックをして、オートメーション・オブジェクトにしますが、通常のハイパーリンクでは、必要ないように思います。
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
セルの選択イベントで、特定の列のデータを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 標準機能で行う方法の有無は存じません。ご参考まで。
お礼
早速の回答ありがとうございます。 ちょっと難しそうですが頑張ってみます。
お礼
回答ありがとうございます。 テキストエディタを使うことは思いつきませんでした。 確かにハイパーリンクはうっとうしいのですが、出来上がったファイルをCalcにする場合があるのでこの方法でやってみます。