ShowOpenFileDialog – Show a Open File common dialog

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _    "GetOpenFileNameA" (pOpenfilename As OpenFilename) As LongPrivate Type OpenFilename    lStructSize As Long    hwndOwner As Long    hInstance As Long    lpstrFilter As String    lpstrCustomFilter As String    nMaxCustFilter As Long    iFilterIndex 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 StringEnd TypePrivate Enum OFNFlagsEnum    OFN_ALLOWMULTISELECT = &H200    OFN_CREATEPROMPT = &H2000    OFN_ENABLEHOOK = &H20    OFN_ENABLETEMPLATE = &H40    OFN_ENABLETEMPLATEHANDLE = &H80    OFN_EXPLORER = &H80000    OFN_EXTENSIONDIFFERENT = &H400    OFN_FILEMUSTEXIST = &H1000    OFN_HIDEREADONLY = &H4    OFN_LONGNAMES = &H200000    OFN_NOCHANGEDIR = &H8    OFN_NODEREFERENCELINKS = &H100000    OFN_NOLONGNAMES = &H40000    OFN_NONETWORKBUTTON = &H20000    OFN_NOREADONLYRETURN = &H8000    OFN_NOTESTFILECREATE = &H10000    OFN_NOVALIDATE = &H100    OFN_OVERWRITEPROMPT = &H2    OFN_PATHMUSTEXIST = &H800    OFN_READONLY = &H1    OFN_SHAREAWARE = &H4000    OFN_SHAREFALLTHROUGH = 2    OFN_SHARENOWARN = 1    OFN_SHAREWARN = 0    OFN_SHOWHELP = &H10End Enum' Show the common dialog to select a file to open. Returns the path of the' selected file or a null string if the dialog is canceled' Parameters:'  - sFilter is used to specify what type(s) of files will be shown'  - sDefExt is the default extension associated to a file name if no one is ' specified by the user'  - sInitDir is the directory that will be open when the dialog is shown'  - lFlag is a combination of Flags for the dialog. Look at the Common ' Dialogs' Help for more informations'  - hParent is the handle of the parent form' Example:'    Dim sFilter As String'    'set the filter: show text files and all the files'    sFilter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"'    'let the user select a file, ensuring that it exists'    MsgBox "File selected: " & ShowOpenFileDialog(sFilter, "txt",'  "C:Documents", OFN_FILEMUSTEXIST)Function ShowOpenFileDialog(ByVal sFilter As String, Optional ByVal sDefExt As _    String, Optional ByVal sInitDir As String, Optional ByVal lFlags As Long, _    Optional ByVal hParent As Long) As String    Dim OFN As OpenFilename    On Error Resume Next        ' set the values for the OpenFileName struct    With OFN        .lStructSize = Len(OFN)        .hwndOwner = hParent        .lpstrFilter = Replace(sFilter, "|", vbNullChar) & vbNullChar        .lpstrFile = Space$(255) & vbNullChar & vbNullChar        .nMaxFile = Len(.lpstrFile)        .flags = lFlags        .lpstrInitialDir = sInitDir        .lpstrDefExt = sDefExt    End With        ' show the dialog, non-zero means success    If GetOpenFileName(OFN) Then        ' extract the selected file (including the path)        ShowOpenFileDialog = Left$(OFN.lpstrFile, InStr(OFN.lpstrFile, _            vbNullChar) - 1)    End IfEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may