Autor Thema: "Anwendung öffnen" mit Script  (Gelesen 3633 mal)

Offline domino23

  • Frischling
  • *
  • Beiträge: 38
"Anwendung öffnen" mit Script
« am: 05.02.13 - 12:04:32 »
Moin,

ich stehe im Moment auf dem Schlauch, vielleicht kann mir jemand helfen.

Ich möchte per Script einen Dialog öffnen, in dem ich mehrere DB´s wählen kann.
Mit
Code
Dim filenames As Variant
	filenames = ws.Prompt( 13, "", "")
bekomme ich auch den Dialog und alles super. Wenn ich nur eine DB wähle, ist der Rückgabewert in filenames(1)
Code
"names.nsf"
auch schön.
Wenn ich aber mehrere DB´s auswähle, ist der Rückgabewert
Code
"""names.nsf"" ""namagent.nsf"""
und ich bekomme mit Notessession.Getdatabase die DB nicht geöffnet.

Wo kommen diese doppelten " her?
WIe bekomme ich die weg...?

Matthias


Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #1 am: 05.02.13 - 12:12:49 »
Hallo,

Ist ja vielleicht nicht wichtig, ABER hast Du Dir schon mal angeschaut, was in der Hilfe zu NotesUIWorkspace.Prompt steht, wenn
Du als Type die 13 (PROMPT_CHOOSEDATABASE) verwendest?

Der Rueckgabewert ist ein Variant Array.


Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #2 am: 05.02.13 - 12:15:38 »
Wenn Du mehrere Datenbanken ausgewählt hast, ist der Button "Öffnen" ausgegraut. Vermutlich ist es nicht vorgesehen, mehrere Datenbanken auf diese Weise zu öffnen.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #3 am: 05.02.13 - 12:21:54 »
@Peter
Zitat
Wenn Du mehrere Datenbanken ausgewählt hast, ist der Button "Öffnen" ausgegraut. Vermutlich ist es nicht vorgesehen, mehrere Datenbanken auf diese Weise zu öffnen.
Will er das ueberhaupt?

Ich denke eher das er mit dem Rueckgabewert des Prompt-Aufrufes weiterarbeiten will.


Andreas

Offline domino23

  • Frischling
  • *
  • Beiträge: 38
Re: "Anwendung öffnen" mit Script
« Antwort #4 am: 05.02.13 - 12:23:29 »
Ja, der Button ist ausgegraut aber der Button "Auswählen" nicht.
Und ein Array wäre ja auch truamhaft, aber warum sind da die doppelten und dreifachen " enthalten? Die sollen weg, dann bin ich ja am Ziel

Im Grunde ist mir die Funktion auch egal  :)
Aufgabe: Mehrere DBs wählen können und diese sauber in "irgendwas" speichern. Array, Variant, Liste- völlig egal. Nur ohne diese überflüssigen Anführungszeichen.

Wenn es eine andere Funktion oder einen anderen Weg gibt, dann freue ich mich über Tipps!
Die Funktion erschien mit am Sinnvollsten und sie macht ja auch zu 99% das, was ich erwarte.


Matthias

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: "Anwendung öffnen" mit Script
« Antwort #5 am: 05.02.13 - 12:28:35 »
Schau dir mal aus NotesUIWorkspace die Methode OpenFiledialog an. Der ist dem Öffnen - Dialog aus Windows nachempfunden.

Du mußt ein paar mehr Parameter entsprechend übergeben, dafür kannst du aber auch mehrere Datenbanken auswählen.

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #6 am: 05.02.13 - 12:36:51 »
Dein eigentliches 'kleines' Problem duerfte wohl aber hierher kommen.

Zitat
For PROMPT_CHOOSEDATABASE, the return value is a three-element array of strings, containing the server, filepath, and title of the database, in that order;
Also, egal wieviele Datenbank Du auswaehlst, es wird immer ein Array mit 3 Elementen zurueckgegeben werden.


Andreas

Offline dnotes

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #7 am: 05.02.13 - 12:45:15 »
Jetzt wurde es doch noch erkannt, dass es ein anderes Array zurück gibt.

Stör Dich nicht an den überflüssigen Anführungszeichen.
So geht´s:

Dim ws As New NotesUIWorkspace
   Dim filenames As Variant
   filenames = ws.Prompt( 13, "", "")
   Dim vv As Variant
   w = Split(filenames(1)," ")
'Als Beispiel mal das 2. Element aus w ausgewählt. Ein Loop über alle gewählten geht natürlich auch.
   Dim db As New NotesDatabase("",w(1))

*Anführungszeichen sind doch zu viel und müssen weg
« Letzte Änderung: 05.02.13 - 12:52:39 von dnotes »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #8 am: 05.02.13 - 12:46:31 »
Dann mach es so:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim filenames As Variant
   filenames = ws.Prompt( 13, "", "")
   Dim dateinamen As Variant
   dateinamen = Fulltrim (Split (filenames (1), |"|))
End Sub

filenames (0) enthält den Server
dateinamen ist ein Array mit allen Dateinamen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: "Anwendung öffnen" mit Script
« Antwort #9 am: 05.02.13 - 12:48:03 »
... und filenames (2) enthält immer nur einen Titel, was man wohl als Bug bezeichnen muss.

Bernhard

Offline domino23

  • Frischling
  • *
  • Beiträge: 38
Re: "Anwendung öffnen" mit Script
« Antwort #10 am: 05.02.13 - 13:18:08 »
Jo, vielen Dank Peter. So wirds gemacht.
Das Split hatte ich auch, aber kein Fulltrim...

Das mit dem Titel ist mir auch aufgefallen (wie der ausgegraute Button), aber den brauche ich auch nicht.

Vielen Dank!


Matthias

Mitch

  • Gast
Re: "Anwendung öffnen" mit Script
« Antwort #11 am: 05.02.13 - 13:55:44 »
Zusätzlich zu dem komischen Format kommt bei mir noch ein Fehler wenn die Länge der Dateinamen (inklusive Pfad) zu lang wird ("Der angegebene Server- und Dateiname ist länger als 100 Zeichen").

Das nur als Hinweis, also nicht zu viele Datenbank in zu tiefen Verzeichnissen auf einmal auswählen. ;)

Gruß,

Mitch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz