Avatar billede uja Nybegynder
04. april 2005 - 13:28 Der er 6 kommentarer og
1 løsning

Problem med sti

Hejsa....

I tilfælde af at jeg i et program skal kunne åbne en pdf-fil bruger jeg koden:

Shell "C:\Programmer\Adobe\Acrobat 6.0\Reader\AcroRd32.exe x:\.....\*.pdf", vbNormalFocus

Men hvad så hvis man skal kunne åbne programmet på en anden computer, hvor Acrobat Reader ikke nødvendigvis ligger i den samme sti....? Hvordan får jeg løst dette?

Mvh. UJA
Avatar billede fray Nybegynder
04. april 2005 - 14:38 #1
I stedet for at kalde programmet direkte, kan du bruge nedenstående, som automatisk vil starte det program der er associeret med den fil du vil åbne. F.eks. PDF = Acrobat (Viewer), DOC = Word osv...


#If WIN32 Then


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 Declare Function GetDesktopWindow Lib "user32" () As Long
#ELSE


Declare Function ShellExecute Lib "SHELL" (ByVal hwnd%, _
    ByVal lpszOp$, ByVal lpszFile$, ByVal lpszParams$, _
    ByVal lpszDir$, ByVal fsShowCmd%) As Integer


Declare Function GetDesktopWindow Lib "USER" () As Integer
#END If
Private Const SW_SHOWNORMAL = 1


Function StartDoc(DocName As String) As Long
      Dim Scr_hDC As Long
      Scr_hDC = GetDesktopWindow()
      StartDoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", SW_SHOWNORMAL)
End Function


Private Sub Form_Click()
      Dim r As Long
      r = StartDoc("c:\mine dokumenter\pdf\minpdf.pdf")
      Debug.Print "Returkode: "; r
End Sub

Hilsen Fray
Avatar billede fray Nybegynder
04. april 2005 - 14:38 #2
Skulle ha været et svar ;-)
Avatar billede martin_moth Mester
04. april 2005 - 14:40 #3
Kan du ikke bare angive din shell uden sti til programmet?
Hvis programmet ellers er installeret, må man formode, at "*.pdf" er assiocieret til programmet

Shell "x:\.....\*.pdf", vbNormalFocus
Avatar billede fray Nybegynder
04. april 2005 - 15:40 #4
Hej igen,

Nej det vil ikke virke.

Prøv evt. med shell "start x:\dokument.pdf"

Det lille "start" første vil virke på nogle computere (windows udgaver)

Fray
Avatar billede sjh Nybegynder
05. april 2005 - 10:27 #5
hvad med..

shell "//conputernavn/mappe/dokument.pdf"
Avatar billede sjh Nybegynder
05. april 2005 - 10:29 #6
eller var det \ og ikke / :D kan jeg ikke lige huske

shell "\\conputernavn\mappe\dokument.pdf"
Avatar billede uja Nybegynder
03. maj 2005 - 00:07 #7
Tak for det begge to men det bliver Fray der løber med pointene =) Har lige lavet et ekstra spørgsmål, kan være i kan hjælpe mig med det også, det var dumt jeg ikke lige fik det med herinde.... http://www.eksperten.dk/spm/614695

Mvh. UJA
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester