Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Norbert20 am 28.09.05 - 10:23:46
-
Hallo an alle,
ich habe mal wieder ein Problem.
Ich öffne mit @Command([Execute]; "C:\\") ein Windows Dateifenster um von dort z.B. eine Word-Datei zu öffnen.
Gibt es eine Möglichkeit, nachdem Word wieder beendet wurde, das noch sichtbare Dateifenster automatisch zu schließen?
Vielen Dank für Eure Mühe schonmal im voraus.
Gruß Norbert
-
Hallo,
Du hast IMO zwei Möglichkeiten :
a) mit @Command([Execute]) und dann sowohl Anwendung als auch zu öffnende Datei angeben
b) mit Lotus Script über Shell
Bei b) ist der Vorteil, daß Du bei sauber installierten Anwendungen einfach direkt die zu öffnende Datei angeben kannst. Durch die Zuordnung des Dateityps zur Anwendung unter Windows wird dann die passende Anwendung geöffnet.
-
öffne das Word-Dokument doch mit einer CMD-Datei. Mit Start wird die CMD-Datei in ihrer Ausführung nicht angehlaten.
Also in etwa so:
start "c:\word.doc"
exit
-
Hi,
es ist Absicht, dass die Nutzer eine beliebige Datei auf Ihrem Rechner (muss nicht WORD sein) auswählen und bearbeiten können.
Ich kann somit nicht den Dateinamen o.ä. vorhersehen.
Ich möchte nur das Dateiauswahlfenster automatisch wieder schließen.
Norbert
-
Hi,
man könnte mit NotesUiWorkspace.OpenFileDialog ein Auswahlfenster anzeigen. Die vom Benutzer markierte Datei erhälst Du incl. Pfad als Variant zurück und kannst diese dann mit Shell öffnen.
Ungewähr so wollte auch Ingo das Problem lösen.
Gruß
Willi
-
Genau ;D
-
Ups ... habe da wohl was gelesen, was ihr gar nicht geschrieben hattet - SORRY
-
@diali
nicht so schlimm, kann jedem passieren
@ die anderen
habe es jetzt ausprobiert mit folgendem Programmcode
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
files = workspace.OpenFileDialog(True, "File List", _
"", "c:")
Forall filelist In files
messagelist = messagelist & Filelist
End Forall
Messagebox messagelist
a = Shell (messagelist,3)
End Sub
Bekomme jedoch immer die Fehlermeldung "Illegal function call"
Was mache ich falsch?
-
Hi,
mir fehlt die Deklaration der Variablen messagelist. Ohne Deklaration ist sie ein Variant-Typ. Messagebox und Shell erwarten aber eine String-Variable. Vielleicht liegts daran.
Füge mal
Dim messagelist as String
ein.
Axel
-
Hi Axel,
hat leider nichts gebracht.
Trotzdem vielen Dank für deine Antwort.
Norbert
-
Das funktioiert nicht, weil Du das ausführende Programm mitgeben mußt:
taskid = shell("Notepad C:\Test.txt", 3). Da du das ja noch nicht weißt mußt Du den Umweg über CMD gehen:
http://www.atnotes.de/index.php?PHPSESSID=631a8b7cad8e893b1dc2d585f3eb67a9&topic=2771.msg14001#msg14001
Schau Dir da mal die Behandlung von FileObj an.
Gruß
Willi
-
Vielen Dank für die bis jetzt eingegangenen Lösungsvorschläge.
Gibt es denn keine EINFACHE Lösung für das Problem?
Hoffnungsvoll
Norbert
-
ist doch relativ einfach.
1. mit NotesUIWorkSpace.OpenFileDialog die Datei auswählen
2. eine CMD-Datei erzeugen mit dem Inhalt
- - Start "c:\Pfad\Date.doc"
- - Exit
3. CMD-Datei starten
-
Ein andere Möglichkeit wäre Shell("explorer.exe <pfad>, ...)
http://www.atnotes.de/index.php?topic=19880.0
Andreas
-
Hi Glombi,
deine Lösung funktioniert zum Aufrufen eines Programms wunderbar, aber:
wie kann ich das noch offene Windows-Explorer-Fenster automatisch schließen, nachdem zum Beispiel WORD beendet wurde?
Eine ruhige kurze Woche wünscht
Norbert
-
der Explorer wird hier nur als Hilfsmittel verwendet. Damit muss nicht für jede Anwendung das entsprechende Programm gesucht werden, weil dies der Explorer übernimmt.
Das Fenster könnte mit der Win-Api ermittelt und dann beendet werden.
Bei der Lösung mit der cmd-Datei, wird zwar eine Eingabeaufforderung geöffnet aber diese wird gleich wieder geschlossen. Dabei wird die Ermittlung des verknüpfden Programmes ebenfalls Windows überlassen.