Autor Thema: Datei per Script öffnen  (Gelesen 2731 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Datei per Script öffnen
« am: 19.02.10 - 15:17:39 »
hallo zusammen,

ich habe gerade ein sript geschrieben, bei dem als ergebnis ein pdf rausplumst. Dieses PDF würde ich gerne zur anzeige bringen, aber wenn ich dem script sage:

Code
	'PDF Öffnen
	Dim intRun As Integer
	intRun = Shell(strPrintPath,3)


Bekomme ich als Rückgabe immer ne 0

???
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #1 am: 19.02.10 - 15:39:37 »
So habe noch ein bisschen google bemüht und bin zu folgendem ergebnis gekommen

Code
	strCommand = {start AcroRd32.exe }+ strPrintPath 
	intRun = Shell(strCommand,3)

wenn ich den strCommand einfach in der cmd eingebe, startet er den acrobatreader mit dem gewünschten pdf, wenn ich das ganze per skript absetze nicht. ist doch zum Mäuse melken
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #2 am: 19.02.10 - 15:56:00 »
Die cmd sucht selbsttätig nach der mit der Endung verknüpften Anwendung. Der Shell Befehl ruft unter windows einfach nur ein ShellExecuteEx auf. Und dieser Api Call macht die Auflöung nicht von sich aus, sondern erwartet den vollständigen Pfad zur Anwendung.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #3 am: 19.02.10 - 16:04:35 »
das ist ja doof, die kann ja bei geden anders sein.

Obwohl da müsste man doch jetzt über die regedit gehen können, oder ?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #4 am: 19.02.10 - 16:05:51 »
Unter Windows gibt es da eine API für. muss ich mal suchen.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #5 am: 19.02.10 - 16:14:00 »
Code
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (Byval lpFile As String, Byval lpDirectory As String, Byval sResult As String) As Long

Code
Function FindExecutableByExtension( FullPath As String ) As Variant 
'// Finds the location of an application for a file
'// Called by : Sub DetachAndEdit
'// Calls : none
          Dim success&, pos&, sResult$, RetVal$, lpFile$, lpDirectory$, msg$
          
          sResult = Space$ ( MAX_PATH )
          lpFile$ = ExtractFileName ( FullPath )
          lpDirectory$ = Left$ ( FullPath , Len( FullPath ) - Len( lpFile$ ) )
          success = FindExecutable ( lpFile$ , lpDirectory$ , sResult )
          
          Select Case success
          Case ERROR_FILE_NO_ASSOCIATION: msg = "no association"
          Case ERROR_FILE_NOT_FOUND: msg = "file not found"
          Case ERROR_PATH_NOT_FOUND: msg = "path not found"
          Case ERROR_BAD_FORMAT: msg = "bad format"
          Case Is >= ERROR_FILE_SUCCESS:
               pos = Instr ( sResult , Chr$ ( 0 ) )
               If pos Then RetVal = Left$ ( sResult , pos - 1 )
          End Select
          FindExecutableByExtension = RetVal
     End Function
     

Ist aus meiner alten clsAttachment aus der Sandbox.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Tim Pistor

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
    • www.pistor.is - Tim Pistor IT-Beratung
Re: Datei per Script öffnen
« Antwort #6 am: 19.02.10 - 16:16:41 »
strCommand = {cmd /c start AcroRd32.exe }+ strPrintPath
intRun = Shell(strCommand,3)

geht das?

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #7 am: 19.02.10 - 16:22:47 »
ja, so geht es natürlich auch ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Jörg Barth

  • Frischling
  • *
  • Beiträge: 49
  • is reported to Lotus Quality Engineering
Re: Datei per Script öffnen
« Antwort #8 am: 19.02.10 - 16:31:33 »
Oder mit
Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA" (Byval HWND As Long,  Byval mode As String,    Byval url As String,    Byval a1 As Variant,  Byval a2 As Variant,    Byval nShowCmd As Integer ) As Long

Dim lg As Long
Call   shellexecute(lg,"Open",Pfad zur PDF-Datei,"1","1","1")

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Datei per Script öffnen
« Antwort #9 am: 19.02.10 - 16:33:40 »
@Tim Pistor

Ich nehme das kürzeste


@Alle

Danke für die muntere Teilnahmen
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz