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

ACCESS2002でのハイパーリンクURL一覧を取得したい。

EXCELワークシートのセル項目に表示内容とハイパーリンクURLが設定されています。
このワークシートをインポートすると表示内容しか取得できません。

そのURLも同時に取得する方法を教えてください。

A 回答 (2件)

Excelから、mdbに書込ましょう。


下記はA1セルに入っているハイパーリンクを読み込んで、ハイパーリンク型のフィールド1個だけのmdbに追加するコードです。VBAエディタのツール/参照設定で、ADOに参照設定してください。2.xの部分は、新しい方から選択してください。
????の部分は環境に合わせて書き換えてください。
詳細は参考URLでお勉強してください。
'Microsoft ActiveX Data Object 2.x Libraryに参照設定

'Helpによると、ハイパーリンク型のフィールドには、次の順序で値を格納する
'----------------------------------------------------------------
'表示する文字列#リンク対象アドレス#サブアドレス#ポップアップヒント
'----------------------------------------------------------------
Sub writeDataTest()

Dim myConn As ADODB.Connection
Dim myConStr As String
Dim tableName As String
Dim myDBFName As String
Dim myPswd As String

myDBFName = "F:\Documents and Settings\????\My Documents\????.mdb"
myPswd = ""
myConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& myDBFName & ";Jet OLEDB:Database Password=" & myPswd & ";"
tableName = "?????"
Set myConn = New ADODB.Connection
myConn.Open myConStr
On Error GoTo ConnCloseHdl
With New ADODB.Recordset
.Open tableName, myConn, , adLockOptimistic
On Error GoTo RSCloseHdl
.AddNew
'ここでは表示する文字を、正味のURLに設定している
.Fields(0) = "#" & Range("a1").Hyperlinks.Item(1).Address & "#" & _
Range("a1").Hyperlinks.Item(1).Address
.Update
RSCloseHdl:
.Close
End With
ConnCloseHdl:
myConn.Close
Set myConn = Nothing
If Err.Number <> 0 Then
MsgBox (Err.Number & " " & Err.Description)
End If
End Sub

参考URL:http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …

この回答への補足

Hyperlinks.Item(1).addressを使えばいいのですね
参考になりました。
以下のFUNCTIONをEXCELの標準モジュールにセットして、別カラムに
=showlink("a2") のようにセットすればよいことがわかりました。

Function showlink(POS As String)
If Range(POS).Hyperlinks.Count < 1 Then Exit Function
showlink = Range(POS).Hyperlinks.Item(1).Address
End Function

補足日時:2007/12/08 22:26
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2007/12/08 22:33

質問の意味がイマイチ理解できないのでハズしてるかもしれませんが。


AccessにインポートしたURLを文字列からハイパーリンクにして,クリックすると該当のページに飛べるようにしたいということでしょうか。
そうであれば,URLが記載されているフィールドのデータ形式をハイパーリンクにしてください。
デザインビューから,変更したいフィールドのデータ型でハイパーリンクを選択して変更します。

この回答への補足

早速の回答ありがとうございます。

ACCESSのフィールドをハイパーリンクにして、インポートすると、
EXCELの表示内容がそのフィールドに設定されているだけです。
このため、このフィールドをクリックしてもEXCELでのクリックのように飛べません。
目的は項目の一覧を表示し、ダブルクリックにより内容を表示させようというものです。
たとえば ジャンル・項目・URLのテーブルを作り、ジャンルを選択表示し、その後目的の項目を選択して、URLにジャンプさせようと考えています。
このデータはEXCELで作成したものはありますが、ACCESSにとりこみ
付加情報を加味して利用したいと考えています。
いいやり方をお教えください。

補足日時:2007/12/08 12:09
    • good
    • 0

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