ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Open file (https://www.excelbanter.com/excel-programming/409011-open-file.html)

Jarle

Open file
 
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



All times are GMT +1. The time now is 10:39 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com