• ベストアンサー

Access2002のマクロ教えてください。

Access2002のマクロのアクションの項目にデスクトップにあるアプリのショートカットを実行させるアイテムはあるのでしょうか。一応見てみましたが分かりませんでした。叉無い場合VBAとしてどのように書けばよいのでしょうか。 アクションの項目の中にあるアプリケーションの実行でそのアプリのパスを書けば良いことは分かっているのですが下記の様な訳があってhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=836176 それが出来ずこのような質問になりました。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.5

No.3です。 バッチファイルを指定、実行する手順を解説します。 [スタート]-[プログラム]-[アクセサリ]-[メモ帳]を起動します。 以下の内容を入力します。 C:\Program Files\GEK\GEK32.EXE [ファイル]-[名前を付けて保存]で適当なフォルダ(仮にC:\Test)を選択し、「"GEK.bat"」とダブルクォートで囲った名前を入力、保存します。 Accessのマクロで新規マクロを作成し、 アクション:アプリケーションの実行 下段コマンドライン:C:\Test\GEK.bat を入力します。 その後、マクロを実行してみて下さい。

noname#18634
質問者

お礼

丁寧に教えていただき有り難うございます。早速やってみましたが結果は開かずでした。そこで直接BATをクリックすると一瞬背景が黒いMSDOSみたいな画面に白文字で何か書いてありますが一瞬で消えるため何回もフラッシュさせ何とか読み取ったところ「このファイルはプログラム叉はバッチファイルとして認識されていません」と言うようなことが読み取れました。 素人には分かりませんがよっぽど相性が悪いのでしょうね。ショートカットからは立ちあがるのに。 最後までつきあっていただき有り難うございました。Accessとの連携はあきらめて単独に使用します。叉宜しくお願いいたします。

その他の回答 (4)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

> 実行してみましたが無反応でした。 と言う事は、マクロ自体が呼び出されていない可能性もあります。 他のプログラムはOKという状況が説明できませんが…。 -- > ショートカットを働かすマクロはあるのでしょうか。 思い付く方法を試してみましたが、Accessからの呼び出しではうまく行きませんでした。 別の方法になりますが、batファイルを作成して、batファイルを呼び出す方法では? ---C:\Test\GEK.bat--- C:\Program Files\GEK\GEK32.EXE のファイルをC:\Testに作成。 当初の方法の要領で「C:\Test\GEK.bat」を実行する。

noname#18634
質問者

補足

早速有り難うございます。別の方法のBATファイル大変興味がありますが恥ずかしいですけどこの文をC:¥にどうやって書くのか叉GEK.BATを実行するにはAccessのアプリケーション実行にこれを指定するのか全然分かりません。もし可能ならば教えてください。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

以前の質問を拝見しましたが、原因は見当も付かなかったです。 手元にはAccess97しかないので、表記が異なるかもしれません。 -- 現在は、 ・フォームに貼り付けたコマンドボタン  右クリック-[プロパティ]  「クリック時」のイベントプロシージャ ・マクロの「アプリケーションの実行」  コマンドライン「C:\Program Files\GEK\GEK32.EXE」 の2つの手順を試したが、両方×という事でよろしいでしょうか? 前者のイベントプロシージャを「...」で覗いてみると、実際の処理は以下のようなVBAで記述されていると思います。 Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click   Dim stAppName As String   stAppName = "C:\Program Files\GEK\GEK32.EXE"   Call Shell(stAppName, 1) Exit_コマンド1_Click: ・ ・ VBAを使用する場合でも、通常は同じ記述になります。 ただ、Shellの実行結果が見えませんので、以下のように書き換えて実行結果を表示してみて下さい。 (変更後) Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click   Dim stAppName As String   Dim vRet As Variant   stAppName = "C:\Program Files\GEK\GEK32.EXE"   vRet = Shell(stAppName, 1)   MsgBox "vRet=" & vRet Exit_コマンド1_Click: ・ ・ メッセージボックスに「vRet=0」と表示される場合は呼び出しに失敗。それ以外の数値が表示される場合は呼び出しには成功しているが、表示されない理由は別にある、というように切り分け出来ます。

noname#18634
質問者

補足

いろいろご配慮有り難うございます。実は教えていただいた方法は私の実力では手に余る物ですが、一応何んとか変更後の命令文を書いて実行してみましたが無反応でした。と言うかMSGBOXは表示されませんでした。 この際自分の実力以上の物はあきらめこの質問にかえってこのアプリのショートカットを働かすマクロはあるのでしょうか。お手数かけますがあれば教えてください。そんな方法はない場合はあきらめてAccessを最小化しそのアプリを立ち上げます。でもこれって何かコンピューターらしくないんで頑張ってみたんですが駄目な物は駄目でしょうがないですね。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

そのアプリがどういうものか知りませんが、Googleで「GEK32.EXE」で検索したらこんなのがありました。 参考になれば幸いです。 頑張ってください(^o^)丿

参考URL:
http://www.maruo.co.jp/comsoft/3/m021008.html
noname#18634
質問者

お礼

お手数をかけて有り難うございます。頑張ってみます。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> そのアプリのパスを書けば良いことは分かっているのですが とりあえず以下の点を確認してください。 そのアプリケーションを、Cドライブの直下などにおいて、 パスを指定し、実行できるか。 パスの中に、半角スペースなどがある場合は、きちんと実行できないことが あると思います。 #その場合は、前後を3つぐらいのダブルクォーテーションでくくってやれば  大丈夫だったとは思いますが。。 > デスクトップにあるアプリのショートカットを ショートカットではなく、アプリケーションの本体を指定することは できないのでしょうか?

noname#18634
質問者

補足

有り難うございます。Cドライブの直下においてもだめでした。(一度削除してCに置いた) パスの貼付にはコピペでやったり手書きでやったりしましたが駄目でした。因みにパスは C:\Program Files\GEK\GEK32.EXE です。 上記の本体を指定しても駄目なのでこの上は仕方なく ショートカットを指定したいと思い質問した次第です。 宜しくお願いします。

関連するQ&A

専門家に質問してみよう