ACCESS.exeはどこにある?

解決


ひろりん  2007-10-12 23:30:04  No: 99533

SHELLで、Accessのファイルをパラメータ付きで開く場合、
c:\program files\microsoft office\・・・\ACCESS.exe nyao.mdb /cmd xxxx
としないと、
nyao.mdb /cmd xxxx
では、パラメータを認識してくれないことが分かったのですが、
ACCESS.exeが格納されているフォルダがPCによって違うので、困っています。
ACCESS.exeが格納されているフォルダを取得する方法を知ってる方、
教えてください。
お願いします。


くま  2007-10-12 23:34:24  No: 99534

環境変数に登録してみるといいと思います。


ひろりん  2007-10-12 23:52:33  No: 99535

環境変数って、ローカルにiniファイルを作るってことですか?

そうだとしたら、1台ずつ調べるのは大変だし、
勝手に再インストールして、フォルダ名変える人もいるし・・・
最後の手段とさせて頂きます。

くまさん、ありがとうございました。

他の方法を知ってる方、お待ちしてます。^^v


KG  2007-10-13 00:13:22  No: 99536

起動したいだけならShellExcecuteを使うという手もありかと思います。


大吉末吉  2007-10-13 00:18:45  No: 99537

レジストリを見るとか・・・
以下のVB.NETのサンプルコードによると、
http://support.microsoft.com/kb/317113/ja

\HKEY_LOCAL_MACHINE\Software\Classes\Access.Application\CLSID

の既定として登録されているCLSID({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}形式)を探して、
対応する

\HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}\LocalServer32
の、既定の値に、Accessのパスが設定されているようです。

#VB6の場合、APIで参照することになると思います。


ひろりん  2007-10-13 03:59:13  No: 99538

ShellExcecuteでやっても、/cmd以下を認識しませんでした。><

最終的にレジストリ取得でやってみて、
C:\PROGRA~1\MICROS~2\Office\MSACCESS.EXE
を取得できました。
短い名前で取得されたので心配でしたが、無事SHELLで起動できました。

KGさん、大吉末吉さん、ありがとうございました。
お二人に何か良いことがありますように。
あ、くまさんも。^^;


KG  2007-10-16 03:39:28  No: 99539

ああ、そうかShellExcecuteはファイルを直接実行ですもんね、、、

確かにヘルプにはAccess.exeの引数としてファイル名を渡すように
書いて有ります。

#よく調べずに投稿して申し訳ない orz


スクリプトプログラマ  2007-10-16 08:34:51  No: 99540

ACCESSは特別なのか知れませんが、
普通、CMD.EXE /C START EXCEL.EXEで起こせるものは、
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
に登録されていますが。。。もし、そうなら、
ShellExecuteで、MSACCESS.EXEと引数nyao.mdb /cmd xxxxを指定して
実行できるのでは?
ACCESS、ないので分かりませんが。。。


KG  2007-10-16 18:06:16  No: 99541

スクリプトプログラマ様

>ShellExecuteで、MSACCESS.EXEと引数nyao.mdb /cmd xxxxを指定して
>実行できるのでは?

確かにそうだと思いテストしてみたところうまく行きました。
ひろりん様としては解決していますが、せっかく検証したので
過去ログに残すという意味で投稿しようかと思います。

例)

ShellExecute Me.hWnd, "Open", "MSACCESS.EXE", "C:\db1.mdb /cmd Test", "C:\", 1

#マジックナンバーを使っているのはご容赦下さい orz


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加