ShellExecute is a bit more powerful and also handles spaces in the file paths without issue.
Also, ShellExecute will open any file passed in its default associatted program, Shell will not and will require the filepath and name of the application passed as well.
Code:Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Private Const SW_HIDE As Long = 0 Private Const SW_SHOWNORMAL As Long = 1 Private Const SW_SHOWMAXIMIZED As Long = 3 Private Const SW_SHOWMINIMIZED As Long = 2 Private Sub Command1_Click() ShellExecute Me.hwnd, "open", "C:\Users\MyUserName\Documents\Document1.doc", vbNullString, "C:\", SW_SHOWNORMAL End Sub





Reply With Quote