tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: ACCESS未インストール環境でのレポート印刷について
投稿日: 2014/07/09(Wed) 01:25
投稿者魔界の仮面弁士
> processId = Shell("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE C:\PG\SY.mdb",   vbNormalFocus) ←※1

その書き方だと、"C:\Program" というアプリに対して、引数として
"Files\Microsoft" と "Office\OFFICE11\MSACCESS.EXE" と "C:\PG\SY.mdb" を
引き渡しているかのように解釈されてしまう恐れがあります。
(ある程度は自動判断されますが、C:\Program.exe や C:\Program.bat があると誤動作します)

空白を含むパスは
 ・パスの両端を「"」で囲む
 ・ロングファイルネームではなく、8+3のショートファイルネームで指定する
のいずれかの対策を取るようにしておくのが無難です。

先に紹介した URL (KB147816)では、それに対する対策も施されていますので、
"Using a Run-Time Application" の項を再度確認してみて下さい。

それと、/runtime オプションも付与しておいた方が良いかと思います。
このオプションが無くとも、実行環境での差は無いはずですが、
Access 製品版が入っている環境で /runtime モードを指定すると、
ランタイムのみの環境と同じモードで動作するため、事前検証の役に立ちます。


>     ac = GetObject(, "MSACCESS.EXE") ←※2
『Set』キーワードが抜けています。また、肝心のパラメータ指定にも問題があります。
Set ac = GetObject("C:\PG\SY.mdb") に置き換えたうえで、
前回の回答にある KB147816 を再度確認してみて下さい。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。