• ベストアンサー

ACCESSのマクロを自動で実行させたい

ACCESSで、 TXTファイルをテーブルにインポートするマクロを作成したのですが、 TXTファイルが毎日更新されるため、毎日自動でマクロを実行させたいと思っています。 ACCESSの機能かWINDOWSの機能ですることは可能なのでしょうか。 ご教授ください

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

  • ベストアンサー
  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.3

Accessのオプションでアクションクエリの確認メッセージをはずせば、アクションに関するメッセージはでなくなります。 >このファイルに意図的にお使いのコンピュータに損害を与えるコードが含まれる場合、ファイルは安全でない可能性があります これはおそらくセキュリティに関するメッセージでしょうから、コマンドでは処理できないようにおもいます。 AccessなのでVBAの脆弱性とか考慮されているのでしょう。 対処はちょっとわかりません。

smorgas030
質問者

お礼

回答ありがとうございます。 セキュリティの設定を変更したらメッセージが出なくなりました。 ありがとうございました。

その他の回答 (2)

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.2

少し間違ってました。 ファイルを一つ開くだけならバッチファイルは不要でした。 タスクを作成するときに、プログラムではなく、MDBファイルを選択してください。

smorgas030
質問者

お礼

回答ありがとうございます。 タスクだけでできるんですね。 勉強になります。 なんども丁寧に回答いただきありがとうございました。

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

MDBを開くバッチファイルを作って、タスクスケジューラでそのバッチファイルを開くように設定します。 マクロ名をAutoexecにすると自動的にマクロを実行します。 バッチファイルの作り方、タスクスケジューラの設定は、長くなるのであえて説明しません。 パソコンを使う上での基礎なのでお調べください。

smorgas030
質問者

お礼

回答ありがとうございます。 バッチファイルの作り方、タスクスケジューラの設定はわかりましたが、調べましたが、MDBを開くコマンドがわかりません。 どのようなコマンドなのでしょうか。

smorgas030
質問者

補足

コマンドはわかりました。 MDBを開くようになりましたが、マクロの中身がTXTファイルをインポートする前に、一度データ削除するのですが、そのとき、 「データを削除しますか」を聞かれ、「はい」を選択します。 ここもコマンドにすることができるのでしょうか。 また、MDBを開くときに、 「このファイルに意図的にお使いのコンピュータに損害を与えるコードが含まれる場合、ファイルは安全でない可能性があります。」 のメッセージも出ます。 こちらも「開く」を選択しますが、ここもコマンドにすることができるのでしょうか。 きいてばかりで申し訳ありませんが宜しくお願いします。

