• ベストアンサー

Access上のデータをExcelのハイパーリンクに取り込みたい。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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チェックをして、オートメーション・オブジェクトにしますが、通常のハイパーリンクでは、必要ないように思います。

gemini55
質問者

お礼

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

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

セルの選択イベントで、特定の列のデータを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
gemini55
質問者

お礼

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

関連するQ&A

  • エクセル2013ですが、ハイパーリンクがじゃま

    エクセルで入力したデータで、メールアドレスやURLなど自動でハイパーリンクの設定がされてしまいます。 入力の設定でそうならないようにできますが、設定した内容は、設定変更後に入力されたURLなどに適用されます。設定変更前に入力されたURLなどには、適用されません。 すでに入力してしまったアドレスのハイパーリンクをまとめて解除する方法はないのでしょうか?

  • (Access)電子メールのハイパーリンクについて

    簡単なことかもしれないのですが、どうしてもわからないのでどなたかご教授ください。 現在Access2003でデータベースを作成しています。 電子メールのハイパーリンク設定がどうしてもうまくいきません。 デザインビューでテーブルを作成し、「URL」と「電子メール」というフィールドを作成しました。 それぞれデータ型を「ハイパーリンク」に変更しました。 電子メールのフィールドに例えば「aaa@aaa.aaa」と入力しても、データシートビュー上でそのアドレスの上にマウスカーソルをのせると 「http://aaa@aaa.aaa」となっているのです。 ひとつずつ右クリックして、「ハイパーリンクの編集」を開くと、[webページ]となっているので[電子メール]に設定しなおしているのですが、 最初から電子メールであると認識させるにはどのようにしたらよいでしょうか? 設定か操作方法がおかしいのでしょうか。 いろいろ自分で調べたりしてみたのですが解決できずに困っています。 宜しくお願いします。

  • EXCELデータからACCESSデータの更新

    ある一定期間で送られてくるエクセルベースのデータをアクセスのデータへ更新をかけたいのですが何かよい方法は無いでしょうか? エクセルのデータは二つで毎日データ更新がされて週に一回くらい送られてきます。アクセスのデータベースも同じように変更をおこなってる部分もあるので一括インポートも難しいです。 アクセスデータをエクセルに出力の上MATCHを行い更新された部分を探して更新すればいいのですがあまりにも量が多いものですから何かいい方法は無いでしょうか?

  • エクセルとアクセスのデータ比較(VB6.0)

    エクセルとアクセスのデータ比較ツール(VB6.0) 質問者:SSCSC アクセスからエクセルにコピペされたレコードがあるとします。 そのエクセルのレコードのあるフィールド値を変更します。(このとき、アクセスもエクセルと同様に変更します。) 上記は手作業でします。 そこで、そのエクセルのレコードがアクセスに存在するかどうかをプログラムで作成したいと思っております。 要するにエクセルとアクセスのデータ比較をして、一致していないレコードがエクセルに存在した場合は、ログを出力したいと思っています。 アクセスのデータが比較基準になります。 何か簡単にできる方法はないでしょうか。 今思いついている方法は、 エクセルの1行目はコピペ時にアクセスのフィールド名がコピーされているので、 エクセル、アクセス両方のフィールド値を全て比較対象にしてSQL文で存在するかどうかを確認する方法です。 ご回答よろしくお願い致します。

  • 複数データを一括してハイパーリンクする方法は?

    Excelファイルの特定列及びファイルメーカーProファイルの特定フィールドに大量のメールアドレスやURLがあります。 これを一度にハイパーリンク設定をする方法はあるでしょうか。 一括削除の方法は簡単ですが、マクロを組まない限り設定は1個づつしか出来ないのでしょうか。

  • エクセルのハイパーリンクについて

    エクセルで氏名が書かれ、そこにメールアドレスがハイパーリンクされた一覧があります。 そのハイパーリンクされたメールアドレスだけを抽出するうまい方法はありませんか? 宜しくお願いいたします。

  • エクセル2003 勝手にハイパーリンクが復活してしまい困っています

    エクセルのセルがハイパーリンクだらけに なってしまい、コチラで拝見させていただいた方法で 何度も一括削除しているのですが しばらく作業をしていますと セルに元々設定されていたハイパーリンクが 復活してしまいます。 どなたか一度ハイパーリンクを削除したら 勝手に復活しない方法を教えていただけないでしょうか。 またハイパーリンクを削除すると書式がリセットされてしまい 罫線もなくってしまいますがそれの回避の仕方もご教授お願い 致します。 よろしくお願い致します。 [入力オートフォーマット]の[インターネットとネットワークのアドレスをハイパーリンクに変更する]チェックは Offにしてあります

  • ハイパーリンクを“無効”にしたいのですが

    ウェブ上にあるデータ等をコピーしたあと、エクセルに貼り付けて活用することがよくあります。その際に、エクセルに貼り付けたデータのハイパーリンクを“無効”にしたいのですが、その方法を教えていただけないでしょうか?よろしくお願いいたします。

  • エクセルでハイパーリンク

    エクセルシートにメールアドレスを入力すると自動的にハイパーリンクになってしまいます。 ハイパーリンクにならない方法を教えてください。お願いします。

  • Excel97で、ハイパーリンクを一括変更するには?

    Excel97で、ハイパーリンクを一括変更するには? 古いソフトで大変恐縮ですが、ネットワーク上で、サーバAに保存されたWordデータにリンクされる様にExcel97でハイパーリンクを設定しています。(このリンクはハイパーリンク関数ではなく直接入力したものです。) この度、このリンク先のWordデータの保存先を別のサーバBに変更することになりました。そこでExcelのハイパーリンクも変更したいのですが、データ数が膨大な為、一括で変更できる方法はありませんか? 過去の質問で似たような回答がありましたが(http://okwave.jp/qa/q1323629.html)、このコードの「Replace」はExcel97VBAでは使用不可だと思います。「Replace」の替わりに「Application.WorksheetFunction.Substitute」を使用してみましたが、「Substitute」でコンパイルエラーがでてしまいます。なにか足りない引数等があるようでしたらアドバイス下さい。 なお、Wordデータは日付をデータ名にして年代ごとに保存されています(例:¥¥サーバB¥2009¥0101.doc)。ちなみにExcelでは、A列にハイパーリンク、B列にデータ名を記述してあります。VBAではなく関数を利用して変更する方法があればそれでもかまいません。(例えばC1セルに「¥¥サーバB¥2009¥」まで記述して、A2セルに「$C$1 & B2 & .doc」みたいな記述をしてそれをA3セル以下全部コピーする事って可能でしょうか?)

専門家に質問してみよう