Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


34818 / 76732 ←次へ | 前へ→

【47118】Re:ハイパーリンクでMDBファイル内の指定したテーブルを開きたい
回答  Kein  - 07/3/1(木) 16:14 -

引用なし
パスワード
   >実際のデータを見たいときに
つまりデータを更新するなどの操作はせず、単に見るだけでいいのですね ?
それなら、ご希望の内容に最も沿うと思われる方法を提案します。
まず、ハイパーリンクの設定に関しては、HYPERLINK関数を使った数式を
埋めるのでなく、ワークシートメニューの「挿入」「ハイパーリンク」を
選択して下さい。このとき、当然ですがmdbのデータを落としてくるシート
とは別のシートにハイパーリンクを挿入する必要があります。
で、出てきたダイアログの"表示文字列"に仮に"業種別平均株価データ"
(↓のサンプルの場合)などと、テーブル名を説明するような文字列を入れます。
"ファイル名またはWebページ名"の窓には、HYPERLINK関数の第一引数と同様に、
リンク先を示す文字列を入れます。
そしてVBEを開いて、メニューの「ツール」「参照設定」で Microsoft DAO 3.6
Object Library にチェックを付け、ハイパーリンクを設定したシートの
シートモジュールに以下のようなマクロを入れます。
当然ですがマクロ内の定数 myMdbFile は実際のmdbファイルのフルパスに書き換え、
OpenRecordset の引数も実際のテーブル名に書き換えておいて下さい。
あと飛んでいくリンク先のシート名に合わせて
> With Worksheets("Sheet1")
のところも適当に書き換えて下さい。

そこまで準備ができたらハイパーリンクをクリックすれば、リンク先シートのA1から
1行目のフィールド名に続いて全レコードが入力・表示されます。
なお、項目行+レコード数が、シートの最大行数を超えないように注意して下さい。

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  Dim myCurDb As DAO.Database
  Dim myCurRset As DAO.Recordset
  Dim I As Long
  Const myMdbFile = _
  "C:\Documents and Settings\User\My Documents" & _
  "\DBFiles\マクロ経済指標.mdb"
  
  If Target.Name <> "業種別平均株価データ" Then Exit Sub
  Set myCurDb = OpenDatabase(myMdbFile)
  Set myCurRset = myCurDb.OpenRecordset("業種別平均株価")
  With Worksheets("Sheet1")
    .Cells.ClearContents
    For I = 1 To myCurRset.Fields.Count
      .Cells(1, I).Value = myCurRset.Fields(I - 1).Name
    Next
    .Range("A2").CopyFromRecordset myCurRset
  End With
  myCurRset.Close: Set myCurRset = Nothing
  myCurDb.Close: Set myCurDb = Nothing
End Sub

1 hits

【46924】ハイパーリンクでMDBファイル内の指定したテーブルを開きたい susan 07/2/21(水) 23:10 質問
【46949】Re:ハイパーリンクでMDBファイル内の指定し... Kein 07/2/22(木) 23:01 発言
【46952】Re:ハイパーリンクでMDBファイル内の指定し... ichinose 07/2/23(金) 7:59 発言
【47106】Re:ハイパーリンクでMDBファイル内の指定し... susan 07/2/28(水) 23:48 お礼
【47118】Re:ハイパーリンクでMDBファイル内の指定し... Kein 07/3/1(木) 16:14 回答
【47133】Re:ハイパーリンクでMDBファイル内の指定し... ichinose 07/3/1(木) 23:11 発言
【47176】Re:ハイパーリンクでMDBファイル内の指定し... ichinose 07/3/3(土) 7:56 発言

34818 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free