Autor Thema: Datei mittels Script starten  (Gelesen 2435 mal)

Glombi

  • Gast
Datei mittels Script starten
« am: 04.12.04 - 10:21:14 »
Folgendes Script habe ich, um eine Datei zu starten:
 path = "u:\temp\test.doc"
 task = Shell ("explorer.exe " & path, 3)

Bei einem Kunden (welcher Terminal Server einsetzt) wird aber anstelle der Datei der Office Viewer des Internet Explorers geöffnet. Dieses liegt wohl an Einstellungen der Registry.
Gibt es andere Möglichkeiten, eine Datei zu starten?

 task = Shell ("cmd.exe /c" & path, 3)
funktioniert nicht, da ich nur kurz die Dos Box sehe und dann nichts mehr.

Andreas

Glombi

  • Gast
Re: Datei mittels Script starten
« Antwort #1 am: 04.12.04 - 10:27:26 »
Dazu noch folgende Info:
Notwendig war das Script, da ich es zunächst mit der Maskeneigenschaft "Ersten Anhang im Dokument starten" versucht habe. Das geht auch, ABER: Der Fokus bleibt nicht auf der Anwendung sondern Word wird gestartet und dann bin ich wieder in Notes.
Der nächste Workaround bestand darin, im QueryClose ein
 @Command( [Execute]; _Path );
zu verwenden, aber auch damit bleibt der Fokus auf Notes.
Nur das Script funktioniert.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Datei mittels Script starten
« Antwort #2 am: 04.12.04 - 10:29:15 »
Hm, dass beim CMD nur das Fenster aufblinkt, liegt wohl auch an Registry-Einstellungen. Wenn ich mir das ganze, was ich bisher darüber weiss, durch den Kopf gehen lasse, scheint mir fast nur möglich zu sein, die Registry selber abzuarbeiten. Dabei ist man dann natürlich ähnlich weit, wie beim Aufruf des Explorers. Scheint nicht ganz trivial zu sein.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Datei mittels Script starten
« Antwort #3 am: 04.12.04 - 10:30:49 »
Wäre ShellExecute eine Alternative?

Also z.B. http://www.atnotes.de/index.php?topic=17064.0

Weiß allerdings nicht, ob das das Problem behebt.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: Datei mittels Script starten
« Antwort #4 am: 04.12.04 - 10:34:22 »
Danke Matthias für den Link. Das wäre in der Tat eine Möglichkeit. Ich werde es testen und dann Bescheid geben.

Nachtrag: Das geht leider so auch nicht, der Fokus ist wieder in Notes.
Zudem scheint es Probleme zu geben, wenn ein Leerzeichen in der Datei ist. Bei Öffnen gibt es eine Meldung, aber es wird dann doch geöffnet... Nur kehrt das Programm dann zurück zu Notes.

Andreas
« Letzte Änderung: 04.12.04 - 10:38:10 von Glombi »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Datei mittels Script starten
« Antwort #5 am: 04.12.04 - 10:36:42 »
Ah ja, Danke Matthias, es ist mir schon lange im Kopf rumgegangen, es gäbe da noch eine Alternative .... aber drauf gekommen bin ich nicht .... Das war sie.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Datei mittels Script starten
« Antwort #6 am: 04.12.04 - 10:37:36 »
Ich hab das schon oft verwendet.

Hier noch was für's Errorhandling des Rückgabewertes:

   If lRet < 32 Then
      Select Case lRet
      Case 2
         strError = "File not found"
      Case 3
         strError = "Path not found"
      Case 5
         strError = "Access denied"
      Case 8
         strError = "Out of memory"
      Case 11
         strError = "Invalid EXE file or error in EXE image"
      Case 26
         strError = "A sharing violation occurred"
      Case 27
         strError = "Incomplete or invalid file association"
      Case 28
         strError = "DDE Time out"
      Case 29
         strError = "DDE transaction failed"
      Case 30
         strError = "DDE already busy"
      Case 31
         strError = "No association for this file extension"
      Case 32
         strError = "DLL not found"
      Case Else
         strError = "Error, details unknown."
      End Select
   End If


Hier noch ein MS-Link:
http://support.microsoft.com/default.aspx?scid=kb;en-us;170918
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: Datei mittels Script starten
« Antwort #7 am: 04.12.04 - 10:40:18 »
Hier noch die Meldung

Die Datei heisst E1-03 undhier noch was.doc

Andreas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Datei mittels Script starten
« Antwort #8 am: 04.12.04 - 10:45:10 »
das Problem mit den Spaces kannst du umgehen mit


Declare Function GetShortPathName Lib "kernel32" Alias"GetShortPathNameA" (Byval lpszLongPath As String,Byval lpszShortPath As String, Byval cchBuffer As Long) As Long

Function GetShortFileName ( fileName As String ) As String
      Dim sBuffer As String , lLen As Long
      sBuffer = Space$ ( 512 )
      lLen = GetShortPathName ( fileName , sBuffer , Len ( sBuffer ) )
      GetShortFileName = Left$(sBuffer, lLen)
   End Function

den Rückgabewert übergibst du dann an ShellExecute
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Datei mittels Script starten
« Antwort #9 am: 04.12.04 - 10:48:13 »
Nachtrag: Das geht leider so auch nicht, der Fokus ist wieder in Notes.

Ich denke da brauchts dann noch ein

Declare Function GetDesktopWindow& Lib "user32" ()

Das übergibst Du dann der ShellExecute. Siehe z.B. hier, Antwort #13
http://www.atnotes.de/index.php?topic=16149.0
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: Datei mittels Script starten
« Antwort #10 am: 04.12.04 - 11:03:46 »
Danke Euch beiden für die vielen Tipps  :D

Andreas

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re: Datei mittels Script starten
« Antwort #11 am: 05.12.04 - 14:55:46 »
... funktioniert nicht, da ich nur kurz die Dos Box sehe und dann nichts mehr....

Hallo Andreas,

das mit der Dos Box hatte ich auch mal. Ich habe dann den Aufruf der EXE-Datei in eine CMD-Batch-Datei gesteckt zusammen mit der Angabe des Pfades.
Dies scheint hier aber wohl nicht das Problem zu sein, oder!?

Gruß Armin

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz