vb初心者です。わかる方がいらしたらお教えください。
保存用コモンダイアログのFlagsプロパティに
cdlOFNOverwritePromptを設定して使用しています。
ファイル名を選択して保存を行った場合は、上書きの問合せをしてきますが
ファイル名をキーボードから打ち込んだ場合は、問合せがありません。
後者の場合も問合せがある様にしたいのですが?
どのようにしたらよろしいでしょうか?
よろしくお願い致します。
> ファイル名をキーボードから打ち込んだ場合は、問合せがありません。
ありました。
拡張子無し、大文字小文字の違いもテストしましたが、問合せがありました。
全角半角の違いなど、本当に同じファイル名なのか?もう一度
確認してください。
保存処理を実行して、上書きされることを確認し、それでも
問合せがない場合、サービスパックのバージョン、OSのバージョン
コモンダイアログのバージョン等を明記の上、再現可能なコードを
提示ください。
> 問合せがありません。
うむむむ…当方では再現しません。
で、今回の件はわかりませんが、コモンダイアログは、OS によって
多少の不具合があったりしるので、注意が必要かも。
たとえば今回の場合とは別に、下記のような問題もあるわけで…。
1. WinXP/SP2 で、メモ帳起動。
2. [ファイル]-[名前を付けて保存] を開く。
3. c:\test.txt として保存。
4. [ファイル]-[名前を付けて保存] をもう一度開く。
5. 先ほど C:\ に保存したファイルを選択し、F2キーを押す。
6. 保存済みのファイル名を、test2.txt に変更。
(このとき、ファイル名ボックスは、test.txt のままになっているはず)
7. ダイアログの[保存]ボタンを押すと、test.txt で保存されるはずなのに、
『C:\test2.txt は既に存在します。上書きしますか?』と問われる。
8. そのまま保存すると、test2.txt として保存されてしまう。
解決しました。皆様ありがとうございました
もう一度プログラム内容を見直して解決できました。
原因は、ファイルのフィルタの設定でした。
CommonDialog1.Filter = "*bmp"を
CommonDialog1.Filter = "*bmp"|*.bmp|"のように
書き換えたら皆様のおっしゃるとおり
問題ありませんでした。
大変お世話になりました。
ツイート | ![]() |