guiassa
asked on
Get the complete app path to open file in VB6
How can I get the complete path of a app to open a file
in VB if I just know the file name and extension?
For examplo,
Supposed a file like c:\temp\test.doc
I´d like to open this file form my app,
like this:
shell ("c:\program files\msoffice\winword" c:\temp\test.doc,vbnormalf ocus)
But the path c:\program files\msoffice\winword
can change from differents PC´s
or can change from differents version.
in VB if I just know the file name and extension?
For examplo,
Supposed a file like c:\temp\test.doc
I´d like to open this file form my app,
like this:
shell ("c:\program files\msoffice\winword" c:\temp\test.doc,vbnormalf
But the path c:\program files\msoffice\winword
can change from differents PC´s
or can change from differents version.
you can use the findexecutable API
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
' this will return the executable that is associated with a .doc file.
Private Sub Command1_Click()
Dim strEXE As String * 255
Call FindExecutable("C:\Temp\te st.doc", "", strEXE)
MsgBox strEXE
End Sub
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
' this will return the executable that is associated with a .doc file.
Private Sub Command1_Click()
Dim strEXE As String * 255
Call FindExecutable("C:\Temp\te
MsgBox strEXE
End Sub
shell ("start" & "c:\temp\test.doc",vbnorma lfocus)
or use shellexecute api with "open" parameter.
or use shellexecute api with "open" parameter.
Option Explicit
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
Private Sub Form_Load()
Dim ret As Long
ret = ShellExecute(Me.hwnd, "open", "c:\test.doc", vbNullString, vbNullString, vbNormal)
End Sub
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
Private Sub Form_Load()
Dim ret As Long
ret = ShellExecute(Me.hwnd, "open", "c:\test.doc", vbNullString, vbNullString, vbNormal)
End Sub
Dim oWord As Object
Set oWord = CreateObject("Word.Applica
oWord.Documents.Open "C:\MyDocuments\Word1.doc"
Nice "answer" prakashbitra, unfortunatelly there is another one posted BEFORE.
ASKER
Vinnyd79,
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you.
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you.
Just accetp his comment as answer.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Greetings.
This question has been locked with a Proposed Answer, and remains open today. Questions in the LOCKED versus OPEN queue draw little to zero additional attention by Experts.
If the Proposed Answer did not serve your needs, please reject it and comment with an update. If the Proposed Answer helped you, please accept it to grade and close this question. If you need help splitting points between multiple experts, please comment here with details so we can help you.
EXPERTS -> Please guide me here in terms of closing recommendations if the Asker does not respond in 4 days.
Thanks to all,
Moondancer - EE Moderator
This question has been locked with a Proposed Answer, and remains open today. Questions in the LOCKED versus OPEN queue draw little to zero additional attention by Experts.
If the Proposed Answer did not serve your needs, please reject it and comment with an update. If the Proposed Answer helped you, please accept it to grade and close this question. If you need help splitting points between multiple experts, please comment here with details so we can help you.
EXPERTS -> Please guide me here in terms of closing recommendations if the Asker does not respond in 4 days.
Thanks to all,
Moondancer - EE Moderator
Moondancer, look at the askers last comment:
>> Vinnyd79,
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you.
--------------------------
That is why I proposed the answer to this question.
>> Vinnyd79,
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you.
--------------------------
That is why I proposed the answer to this question.
Dear vinnyd79
I've rejected your proposed answer as Experts Exchange holds an experiment to work without the answer button.
See: <https://www.experts-exchange.com/jsp/communityNews.jsp>
Paragraph: Site Update for Wednesday, November 06, 2002
By this rejection the Asker will be notified by mail and hopefully he will take his responsibility to finalize the question or post an additional comment.
The Asker sees a button beside every post which says "Accept This Comment As Answer" (including rejected answers) -- so if he/she thinks yours is the best, you'll be awarded the points and the grade.
EXPERTS: I will return in seven days to close this question.
Please leave your thoughts and recommendations here
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !
Thanks !
kodiakbear
Experts Exchange Moderator
I've rejected your proposed answer as Experts Exchange holds an experiment to work without the answer button.
See: <https://www.experts-exchange.com/jsp/communityNews.jsp>
Paragraph: Site Update for Wednesday, November 06, 2002
By this rejection the Asker will be notified by mail and hopefully he will take his responsibility to finalize the question or post an additional comment.
The Asker sees a button beside every post which says "Accept This Comment As Answer" (including rejected answers) -- so if he/she thinks yours is the best, you'll be awarded the points and the grade.
EXPERTS: I will return in seven days to close this question.
Please leave your thoughts and recommendations here
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !
Thanks !
kodiakbear
Experts Exchange Moderator
fyi,
the asker had asked me to propose it as an answer to get the points.
qoute:
"Vinnyd79,
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you."
the asker had asked me to propose it as an answer to get the points.
qoute:
"Vinnyd79,
Your solution is the best to my problem.
Please propose answer to get the points.
Thank you."
vinnyd79,
Sorry about that it was an automated program which I unlocked the questions with. :)
I have force accepted your comment.
kb
Experts Exchange Moderator
Sorry about that it was an automated program which I unlocked the questions with. :)
I have force accepted your comment.
kb
Experts Exchange Moderator
Set Wrd = CreateObject("Word.Applica
Wrd.Documents.Open "C:\temp\doc1.doc"