Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Access 2010)
SaveAsメソッドがたまに失敗する。
投稿日時: 19/04/26 00:35:41
投稿者: kuroro

AccessVBAに記載すべきか、ExcelVBAに記載すべきか迷いましたが
使用しているのがAccessなので、一旦Access VBAで記載させていただきます。
 
現在、Accessを用いた集計を行っております。
そこで問題が発生しております。
----------------------------------------------------------------------------
★Accessのやること
 
月毎の集計ファイルインポート⇒集計作業⇒集計結果エクスポート⇒完了
 
----------------------------------------------------------------------------
★問題箇所
 
集計結果エクスポート
 
エクスポート処理
雛形ファイル(元々用意している。必ずAccessと同じ階層に存在する)を開く⇒
クエリ・テーブル(集計結果)のデータをそのままコピペする。⇒
名前を付けて保存する。
 
名前を付けて保存する際に、SaveAsメソッドを使用しているのですが
「SaveAsメソッドに失敗しました。」旨のエラーメッセージが表示されます。
SaveAsメソッドが失敗して処理が中断されるのですが、もう一度実行すると成功します。
ただ、成功はされますが不完全な保存?がされるみたいでExcelのタスクが残ってしまいますし
保存された集計結果ファイルを開くとちゃんと更新はされているのですが起動時に
自動保存されました。旨のメッセージが表示されます。
 
さらに、この現象は毎回起こるものではなくランダムに発生します。
全く同じ端末・同じデータを使用しても成功する場合もありますし
失敗するケースも存在します。
またAccess起動時の初回だけ失敗する。等でもありません。
 
また、SaveAsメソッドを使用する際にはファイルパスだけ指定していて、
他のオプション設定は行っていません。
 
----------------------------------------------------------------------------
★前提条件
 
ファイルパスの誤り、上書き保存で保存処理が失敗していることはありえません。
(保存するファイルが既に同名ファイルで存在する場合、保存処理に入る前にエラーで弾く。
 ファイルパスに誤りがあるなら、失敗後にもう一度実行すると成功する説明がつかない。)
雛形ファイルを開いて、編集後名前を付けて保存するだけなので
雛形ファイルが処理中に移動されたりすることもありません。
 
雛形ファイル・保存ファイル形式は「xlsx」形式。
(「xlsx」形式以外が選択された場合は保存処理に入る前にエラーで弾く。)
 
Excelの参照設定は行っている。
Microsoft Excel ○○○○ Object Libray
verまでは覚えていないです...多分10???
 
 
Excelアプリケーションは「実行バインディング」でオブジェクトを生成して、
最後に後片付けしています。
 
ExcelアプリケーションはVisible = Falseで見えないようにしている。
 
----------------------------------------------------------------------------
★行った対策
 
編集後すぐに保存するのがいけないのか?と考えて
保存処理に入る前にSleep関数で2秒待機を行いましたが結果は同じでした。
 
 
Webで調べましたが同様の内容を見つけることができませんでした。
みなさんのお力を頂きたいです。
尚、詳細な部分に関しては省いて記載しているので気になる箇所が存在したら質問を下さい。

回答
投稿日時: 19/05/07 09:56:36
投稿者: sk

引用:
★Accessのやること
  
月毎の集計ファイルインポート⇒集計作業⇒集計結果エクスポート⇒完了

引用:
エクスポート処理
雛形ファイル(元々用意している。必ずAccessと同じ階層に存在する)を開く⇒
クエリ・テーブル(集計結果)のデータをそのままコピペする。⇒
名前を付けて保存する。

引用:
尚、詳細な部分に関しては省いて記載しているので気になる箇所が存在したら質問を下さい。

その一連の操作を実行している実際のコード
掲載されることをお奨めします。
(現象の再現性を検証できないので)

トピックに返信