Windows API Guide: GetFileSize Function


Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (lpofn As OPENFILENAME) As Long

Platforms

  • Windows 95: Supported.
  • Windows 98: Supported.
  • Windows NT: Requires Windows NT 3.1 or later.
  • Windows 2000: Supported.
  • Windows CE: Requires Windows CE 1.0 or later.

Description & Usage

GetSaveFileName opens the Save File common dialog dialog box. All of the settings for creating the dialog, as well as the data returned from it, are placed into the structure passed as lpofn. Note that this function does not actually save any file; it merely prompts the user for a file to save, and that filename is given to your program.

Return Value

If the user selects a file in the dialog box, the function returns a nonzero value. If an error occured, or if the user merely clicked Cancel, the function returns zero. Use CommDlgExtendedError to get the error code.

Visual Basic-Specific Issues

None.

Parameters

lpofn
The parameters used to open the dialog box. Also receives the returned filename and other information about what the user selected.

Example

Use the Save File common dialog box to prompt the user for a *.txt file. The user's selection is then displayed (the filename, not the file itself). The dialog box opens when the user clicks button Command1. So, to use this example, place a command button named Command1 on a form window.

' This code is licensed according to the terms and conditions listed here. ' Declarations and such needed for the example: ' (Copy them to the (declarations) section of a module.) Public Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustomFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Public Const OFN_HIDEREADONLY = &H4 Public Const OFN_OVERWRITEPROMPT = &H2 Public Const OFN_PATHMUSTEXIST = &H800 Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (lpofn _ As OPENFILENAME) As Long ' *** Place the following code inside a form window. Private Sub Command1_Click() Dim filebox As OPENFILENAME  ' save file dialog structure Dim fname As String          ' filename the user selected Dim result As Long           ' result of opening the dialog ' Configure how the dialog box will look With filebox ' Size of the structure. .lStructSize = Len(filebox) ' Handle to window opening the dialog.         .hwndOwner = Me.hWnd ' Handle to calling instance (not needed). .hInstance = 0 ' File filters to make available: Text Files and All Files .lpstrFilter = "Text Files (*.txt)" & vbNullChar & "*.txt" & vbNullChar & _ "All Files (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar '.lpstrCustomFilter is ignored -- unused string .nMaxCustomFilter = 0 ' Default filter is the first one (Text Files, in this case). .nFilterIndex = 1 ' No default filename.  Also make room for received ' path and filename of the user's selection. .lpstrFile = Space(256) & vbNullChar .nMaxFile = Len(.lpstrFile) ' Make room for filename of the user's selection. .lpstrFileTitle = Space(256) & vbNullChar .nMaxFileTitle = Len(.lpstrFileTitle) ' Initial directory is C:\. .lpstrInitialDir = "C:\" & vbNullChar ' Title of file dialog. .lpstrTitle = "Select a File" & vbNullChar ' The path must exist.  Hide the read-only box. ' Warn if an existing file is selected. .flags = OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT ' The rest of the options aren't needed. .nFileOffset = 0 .nFileExtension = 0 '.lpstrDefExt is ignored -- unused string .lCustData = 0 .lpfnHook = 0 '.lpTemplateName is ignored -- unused string End With ' Display the dialog box. result = GetSaveFileName(filebox) If result <> 0 Then  ' Remove null space from the file name. fname = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar) - 1) Debug.Print "The selected file: "; fname End If End Sub

See Also

GetOpenFileName

Category

Common Dialog

Go back to the Function listing.
Go back to the Reference section index.


Last Modified: December 17, 2000
This page is copyright © 2000 Paul Kuliniewicz. Copyright Information.
Go back to the Windows API Guide home page.
E-mail: vbapi@vbapi.com Send Encrypted E-Mail
This page is at http://www.vbapi.com/ref/g/getsavefilename.html



Windows API Guide
Windows API Guide - Reference - Volume 1: Version 3.0 For the MS-DOS and PC-DOS Operating Systems
ISBN: B001V0KQIY
EAN: N/A
Year: 1998
Pages: 610

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net