• ベストアンサー

VBSでAccessマクロ実行

VBSでAccessのマクロを実行するには、どうすればよいか教えてください。 どうか、お願いします。

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

  • ベストアンサー
回答No.2

#1 です。 Access をオートメーションでコントロールするには、「何をどう書けば Access の各機能を操作できるのか」を覚える必要があります。 練習としては Excel を使うと良いでしょう。 Excel の VBEditor を開き、参照設定で「Microsoft Access xx Object Library」(xx はバージョン番号)を参照設定し、[F2] でオブジェクト ブラウザを開いて Access Application の下を見てみるとイロイロと出てくると思います。 とりあえず Dim acApp As New Access.Application acApp.OpenCurrentDatabase FilePath:="C:\hoge.mdb" これで準備完了です。 あとはオブジェクト ブラウザを見たり、「acApp.」と書いたところで出てくるインテリセンスの一覧を見たりしてやってみてください。 というかたぶん・・・ たぶんですが、 acApp.DoCmd ~ だと思います・・・ なんでこんな回りくどい書き方をしてるのかって言うと、単純に今手元に Access がないからです(^_^; でもこうすると学ぶべきものが多いですよ。

pyontanrie
質問者

お礼

ご回答ありがとうございます。おっしゃるとおり、VBSで直接、MDBファイルをコントロールする方向でいきたいと思います。 ご丁寧な、お返事本当にありがとうございました。

その他の回答 (1)

回答No.1

想定している背景がわかりません。 そのマクロが何をするものなのかもわかりません。 VBScript からマクロを動かすのは手段であて、たぶん目的じゃないと思います。 それらによっては例えば「外部ファイルである VBS からマクロを実行する」じゃなくて、「VBS から MDB 内のデータを操作する」という解のほうが合っているかもしれません。 というよりか先に言ってしまうと、 マクロが Access のユーザーインターフェイスを操作するようになっているんじゃなければ、VBS からデータを操作するように考えた方がスマートです。 ADO を使います。 マクロが Access のユーザーインターフェイスを操作するようになっているのであれば、オートメーションで Access を実行して、目的の MDB を開かせて、目的のマクロを実行するようにするのが良いでしょう。 まずは、そもそもの目的なんぞを公開してみてはどうでしょうか?

関連するQ&A

  • VBSでエクセルマクロの実行中

    VBSでエクセルを起動しマクロを実行ここまでは上手くいったのですが マクロはファイルを開いたエクセルにペーストするものですが ファイルを移すときにこのファイルで良いですかと聞いてきます いつもENTで実行しているのですが ENT key を押すか 開く(o)をクリックこれをVBSに組み入れたいのですが 出来るでしょうか?

  • VBSでEXCELのXLSTARTにあるマクロを実行するには

    VBSを実行したときに既にEXCELを開いている場合にはFor Each wb In Workbooksを使ってXLSTARTフォルダにあるファイルのVBAマクロを実行できます。しかし、EXCELを開いていない場合にはCreateObject("Excel.Application")でEXCELを開いてもXLSTARTフォルダにあるファイルそのものが見つかりません。VBSを使わず、プログラムファイルからEXCELを開く場合にはXLSTARTフォルダにあるファイルも問題もなく開きます。どうすればEXCELを開いていない場合でもVBSでEXCELのXLSTARTにあるマクロを実行できるでしょうか? 因みにXLSTARTのフォルダパスは不特定多数の環境(OSはWindows95-XP、EXCELは97-2007の組合せ)で特定されていないものとします。さらにツール、オプションの全般タブの「起動時に全てのファイルを開くフォルダ」にはXLSTARTが指定されているものとします。

  • ACCESSのVBS

    ACCESSの入力フォームをVBSを使って作成したいと思っています。 必要項目を入力し終わった時点で登録ボタンを押して新規のレコードに登録できるフォームを作りたいと思っています。 VBS、関数等の勉強をするにあたってお勧めの本を教えてください。 ちなみに、ACCESSは仕事で多少使っていますが、VBS、マクロ、関数についてはド素人です。 よろしくお願いします。

  • 各DBのaccessマクロを1回で実行したい

    教えてください・・・ 3つのDBでそれぞれマクロを作成しました。 マクロは「クエリの実行」を指定しているだけのものです。 これを1回の実行で流れるように連結させたいのですが、 どのようにすればよいのでしょうか? VBSでもVBAでも実行方法は問いません。 そしてmdbではなくaccdbです。 さっぱりわからなくなってきてしまいました・・・。スランプです(><) すみませんが、初心者レベルのご教示をお願いします・・・

  • エクセルのマクロからアクセスのマクロ実行命令を出せますか?

    教えてください。 一連の作業をアクセスのマクロとエクセルのマクロを使って作業を完成させました。 まず最初にエクセルのブックを起動し、マクロを実行し作業をさせ、その後にアクセスを起動させ、マクロを実行し、作業ファイルをエキスポートさせ、またエクセルに戻り、エクセルマクロを実行させて作業を関せさせたいと思います。 そこで、エクセルのマクロでアクセスを起動させ、アクセスのマクロを実行させるようなことはできるのでしょうか? よろしくお願いします。

  • vbsからのWordマクロ実行

    やりたいこと  vbsからWordマクロを実行し復帰値をMsgBoxで表示する。 問題点  Test関数を実行し復帰値を取得したいのですがコンパイルエラーとなってしまいます。   正しい書き方を教えてください。 Set oApp = CreateObject("Word.Application") oApp.Documents.Open WScript.Arguments(0) Dim code code = oApp.Run Test ★ MsgBox code

  • Accessのマクロの実行

    いつもお世話になっております。 現在、Access2003で顧客管理の アプリケーションを作成しています。 フォームなどを開く時にマクロを2つ実行したのですが、 フォームの「プロパティ」の「開く」の欄に2つ入力することは 可能なのでしょうか? それともVBAでマクロを実行させるのでしょうか? どなたかご教授よろしくお願いします。

  • MSアクセスのマクロ・モジュールを実行

    MSアクセスのマクロ/モジュールを.batバッチファイル、もしくは.vbsのVBスクリプトでキックさせたいと思っています。 こういった方法は可能でしょうか?ぜひ教えて下さい、よろしくお願いします。

  • Access2000のVBAでエクセルマクロ実行

    お世話になります。 Access2000のVBAでエクセルのマクロとアクセルのマクロを 交互に実行したいと思っております。 (1)エクセルのマクロ1を実行 (2)アクセスのマクロAを実行 (3)エクセルのマクロ2を実行 と交互に実行したいのです。 下記のサイトなどを参考に試みたのですが、 http://www.nurs.or.jp/~ppoy/access/access/acX005.html (1)を実行している途中に (2)が進んでしまいます。 どのようにすれば、(1)が終わってから(2)と、前の処理が 終わってから次の処理に進むことが出来るのでしょうか? Access2000のVBAから指示をかけたいので、 Access2000のVBAのコードで教えて頂ければと 思います。

  • VBSでAccessデータ操作

    VBSにてAccessデータを操作するのに、定義ファイルadovbs.incを読込むはずですが、Officeの入ってないOS(Accessが動かない環境)では、VBSでAccessデータを操作することは、不可能なのでしょうか? adovbs.incを読まなくても、VBSから実行できるのでしょうか?どうか、教えてください。