重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VB6(SP5) XPです。

Win32APIのGetSaveFileName関数を利用して、csvファイルに
出力するプログラムを作成しています。

ダイアログを表示した際に、ファイル名をデフォルトで表示させ
たい(aaa.csv等)のですが、どうもうまくいきません。

ご存知の方、御教授下さい。 よろしくお願いします。

A 回答 (1件)

> Win32APIのGetSaveFileName関数を利用して、csvファイルに


> 出力するプログラムを作成しています。
>
> ダイアログを表示した際に、ファイル名をデフォルトで表示させ
> たい(aaa.csv等)のですが、どうもうまくいきません。

OPENFILENAME 構造体の.lpstrFile メンバを使用します。ただし、

(1) 文字列がヌル終端であること。
(2) じゅうぶんなバッファサイズが確保されていること

が必要条件です。(どちらもWin32APIで文字列をやり取りする場合の一般的なルールです)

具体的には、

OPENFILENAME.lpstrFile = "FileName" & String$(512, 0)

のように使用します。
なお、OPENFILENAME.flags に OFN_PATHMUSTEXIST ( = &H800&) が設定されている場合は、実際に存在しないファイル名は指定できません。(警告メッセージが出ます)
    • good
    • 0
この回答へのお礼

早速の回答、有難うございました。(^o^)丿

お礼日時:2003/02/24 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!