作成者カテゴリ返答の対象
公開
TI
02/19/1999 06:55 PM
文書リンクアイコン ノーツの情報をテキストファイルに出力するには?
WindowsならAPIを使えば可能です

WindowsのAPIに「GetSaveFileName」が有ります。これを使えば可能です。

(Declaration)に記述

******** 構造体定義 ************************
Type SAVEFILENAME
lStructSize As Long '構造体の長さ
hwndOwner As Long 'ウインドウのハンドル(親ウインドウがない時はNULL<0>をセット)
hInstance As Long 'lpTemplateNameで指定されたダイアログテンプレートが入っている
'モジュールのインスタンスハンドル
lpstrFilter As String 'フィルタ文字列のペアが格納されているバッファへのポインタ
lpstrCustomFilter As String 'ユーザー定義のフィルタ文字列のペアが格納されているバッファへのポインタ
nMaxCustFilter As Long 'lpstrCustomFilterで指定されたバッファサイズ(文字数)
nFilterIndex As Long 'lpstrFilterが指すバッファに格納するインデックス
lpstrFile As String 'ファイル名の初期値の文字列のポインタ
nMaxFile As Long 'lpstrFileが指すバッファ(文字数)
lpstrFileTitle As String '選択されたファイルのタイトルを受け取るバッファのポインタ
nMaxFileTitle As Long 'lpstrFileTitleで指定されたバッファにコピーできる文字列の最大長
lpstrInitialDir As String '初期ファイルディレクトリを指定する文字列ポインタ
lpstrTitle As String 'ダイアログボックスのタイトルバーの表示する文字列のポインタ
'(NULLの場合[ファイル名を付けて保存])
flags As Long 'ダイアログボックス作成フラグ
nFileOffset As Integer 'lpstrFileが指す文字列内におけるパスの先頭からファイル名までの
'ゼロから数えたオフセット
nFileExtension As Integer 'lpstrFileが指す文字列内におけるパスの先頭からファイル名拡張子
'までのゼロから数えたオフセット
lpstrDefExt As String 'デフォルトの拡張子が格納されるバッファのポインタ
lCustData As Long 'OSがlpfnHookで指定されたフック関数に渡すアプリケーション定義のデータ
lpfnHook As Long '本来はダイアログボックスに送られるメッセージを処理するフック関数のポインタ
lpTemplateName As String '標準ダイアログボックステンプレートの代わりとして使用するダイアログボックスに
'名前を付けるNULLで終わる文字列のポインタ
End Type


******** 関数を作成 *************************
Function FileNameSelect() As String
Dim sfn As SAVEFILENAME

sfn.lStructSize = Len( sfn )
sfn.hwndOwner = 0
sfn.hInstance = 0
sfn.lpstrFilter = "CSV Files(*.csv)" & Chr$(0) & "*.csv" & Chr$(0) & "All Files(*.*)" & Chr$(0) & "*.*" & Chr$(0) & Chr$(0)
sfn.lpstrCustomFilter = ""
sfn.nMaxCustFilter = 0
sfn.nFilterIndex = 0
'sfn.lpstrFile = String$( 255, Chr$(0) ) '選択したファイル名(フルパス)が保存される
sfn.lpstrFile = "C:\TenjiDat.csv" '選択したファイル名(フルパス)が保存される
sfn.nMaxFile = 256
sfn.lpstrFileTitle = String$( 255, Chr$(0) )
sfn.nMaxFileTitle = 256
sfn.lpstrInitialDir = ""
sfn.lpstrTitle = "" 'ウィンドウタイトル
sfn.Flags = 0
sfn.nFileOffset = 0
sfn.nFileExtension = 0
'sfn.lpstrDefExt = ""
sfn.lpstrDefExt = "csv" '拡張子を入力しない時は"xxx.csv"になる
sfn.lCustData = 0
sfn.lpfnHook = 0
sfn.lpTemplateName = ""

If GetSaveFileName( sfn ) Then 'ダイアログを表示(キャンセルするとFalseが返る)
FileNameSelect = sfn.lpstrFile
Else
FileNameSelect = ""
End If

End Function


[Previous Main Document]
ノーツの情報をテキストファイルに出力するには? (ふじい)
. . RE:ノーツの情報をテキストファイルに出力するには? (韓非子)
. . . . 参考にさせていただきました。 (Monky)
. . . . テキスト出力先のフォルダを手入力ではなく選択方式にする方法 (みにゃお)
. . . . . . Re: テキスト出力先のフォルダを手入力ではなく選択方式にする方法 (mn)
. . WindowsならAPIを使えば可能です (TI) * 現在地 *
[Next Main Document]