まず第一に、これはsaveasfilenameダイアログボックスに関するものではありません。チェック「『ファイル名』プロンプトワット/ VBAへの変更を保存する?
するかどうかをチェックフラグが設定されていする方法がある」したいがあなたの変更を 'filename.xsls'に保存するには?ダイアログボックスがVBAサブの間に表示されますか?
基本的に私はいくつかのデータを別のファイルにコピーし、MsgBoxを表示してファイルを閉じ、Excelがファイルが保存されていることを確認するようにユーザーに求めます。しかし、私はそのファイルをロックする古いプログラムを持っているので、プロンプトが表示されず、ファイルが保存されたように見えますが、実際はそうではありません。 '修正'するには、Excelとプログラムのすべてのインスタンスを閉じてからやり直す必要があります。それは頻繁に起こることはありませんが、あなたが注意を払っていない、または経験の少ない人が、保存を促すかどうかを確認することを知らない場合は、それを逃すことができます。
私が知りたいのは、ある種のチェック/フラグ値、1/0、真偽などを持ってダイアログボックスが表示されることを確認する方法がある場合です。そうでない場合は、Excelと他のプログラムを再起動する必要があることをユーザーに警告します。基本的に私は決して起こらないエラーをキャッチしようとしているので、これは解決できないかもしれません。ファイルがロックされているため、時にはそれが表示されず、VBAサブがちょうどに続く
:
これは私が参照しています]ダイアログボックスです。
サブ 'Application.DisplayAlerts = false'をを持っている場合、それはどのようなメッセージボックスを抑制します。 – BruceWayne
私はその種のコードを持っていません。そのダイアログボックスは常に表示されますが、レガシープログラムがそのファイルをロックするまれなインスタンスを除いてはそうです。コードは単に "ExportDestFile.Close"です – purplefolder
ファイルを閉じ、 'Workbook.Save'や' Workbook.SaveAs'を使わない理由はありますか?あるいは、少なくとも「Workbook.Close」に真実を渡していますか?例えば、 'Workbook.Close True'は変更を保存し、ブックを閉じます。 IMHO可能な限り明示的にすることが最善です。 – Soulfire