Re: shell - open document

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



On Apr 4, 8:06 pm, Jarle <Ja...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Unfortunately is not that simple.
Folder1/folder2 is just an example. That path that I use is in the program
is different, and I have checked that it is correct. Ehen I paste the
path+filename in the "Run" command in the Start menu (Windows), then the
document opens.
I have also tried to leave out Chr(34) because is seems this gives "".
I have also made sure that I do not have space in pathname or filename.
Still no solution.'

What I want to do is to open a file from VBA code. File might not be office
document. Any suggestion?

Ivyleaf skrev:



On Apr 4, 6:38 pm, Jarle <Ja...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
I want to open a document. Document format may vary.

I try with:

Dim f_name as String
Dim Returnvalue as Variant
f_name ="E:\forlder1\folder2\test.pdf"

ReturnValue = Shell("start " & Chr$(34) & f_name Chr$(34) )

According to a tip on a different web-site this should open the file in the
program it is connected to (here: Acrobat Reader).

I always get error message "file not found", but the file is there.
What is wrong?

rgds
Jarle

Hi Jarle,

In your path, you have "Forlder1" which I reckon should maybe be
"Folder1"? This may be all that is wrong with your code.

Cheers,
Ivan.- Hide quoted text -

- Show quoted text -

Hi Jarle,

This doesn't use the Shell function, but it might do what you are
after:

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()
Dim FName As String
Dim RetVal
FName = "E:\Folder 1\Folder 2\Test File.pdf"

ShellExecute Application.hwnd, "open", FName _
', vbNullString, "C:\", SW_SHOWNORMAL

End Sub

I found / pinched / adapted (slightly) the code from here:
http://www.vbforums.com/showthread.php?t=481233

Cheers,
Ivan.
.



Relevant Pages

  • Re: shell - open document
    ... Folder1/folder2 is just an example. ... document opens. ... ByVal lpOperation As String, _ ... Private Const SW_SHOWNORMAL As Long = 1 ...
    (microsoft.public.excel.programming)
  • Re: shell - open document
    ... I had to put in 0& as suggested by Peter T. ... document opens. ... ByVal lpOperation As String, _ ... Private Const SW_SHOWNORMAL As Long = 1 ...
    (microsoft.public.excel.programming)
  • Re: OLE Object- the real question
    ... pszDisplayName As String ... Private Const BIF_RETURNONLYFSDIRS = &H1 ... Dim x As Long, bi As BROWSEINFO, dwIList As Long ... >> Dim strFilename As String, ...
    (microsoft.public.access.forms)
  • Re: Format Excel - Object required error
    ... tell excel to autofit the columns. ... Public Sub FormatXLReport(strPath As String, ... Dim blnExcelExists As Boolean ... Private Const SW_SHOWNORMAL = 1 ...
    (microsoft.public.access.modulesdaovba)
  • Re: VB6 Opens Excel, Saves File, Then Closes Excel
    ... Private Const xlUnderlineStyleNone = -4142 ... Public Function Excel_Link(strExcelTemplateName As String) As Boolean ... Dim intLoop As Integer ... ' This Property returns the length of the open file. ...
    (microsoft.public.vb.general.discussion)