Open file

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top