You can use ShellExecute to do this and also pass other options to the receiving application. View below.
'Put this at the top of your form or module
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
Public Function OpenLocation(ByVal WhichFilePath As String, Optional sParams As String = "", Optional sStartIn As String = vbNullString, Optional lngOpenMode As Long = 1) As Long
OpenLocation = ShellExecute(0, "Open", WhichFilePath, sParams, sStartIn, lngOpenMode)
'Your button click
Private Sub Command1_Click()
If OpenLocation("notepad.exe", "c:\myfile.txt", "", 1) < 32 Then
'Failed to open
Your not just limited to applications on your computer. You can send this function a slew of things and if it is valid Windows will handle it, else you will get an error back which is trapped in your calling IF statement.