|
▼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
|
|