J
Jarle
I've had valuable help from Ivyleaf and Peter T. (this discussion group) in
order to get the procedure below to open a document of any type. See routine
below. I have some further questions. Can anybody help?
1.
If the document I try to open is an excel sheet. It seems that the Sub
OpenFile is hanging and keeps on runing forever. My theory is the I will need
let the procedure open the file new window or something like that. Can
anybody suggest a solution.
2.
I was informed that
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
would work with Excel 1997 and 2000. (It works fine except from opening
excel files)
Other versions (later?) would use Application.hwnd instead of 0&. Which
version would work with 0& and which version would require application.hwnd?
(I have version 9.0)
3. What does the different parts in the command
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
mean. Especially what is "C:\" here.
Code:
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
Optional ByVal lpParameters As String, _
Optional ByVal lpDirectory As String, _
Optional 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
Sub OpenFile(FName)
Dim FName As String
FName = "filename.pdf"
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
End Sub
order to get the procedure below to open a document of any type. See routine
below. I have some further questions. Can anybody help?
1.
If the document I try to open is an excel sheet. It seems that the Sub
OpenFile is hanging and keeps on runing forever. My theory is the I will need
let the procedure open the file new window or something like that. Can
anybody suggest a solution.
2.
I was informed that
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
would work with Excel 1997 and 2000. (It works fine except from opening
excel files)
Other versions (later?) would use Application.hwnd instead of 0&. Which
version would work with 0& and which version would require application.hwnd?
(I have version 9.0)
3. What does the different parts in the command
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
mean. Especially what is "C:\" here.
Code:
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
Optional ByVal lpParameters As String, _
Optional ByVal lpDirectory As String, _
Optional 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
Sub OpenFile(FName)
Dim FName As String
FName = "filename.pdf"
ShellExecute 0&, "open", FName _
, vbNullString, "C:\", SW_SHOWMAXIMIZED
End Sub