MS ACCESS2000(もしくは2003)にADOを使ってレコードを追加するアプリケーションを作っています。そこで質問なのですが、アクセスのデータベースが起動した状態(ウィンドウが開いている状態)で、外部からデータベースのファイルのパスを取得する方法はありますでしょうか?例えば、ウィンドウハンドルからファイルのパスを取得する方法とか・・・。なお、取得したいのは「.mdb」ファイルのパスであり、「MSACCESS.EXE」のパスではありません(念のため)。開発環境はVisualStudio.net2003 C++ です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:cx20 No.1

回答回数607ベストアンサー獲得回数108

ポイント60pt

http://www.geocities.jp/cbc_vbnet/ADO/setuzoku.html

アクセスVBA講座_ADO_データベースに接続

現在実行中の Access のインスタンスを取得するには、

GetObject() を利用します。

以下は、WSH(VBScript)を利用した例です。

’ PrintAccessMdb.vbs

Dim app

Set app = GetObject(, ”Access.Application”)

WScript.Echo app.CurrentProject.Path

WScript.Echo app.CurrentProject.Name

http://support.microsoft.com/default.aspx?scid=kb;ja;196776

Visual C++ を使用した Office オートメーション

URL は、VC++ で Office オートメーションを利用する方法に関する情報です。

VC++ で行う場合は、GetActiveObject() API を利用します。

http://support.microsoft.com/default.aspx?scid=kb;ja;238610

[OFF2003] [PRB] GetObject や GetActiveObject を使用して実行中の Office アプリケーションを検出できない

参考情報です。

id:onojima

ありがとうございます。

参考にしてやってみます。

2004/11/29 22:30:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません