バッチファイルでファイルを閉じる方法は?

このQ&Aのポイント
  • Accessで、バッチファイルを利用して自分自身の最適化を行う方法について教えてください。
  • ファイルを2重に開いてしまうことが原因で、最適化がうまくいかない場合、バッチファイルからファイルを閉じる方法はありますか?
  • ご教示いただけると幸いです。
回答を見る
  • ベストアンサー

バッチファイルで開いたファイルを閉じたい。

Accessで、バッチファイルを利用して自分自身の最適化を行おうと思っています。 REP_管理.mdbのボタンで最適化.batを実行させるつもりです。 最適化.batの中身は start /w "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "D:\database_R\REP_管理.mdb" /compact start /w "D:\database_R\REP_管理.mdb" 上記の通りなのですが、ファイルを2重に開いてしまう為かうまく最適化できません。 一行目の前に一度ファイルを閉じようかとも思ったのですが、バッチファイルからファイルを閉じる方法がよく分らないのです。 よろしければ教えていただけないでしょうか。お願いします。

  • soka
  • お礼率92% (13/14)

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

Accessのバージョンは2000以降ですか? それならば[ツール]-[オプション]をクリックして[全般]タブをクリックします。そこに「閉じる時に最適化する」という項目がありますのでチェックを付ければ毎回Access終了時に最適化されます。 VBAでバッチファイルを起動していると思いますが、バッチファイルを実行した後に Application.Quit か DoCmd.Quit ←Access95用 でAccessを終了させる事は可能です。(VBAの記述) 但しその場合バッチファイルの先頭である程度処理を止めておくと良いでしょう。Accessの終了に時間が可能性があるため。 参考URLは過去質問です。

参考URL:
http://odn.okweb.ne.jp/kotaeru.php3?q=163216
soka
質問者

お礼

DoCmd Quit で閉じるようにはしていたのですが、Accessの終了に凄く時間がかかっていたようです。 おかげさまでなんとかなりました。 ありがとうございました。

