2009年2月6日金曜日

ADODB.SreamのSaveToFile()メソッド

ADODB.SreamオブジェクトにSaveToFile()メソッドがあります。書き込みのオプションとしてSaveOptionsEnumを設定します。これによると…

adSaveCreateNotExist1既定値です。FileNameパラメータで指定したファイルがない場合は新しいファイルが作成されます。
adSaveCreateOverWrite2FileNameパラメータで指定したファイルがある場合は、現在開かれているStreamオブジェクトのデータでファイルが上書きされます。
一見普通のEnumです。
でもよく読むと…
これらの値はAND演算子で結合することができます。
ちょっと待て。新規作成もしくは上書きをするにはAND結合? 1と2をAND結合すると0ですよね? ね?
こういうとき普通はOR結合して3になりませんか? いえ、値が重複していない以上、識別は可能ですが。
で、試してみる……0→引数エラー、1→OK、2→OK、3→引数エラー。
あれっ? ANDもORも受け付けないんですが。

仕方がないのでSRきりました。最終回答は出ていないもののドキュメントミスで次のようになるらしいとのこと。
adSaveCreateNotExist1既定値です。新規作成します。ただし上書きはしません。
adSaveCreateOverWrite2新規作成もしくは上書きします。

0 件のコメント: