• ベストアンサー

ファイル保存ダイアログ表示について

VB6(SP5) XPです。 Win32APIのGetSaveFileName関数を利用して、csvファイルに 出力するプログラムを作成しています。 ダイアログを表示した際に、ファイル名をデフォルトで表示させ たい(aaa.csv等)のですが、どうもうまくいきません。 ご存知の方、御教授下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#4564
noname#4564
回答No.1

> Win32APIのGetSaveFileName関数を利用して、csvファイルに > 出力するプログラムを作成しています。 > > ダイアログを表示した際に、ファイル名をデフォルトで表示させ > たい(aaa.csv等)のですが、どうもうまくいきません。 OPENFILENAME 構造体の.lpstrFile メンバを使用します。ただし、 (1) 文字列がヌル終端であること。 (2) じゅうぶんなバッファサイズが確保されていること が必要条件です。(どちらもWin32APIで文字列をやり取りする場合の一般的なルールです) 具体的には、 OPENFILENAME.lpstrFile = "FileName" & String$(512, 0) のように使用します。 なお、OPENFILENAME.flags に OFN_PATHMUSTEXIST ( = &H800&) が設定されている場合は、実際に存在しないファイル名は指定できません。(警告メッセージが出ます)

eightman010
質問者

お礼

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

関連するQ&A

  • ファイルとフォルダのどちらも選択できるダイアログ

    環境  OS:Win2000及びWinXP  バージョン:VB6.0 SP5 ファイルとフォルダのどちらも選択できるダイアログを使用する為のAPIを探しています。 詳しく言うと、Windowsのエクスプローラ上で右クリックから新規のショートカットを作成した際の、 ウィザードにて参照ボタンを押下した際に表示される使用されているダイアログのようなものです。 フォルダまたはファイルだけのダイアログをAPIにて表示できる方法は調べて分かったのですが、 フォルダとファイルをどちらでも選択できるダイアログが見つかりませんでした。 逆にフォルダまたはファイルだけのダイアログのAPIのオプションの違いなのでしょうか? ヒント・キーワード・参考サイトだけでも良いので、 よろしくお願いします。

  • ファイル選択ダイアログについて

    VB.net(2003)で作成したアプリケーションに ファイルを開くダイアログ関数(OpenFileDialog関数)を使用して、 ファイルを取り込む機能を作成しましたが、 ファイルを開く画面の左側にあるデスクトップを選択した際、 又は1つ上のフォルダへをクリックしてデスクトップの場所を表示した際に アプリケーションとダイアログが消えてしまう現象が発生しました。 原因となる事象がわかる方がおりましたら、ご教授願います。  動作環境 OS : WindowsXP SP3

  • Visual Basic5.0でファイルの取得

    VBの初心者です。 今、VisualBasic5.0を使って、UNIXの中のCSVファイルを取ってくるというプログラムを作っています。 API関数を使って取ってくることができるのは確認済みなのですが、できればAPI関数を使わずに取得したいのです。 VBhelpの中で使えそうなオブジェクトや関数など探してみたのですが、直接ファイルを取得するようなものは見つかりませんでした。 VB5.0を使ってプログラムを作るという条件があるので、最新のVB6.0の方でできるのかどうかは調べていません。 わかられる方がおられましたら、よろしくお願いします。

  • ダイアログを立ち上げたくない

    IE9を使用時、csvファイルをダウンロードすると、ダイアログが立ち上がる。ダイアログなしで、すぐにcsvファイルを処理したい。 職場のパソコンがXPからWin7になり、XPで設定できたのに、困っています。

  • CSVファイルダウンロードダイアログのキャンセルイベント取得方法

    こんにちは。 色々調べてみましたが、なぜかどこにも答えが見つかりませんでしたのでご教授よろしくお願いします。 ASPでCSVファイルをダウンロードする際、 Response.AddHeader "Content-Disposition","attachment; filename=AAA.csv;" としてダウンロードダイアログを出力しています。 このダイアログで、キャンセルボタンのクリックイベントと取りたいのですが、どのようにするのでしょうか? キャンセルした場合、以降に続くサーバサイドの処理をスキップさせたいのですが… よろしくお願いします!

  • ファイルのダウンロードダイアログが2度表示される

    いつも拝見させて頂いており、お世話になっています。 ただ今困った事象が発生していて、お知恵をお借りしたく、投稿させて頂きます。 サーブレットで CSV データを作成し、直接データをダウンロードさせたいのですが、 OSが「WindowsXP SP1(SP2では未確認)」だと、ファイルのダウンロードダイアログで ”開く”を選択すると、同じダイアログが 2度表示されてしまいます。 (2度とも”開く”を選択すると、問題なくファイルは開かれます) ”保存”を選択した場合は2度は表示されません。 また、「Windows2000」の場合はこのような現象は発生しません。 ソースの要所は以下のようになっています。 response.setContentType("application/x-download;charset=Windows-31J"); response.setHeader("Content-Disposition", "attachment; filename=\"***.xls\""); 上記の1行目の「x-download」は「octet-stream-dummy」「msexcel」で 試してみましたが、結果は変わりませんでした。 また、2行目の「attachment」を「inline」にすると、 2度ダイアログが表示されるのは回避できますが、”開く”を選択すると ブラウザにExcelファイルの内容が表示されてしまいます。 もしかするとプログラムではなく端末の設定の問題かもしれませんが、 手元には2000とXPが1台づつあるだけなので、 これもなんともいえません。 どなかた解決方法をご存知の方がおられましたら、 御教授頂けますでしょうか。 よろしくお願いします。

  • ダイアログを自分の好きな位置に表示したい

    VCで簡単なプログラムを造っています。 ダイアログベースです。 EXE を実行した時に表示されるダイアログを、自分の指定した位置に 表示させる方法はあるでしょうか。 また、そのダイアログから DoModal関数で別のダイアログを表示する場合、 同様に、自分の指定した位置に表示させる方法はあるでしょうか。 デフォルトのままだと、1つ目のダイアログは画面の中央に、 DoModal関数で表示させたダイアログは、1つ目のダイアログの上に なります。

  • ファイル保存のAPI?

    VBでコモンダイアログで「ファイルを開く」のAPIはわかるのですが、「ファイルを保存」のAPIがわかりません。そのようなAPIがあるのでしょうか?あればAPIの名称を教えてください。 (補足)「ファイルを開く」はGetOpenFileNameですが、これだと「開く」ボタンですが、「保存」ボタンのAPIがあるという事らしいですが、そのAPIを教えて欲しいのです。お願いします。

  • ieにてCSVファイルを保存したい

    ieにてCSVファイルを保存したい 現在は、なぜか保存ダイアログが表示されないので、ie上にExcelが表示されます これを保存ダイアログを表示させ、保存できるようにしたい これをバッチファイル等にて行いたい、少しレジストリは見ましたが差分を発見できませんでした ※Explorer等のGUIにて設定できますが、バッチファイル等にて行いたい よろしくお願いします ---環境--- Windows XP(sp3) ie6 Excel2000(sp3)

  • csvファイルのダウンロード

    こんにちわ。 今、IE6.0 SP1で、OSがWin2000 SP4の環境にて、CSVファイルをブラウザより、「ファイルnダウンロード」ダイアログにて、保存先等を指定できるようにしたいのですが、ブラウザ上にデータ内容が表示されてしまいます。 「フォルダオプション」、「ファイルタイプ」にて、CSVファイルの設定を「ダウンロード後に開く確認をする。」にチェックを付けてみたのですが、やはりだめでした。 どなたか、ダイアログ表示の方法をご存知の方がいらっしゃいましたら、ご教授ください。