関連するQ&A

  • バッチファイルからAccessのマクロを操作する。

    コマンドでACCESS2002のファイルを開けてそのファイルのマクロを操作するバッチファイル作成したいのが、よくわかりません教えてください。 "C:\Program Files\Microsoft Office2002\OFFICE\MSACCESS.EXE" "C:Sample\text.mdb" /x "mcr_test" ではマクロが動きません。

  • XpとVistaでパスの違いが出て困っています。

    はじめまして、お世話になります。 XpとVistaでパスの違いが出て困っています。 XpとVistaでMDBの起動を現状以下の2種類のBATファイルで行っています。 WindowsXP Test.bat @ECHO OFF START /MAX C:\"Program Files\Microsoft Office\Office10"\MSACCESS.EXE C:\Test\Test.MDB WindowsVista Test.bat @ECHO OFF START /MAX C:\"Program Files\Microsoft Office\Office12"\MSACCESS.EXE C:\Test\Test.MDB Officeのバージョンによって、MSACCESS.EXE の保存先が XpだとC:\"Program …\Office10 VistaだとC:\"Program …\Office12 と異なります。 XpとVistaでパスが違っていても、ひとつのBatファイルで起動できるようにしたいです。 足りない情報があれば細くします。皆様のお知恵を拝借できればと思います。宜しくお願いします。

  • バッチでmdbを最適化したいのですが、ldbファイルが存在した場合の処

    バッチでmdbを最適化したいのですが、ldbファイルが存在した場合の処理キャンセルが分かりません。 親フォルダ ├子フォルダ1 │├AA.mdb │└BB.mdb ├子フォルダ2 ・・・ 現在は下記を実行しています。 set backdate=%date:~-10,4%%date:~-5,2%%date:~-2,2% set logfile=\\192.168.10.15\d\ACCESSBackup\log\copyall_%backdate%.log date /T >> %logfile% time /T >> %logfile% xcopy "\\192.168.10.14\ACCESS_SYSTEM" "\\192.168.10.15\d\ACCESSBackup\ACCESS_SYSTEM\" /C /D /E /R /Y >> %logfile% for /f %%A in ('dir /b /s C:\ACCESS_SYSTEM\*.mdb') do "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" %%A /compact 上記で 親フォルダ丸ごとバックアップ ログファイルを出力 親フォルダからmdbを全て検索し最適化 ↑ この最適化の前に%%Aのファイルのldbが存在したら最適化をキャンセルさせたいのですがやり方がわかりません。 %%A→C:\ACCESS_SYSTEM\子フォルダ\AA.mdbだったら C:\ACCESS_SYSTEM\子フォルダ\AA.ldbの存在をチェックし、あれば最適化しない。 mdbが多いので、VBAで個別に組み込まずタスクで夜中にでも一気にバックアップ・最適化したいと考えています。 どなたか知恵をお貸し下さい。 宜しくお願いいたします。

  • バックアップと最適化

    Win2000、Access97を使っています。 アクセスの「バックアップ」と「最適化」を、日に一度、自動で行いたいです。 そして、以下のHPでそれらしき方法をみつけました。 http://www.okweb.ne.jp/kotaeru.php3?q=72903 このHPの一番上の回答に以下の文面があり、これならできるかなと思いやってみたわけです。 ***私のバッチファイル*** start /w "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "C:\Documents and Settings\デスクトップ\設備管理.mdb" /compact "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "C:\Documents and Settings\デスクトップ\設備管理.mdb" ちなみに、"通常起動"は付けませんでした。 結果は、以下の点でダメでした。 ・アクセスが起動したので、閉じたら、再度アクセスが起動した。(←ここでbackupをしているのだとしたら、そのbackupしたものはどこに保存されるのですか?) ・アクセスは起動するが、最適化がされていない(容量が減ってない) そこで、これらを解決したいのですが、どなたか教えて下さい。 宜しくお願い致します。

  • nkfのバッチファイル

    親ディレクトリ以下のすべてのテキストファイルの文字コードをutf-8に変えようと思い、以下の内容のバッチファイルを作りました(nkf32.exeはバッチファイルと同ディレクトリに置いています)。Cドライブ(デスクトップ)上で実行したところ、問題なく動いたのですが、USBメモリ(Dドライブ)に置いて実行するとうまく動きません。ご教示お願いします。 >test.bat for /R .. %%i in (*.txt) do ( nkf32.exe -w8 --overwrite %%i )

  • バッチファイルについて

    バッチファイルで複数起動する時に フォルダー名のフルパスが必要ですよね?? 参照 start "" "C:\Documents and aaaa\root\デスクトップ\aaaa\aaaa.bat" これのaaaa.batより以前を自動で拾いたいのですが可能ですか?? また拾ってきて aaaa.batとどうやって引っ付ければ start "" "C:\Documents and aaaa\root\デスクトップ\aaaa\aaaa.bat" ココに指定できますか?? 初心なもので、質問がおかしいと思いますが、宜しくお願います。

  • バッチでデフラグ

    Windows2003R2の試用版で色々と試しているのですが、バッチでデフラグを行うことがどうしてもできません。 バッチに書いてあるものは「defrag c: /f」の一行のみです。 尚、C:\batの直下に置いてあります。プロンプトで上記の一行を入力すると正常に デフラグが開始されるのですが、バッチにしてキックすると、「c:\bat>defrag c: /f」が延々と流れていきます。 ちなみにバッチそのものは、どのディレクトリに置いても変化はありません。 (黒画面の表示は変わりますが、延々文字が流れていくのは変わりありません) 何故なんでしょうか??? アドバイスを宜しくお願い致します。

  • Dosのバッチをマクロにしたい

     以下の内容のDosバッチファイルがあるのですが、これをマクロ化してどのPCでも使えるようにしたいと思います。どのように書けば良いのかご指導ください。  DOS.batの内容は、概ね以下の通りです。 del I:\AAA\BBB\*.xls 'ワークブックの削除 D: cd D:\Program Files\Microsoft Office\Office\ MSACCESS.EXE    'ACCESSの立ち上げ I:\CCC\DDD\EEE.mdb 'EEE.mdbを開く(データベースの修正作業)  'これが終了したら(右上の×をクリックすると)次へ EXCEL.EXE      'Excelの立ち上げ I:\FFF\GGG\HHH.xls 'HHH.xlsを開く 'auto_openマクロが走る(終了すると) EXCEL.EXE       'Excelの立ち上げ(これは無駄?) I:\JJJ\KKK\LLL.xls 'HHH.xlsを開く 'auto_openマクロが走る '以下excelのマクロをいくつか走らせます。  よろしくお願いします。

  • バッチファイルについて

    お聞きしたいのですが、 あるディレクトリーに test.bat test.php test.txt があり test.bat で test.php を起動して text.txt を一行一行処理しているのですが、 バッチファイルで、強制終了したとして(Ctrl + C) もう一度起動せずに Entertキー を押して test.txt の次の行から開始したいのですが可能ですか?? 詳しい方がいましたら教えてください。 宜しくお願いします。

  • バッチファイルでMDBを終了したい。

    いつもお世話になっています。 今回はあるmdbファイルをバッチファイルを使って終了させたいのです。 例えば、Dドライブ直下に123.MDBというファイルがあります。これを19:00に終了させたいのですがどうしたらいいのでしょうか?バッチファイルを作成できればタスクマネージャーを19:00に実行して終了させようかと思っています。MDBのタイマーイベントは別で使用している為、使えません。コマンドプロンプト等でなんとか・・・ ご理解いただけましたでしょうか? よろしくお願いします。

専門家に質問してみよう