Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Access 2016)
ACCESSからのファイルエクスポートについて
投稿日時: 19/06/24 09:38:25
投稿者: CO2

Accessのマクロで毎日同じファイル名でExcelファイルをエクスポートしています。
マクロ処理としては
@Excelファイルを削除するbatを実行
AExcelファイルをエクスポート(書式とレイアウトを保持したままエクスポート)
の順番で設定しております。
 
@のExcel削除が正常に動いてExcelファイルが削除されてるにもかかわらず、
Aのエクスポートの際に「ファイル〇〇は既に存在します。既存のファイルを上書きしますか?」
のメッセージが出てマクロが止まってしまいます。
なお、マクロのメッセージ設定は「いいえ」にしております。
 
解決方法ご存知なら教えて頂いてもよろしいでしょうか。

回答
投稿日時: 19/06/24 11:12:45
投稿者: sk

引用:
@のExcel削除が正常に動いてExcelファイルが削除されてるにもかかわらず、
Aのエクスポートの際に「ファイル〇〇は既に存在します。既存のファイルを上書きしますか?」
のメッセージが出てマクロが止まってしまいます。

1 と 2 のそれぞれのアクションを別々に実行した場合も
同様のメッセージが返されるのでしょうか。

投稿日時: 19/06/24 11:16:49
投稿者: CO2

sk さんの引用:
引用:
@のExcel削除が正常に動いてExcelファイルが削除されてるにもかかわらず、
Aのエクスポートの際に「ファイル〇〇は既に存在します。既存のファイルを上書きしますか?」
のメッセージが出てマクロが止まってしまいます。

1 と 2 のそれぞれのアクションを別々に実行した場合も
同様のメッセージが返されるのでしょうか。

 
@とAのマクロを手動で個別に実行した場合はメッセージが返されないのですが、
@とAを続けて実行するマクロを実行するとメッセージが出てしまいます。

回答
投稿日時: 19/06/24 11:58:50
投稿者: sk

引用:
@とAのマクロを手動で個別に実行した場合はメッセージが返されないのですが、
@とAを続けて実行するマクロを実行するとメッセージが出てしまいます。

ならば「 2 のアクションが呼び出された時点では
まだそのファイルが削除されていない」というだけですね。
 
[アプリケーションの実行]アクションは文字通り
ただ任意のアプリケーションを非同期実行するだけのアクションであり、
そのアプリケーション(この場合はバッチファイル)が
正常に起動されさえすれば、起動と同時に何らかの処理が
走り始めようが、Access はその処理の完了を待たずに
(そもそも監視などしていないので)次のアクションを
実行しようとします。
 
「1 のアクションの実行後に 2,3秒程度待機させて
2 のアクションの実行を遅らせる」ような操作を加えるか、
マクロではなく VBA のコードで一連の操作を行なうかの
いずれかで対応する必要があると思います。

投稿日時: 19/06/24 12:54:54
投稿者: CO2

sk さんの引用:
引用:
@とAのマクロを手動で個別に実行した場合はメッセージが返されないのですが、
@とAを続けて実行するマクロを実行するとメッセージが出てしまいます。

ならば「 2 のアクションが呼び出された時点では
まだそのファイルが削除されていない」というだけですね。
 
[アプリケーションの実行]アクションは文字通り
ただ任意のアプリケーションを非同期実行するだけのアクションであり、
そのアプリケーション(この場合はバッチファイル)が
正常に起動されさえすれば、起動と同時に何らかの処理が
走り始めようが、Access はその処理の完了を待たずに
(そもそも監視などしていないので)次のアクションを
実行しようとします。
 
「1 のアクションの実行後に 2,3秒程度待機させて
2 のアクションの実行を遅らせる」ような操作を加えるか、
マクロではなく VBA のコードで一連の操作を行なうかの
いずれかで対応する必要があると思います。

 
 
ありがとうございます!
無事解決いたしました。
こんな単純なことに気づかなかったとは・・・
ご指摘いただきありがとうございました!