関連するQ&A

  • Access2003でインポートをマクロで簡単に自動化したいです。

    Access2003でインポートをマクロで簡単に自動化したいです。 今はAccess2003でインポートをマクロにしたい時は、インポートする画面でインポート定義を作っておいて、マクロのテキスト変換でマクロにしています。 これだと、テキスト変換の画面でインポート元のフルパスを指定して、インポート先のテーブルのファイル名を指定しなくてはいけません。 インポート定義を作ってるのだから、定義と同じインポート元、インポート先で簡単にマクロでインポートを自動化する方法はありませんか? マクロにしたいインポートとエクスポートが結構な数あるので、マクロを作る時にいちいちフルパスとファイル名をコピーしてくるのが大変です。 簡単にインポートをマクロにする方法がありましたら、教えてください。

  • Accessファイル選択インポート

    環境WinXP,MS-Access2003 Accessマクロを利用して インポートファイルを「ダイアログのファイルを指定」にて固定長のインポートをさせたいです。 実行形式はマクロボタン押下だけです。 VBAのサンプルがあればご教授お願いいたします。 なお インポートファイルは111.txt インポート定義はAAA インポート先テーブルはXXX

  • Access2002のマクロ条件について

    WindowsXPでAccess2002を使用しています。 このたび、過去の方が作成されたAccessを修正することとなりました。 VBAを使用したものではない簡易なファイルですが、マクロの条件を変更しようとしても なかなかうまくいきません。どのようにすれば宜しいでしょうか。 ---------------- ≪現在の仕様≫ テーブル名:T#ZIP フォーム名:F#Select クエリ名:Q#Delete、Q#Import マクロ名:M#Create_Table (1)Access起動時(の設定)は「F#Select」というフォームが開く (2)下記マクロ「M#Create_Table」が実行される  マクロ1行目:下記条件のとき、マクロを中止する          [Forms]![F#Select]![CRTDATE]=Date()  マクロ2行目:テーブル「T#ZIP」のデータを削除するクエリ「Q#Delete」を実行する  マクロ3行目:テーブル「T#ZIP」にデータを追加するクエリ「Q#Import」を実行する ≪動き≫ 前提:「F#Select」の[CRTDATE]というフィールドには「T#ZIP」が更新された日が設定される その日初めてそのAccessを開くと、マクロにより削除クエリ~追加クエリが順番に実行された後、 フォーム「F#Select」が表示される。その後Accessを終了し、同日中に再度Accessを開いても マクロは実行されない --------------- 現在、追加するデータが多い場合、時間がかかりインポートが途中で失敗することがあるのですが 再度Accessを開いても既にインポート済みと判定されてしまい、自動的にはマクロは実行されない という課題があります。 インポートが失敗するとき、削除は完了しているため、テーブルデータは0件なので、 「その日に既にテーブルを更新済み かつ テーブルデータ件数が1件以上ある場合」 マクロを中止する、という条件を設定したいと思います。 そこで、マクロ1行目の条件欄に [Forms]![F#Select]![CRTDATE]=Date() And DCount("[T#ZIP]","*")>0 と記載したところ、その日最初のインポートはうまく行っている様子ですが、 マクロ終了後に突然Accessが終了したり、再度Accessを開いても「F#Select」が 全く表示されなくなったりと、うまくいきません。 バグというよりは、私の設定が悪いのだと思われますので、 ・フォーム[F#Select]の[CRTDATE]フィールドが Date()   かつ ・テーブル[T#ZIP]に1件以上でもデータがある 場合はマクロを中止する としたい場合の条件設定方法(入力内容)につきまして、どなたかおわかりの方 ご教示いただけますでしょうか。 何卒よろしくお願いいたします。

  • アクセスでの通常のマクロの実行とステップインでのマクロの実行について

    お世話になります。 アクセスの自動実行マクロを作成したのですが、確認のためステップインでマクロを実行すると最後までうまくいきました。 しかし、実際に!マークの実行ボタンを押すとどうしてもAテーブルにあるデータをBテーブルに追加貼り付けをするところで「コマンドまたはアクション’追加貼り付け’は無効です。」となります。普通はステップインで成功すると大丈夫という認識でおりましたが、どうして無効になるのか原因がわかりません。 抽象的な質問で申し訳ありませんが、お分かりの方いらっしゃいましたらお願い致します。

  • ACCESSのマクロに関しまして

    お願いします。 ACCESS97で追加クエリを作成し、その後自動起動にしようと思い、マクロで追加クエリを項目に入れマクロを作りました。 マクロを作成する際に、モジュールでレコード追加するテーブルを一度削除しようと思い、「DELETE文」でモジュールを作成し、マクロの追加クエリの前に「プロシージャの実行」でモジュールのプロシージャを実行するようマクロに記述しました。 <マクロ内容> (1)「プロシージャの実行」  (追加クエリで追加するテーブルの中身をDELする) (2)「クエリを開く」  (追加クエリでレコード追加) この用に記述し、マクロ名を「AutoExec」で記述して、ファイルを実行してもマクロが起動しません。 (1)の「プロシージャの実行」までは、実行されているようなのですが(テーブル内確認)、以降の追加クエリが実行されません。 何か他の設定があるのでしょうか? お願い致します。

  • Accessのマクロの実行

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

  • ACCESSでのインポート処理の自動化

    ACCESS2002を使用して、CSVデータをもとにリストを作成するMDBを作成しました。 このCSVデータは不定期に更新され、更新するごとに新しいファイル名がついて準備されます。 今、マクロを使ってインポートの設定をしようと思ったんですが、ファイル名をきっちり指定しないとできないので、今回のように、そのつど、ファイル名が変わる場合はどのように設定をしていいのかわかりません。 私の希望としては、該当のフォルダを開くとこまでをマクロか何かでして、ファイルの選択は利用者にしてもらって、その後は自動的にインポート定義に基づいてインポートされるようにしたいんです。 こういうことは簡単にできないものでしょうか? VBとかもあまり使ったことがないので、マクロとかで指定できればそのほうが助かります。

  • アクセスのマクロについて

    お世話になります。 アクセスのマクロで、エクセルのファイルをインポートする場合、ファイルを指定したあとにインポートウィザードが開きますが、この時に出てくるたとえば「シートの選択」、「先頭行をフィールド名として使うにチェックを入れる」などをマクロで自動的に出来るのでしょうか?そして最後にインポート先のファイルを指定するところまでマクロで自動的に行き着きたいのですが、可能でしょうか? わかりにくい質問でしたらすみませんが、よろしくお願いいたします。

  • アクセスへの自動インポート

    エクセルデータをアクセスへインポートしているのですが ファイル数が多いため自動化を考えています。 ※決まったフォルダーへファイルを入れておいて メニューフォームから作業できるようにしたいと考えています ファイルはcsv形式です win98 アクセスは2000です 1.ファイルには全て見出しがついています。 (手動の場合は先頭行をフィールド名として使うにチェックを入れています) 2.ファイル名は常に同じ名前です 各ファイルを指定のテーブルにインポートしたいのですが どのようなマクロを組めばよろしいのでしょうか? (マクロを組まなければ出来ないですよね?) また、参考図書がありましたら出版社と本の名前を教えていただけると 助かります。 (本屋で立ち読みをしたのですが、見つけることが出来ませんでした。) お盆でお休みのところすみませんが、アクセス初心者のため、 ご教授願います。

  • アクセスマクロで、csv データを取り込むときに起こるエラー

    こんにちは、いつも質問ばかりですみません。 WINDOWS2000 で ACCESS 97 ユーザーです。 品番.CSVがあるとします(数千行) 品番は、 100 A100 のように、数字のみやローマ字が入り混じっています。 ACCESS 側に「品番」テーブルを作り、データ型をテキストにします。その上で  ファイル  -外部データの取り込み  -インポート  -次のテーブルに保存する「品番」 でテーブルを指定すると、きちんと入ります。 が、マクロで  テキスト変換  -区切り記号付インポート  -テーブル名「品番」  -ファイル名「品番.CSV」  -フィールド名の設定「はい」 で実行すると、 「品番インポートエラー」テーブルが別に作成され、 A100 を「データ型の変換エラー」と見なしています。 …どうしてでしょう。