CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Oct 2004
    Posts
    9

    Need help on Common Dialog Box Control in Excel macro

    I am writing a Macro in Excel where in there is a reqirement of Common Dialog box control.

    On clicking of Browse button(Command Button)...user should be able to see the Windows explorer diaglog box to select a file located anywhere on his M/C.

    Once user select this file,I need to get that full path from dialog box as a String and use this String in my code.

    I couldn't find a Common Dialog Box control in Excel Macro VB editor in Additional Controls of Tool Box.

    Can somebody help me on this.

  2. #2
    Join Date
    Dec 2003
    Location
    Northern Ireland
    Posts
    1,362

    Re: Need help on Common Dialog Box Control in Excel macro

    There is a version of the common dialog in api that you can use,

    From API Guide:

    Code:
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Private Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter 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
    
    Private Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim OFName As OPENFILENAME
        OFName.lStructSize = Len(OFName)
        'Set the parent window
        OFName.hwndOwner = Me.hWnd
        'Set the application's instance
        OFName.hInstance = App.hInstance
        'Select a filter
        OFName.lpstrFilter = "Text Files (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
        'create a buffer for the file
        OFName.lpstrFile = Space$(254)
        'set the maximum length of a returned file
        OFName.nMaxFile = 255
        'Create a buffer for the file title
        OFName.lpstrFileTitle = Space$(254)
        'Set the maximum length of a returned file title
        OFName.nMaxFileTitle = 255
        'Set the initial directory
        OFName.lpstrInitialDir = "C:\"
        'Set the title
        OFName.lpstrTitle = "Open File - KPD-Team 1998"
        'No flags
        OFName.flags = 0
    
        'Show the 'Open File'-dialog
        If GetOpenFileName(OFName) Then
            MsgBox "File to Open: " + Trim$(OFName.lpstrFile)
        Else
            MsgBox "Cancel was pressed"
        End If
    End Sub
    I Hope this helps

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured