Excel VBA質問箱 IV

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

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


34983 / 76732 ←次へ | 前へ→

【46952】Re:ハイパーリンクでMDBファイル内の指定したテーブルを開きたい
発言  ichinose  - 07/2/23(金) 7:59 -

引用なし
パスワード
   ▼susan さん:
おはようございます。

>HYPERLINK関数で他のブックの指定したシートを開く方法はわかったのですが
> (例)=HYPERLINK("BOOK1.xls#'Sheet1'!A1","他のブックのシートを開く")
>
>同じような方法でMS-ACCESSのMDBファイル内の指定したテーブルを開くことはできるのでしょうか。
このとおりの仕様にするのは面倒かもしれませんよ!!


1 ユーザー定義関数(例えば Myhyper)で指定セルにハイパーリンク設定時のような
  動作を可能にする
 (セルの指定文字列に色を付けてポイント時にはマウスを手の形に代える動作)
2 FollowHyperlinkイベントで上記のユーザー定義関数がセルに設定されているか
 をチェックし、設定されていれば、MDBのパスとテーブル名の抜き出し

3 抜き出した MDBファイルパスとテーブル名からアクセスを起動し、
 データベースを開き、テーブルを表示

特に2番の文字列解析が厳密にやると面倒ですね!!


因みにMDBパスと テーブル名が取得できれば
以下のコードでテーブルの表示は出来ます。

標準モジュールに

'================================================================
Option Explicit
Private Declare Function ShowWindow Lib "USER32" _
       (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWMAXIMIZED = 3
'====================================================================
sub openmdbtabl(mymdbpath As Variant, tblnm As Variant)
   With CreateObject("access.application")
    .Visible = True
    ShowWindow .hWndAccessApp, SW_SHOWMAXIMIZED
   .OpenCurrentDatabase mymdbpath
   .DoCmd.OpenTable tblnm
   .DoCmd.Maximize
   End With
End Function

'使い方は例えば
'===================================================================
sub main()

  Call openmdbtabl("D:\データベース\mydb.mdb", "dsptbl")

end sub

4 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 発言

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