Benutzer-bestimmte .pdf mit Button über @Command([Execute] in Adobe aufrufen

  • Guten Morgen,


    ein Button "Ansehen" mit der Formula-Belegung: @Command([Execute];"C:\\Program Files (x86)\\Adobe\\Reader 11.0\\Reader\\AcroRd32.exe";"C:\\Temp\\test.pdf") funktionert einwandfrei > Datei wird bei Drücken des Knopfes geöffnet.


    Jetzt gibt es bei mir jedoch die Konstellation, dass ein erster Benutzer über einen anderen Button "Hochladen" ein Feld mit Pfad und Dateinamen bestimmt. Ich wandle dies in die notwendige Form "C:\\Temp\\test.pdf". (Feld benötige ich für eine angebundene Anwendung!)


    Nun soll er und/oder ein zweiter(späterer) Benutzer die Möglichkeit haben über "Ansehen" das Dokument in einer anderen Anwendung anzusehen. Also habe ich versucht die Formel aus der ersten Zeile entsprechend anzupassen.
    Den Anwendungsnamen kann man herauslassen, sofern die notwendige Anwendung zum Öffnen in Windows belegt ist.
    > @Command([Execute];"C:\\Temp\\test.pdf")
    Jetzt kommt der Knackpuckt- ich bekomme den Feldnamen nicht ohne Fehler in die Formel.
    @Getfield, @Text, ... alles ausprobiert- zumeist interpretiert Notes den Formelausdruck als auszuführendes Programm, welches er nicht findet ...


    Hat jemand eine Idee, wie ich gewünschte Funktionaliät erreichen kann?


    Besten Dank und freundliche Grüße!


    Marc Dittberner

  • Das Problem: Den doppelten Backslash brauchst Du NUR, wenn Du einen Pfad manuell in irgendeiner Formel eingibst, weil in der Formelsprache der Backslash als Sonderzeichen behandelt wird, und maskiert werden muss.


    Wenn Du den Pfad "injectest", dann muss da ein ganz normaler Pfad mit EINFACHEM Backslash im Feld stehen, so wie er im Explorer erscheint.

  • Hallo,


    ich habe den doppelten Backslash und die Anführungszeichen wieder herausgenommen.
    Das Feld wird nun gefüllt mit : Call uidoc.fieldsettext("Anhangspfad", filenames(0))


    Den Button 'Ansehen' habe ich aktuell belegt mit : @Command([Execute];@GetField(@Text(Anhangspfad)))
    Dadurch öffnet sich der Browser mit dem Pfad C:\Program Files (x86)\IBM\Lotus\Notes\framework


    Ich glaube er sucht, dort nach dem Programm ...

  • Selbst wenn ich den Adobe Reader hinterlege, öffnet sich nur die Anwendung, aber nicht die Datei!
    @Command([Execute];"C:\\Program Files (x86)\\Adobe\\Reader 11.0\\Reader\\AcroRd32.exe";@GetField(@Text(Anhangspfad)))


    Den Anwendungspfad möchte ich ohnehin nicht angeben, da er sich durchaus je Benutzer unterscheiden kann ...

  • Jetzt seh ichs erst: Deine Formel ist ja völliger Blödsinn:


    @GetField( @Text( AnhangsPfad ) ) :


    @Text( AnhangsPfad ) ergibt: C:\Temp\test.pdf. @GetField( "C:\Temp\test.pdf" ) ist dann blank, weil es ein Feld dieses Namens gar nicht geben kann.


    Also muss das ENTWEDER heissen:


    @GetField( "AnhangsPfad" )


    ODER


    @Text( AnhangsPfad )


    ODER (für Paranoiker)


    @Text( @GetField( "AnhangsPfad" ) )


    beachte die Anführungszeichen in den beiden Varianten...

  • Das Feld wird als leer gelesen, obwohl ich den Inhalt sehen kann( Tode: Ich habe alle Kombinationen geprüft...)


    Anhangspfad ist ein Rich Text und wurde schon unterschiedlichst befüllt(in der Anwendung auch sichtbar):


    filenames = ws.OpenFileDialog( False, "Datei auswählen", ".pdf","C:\Temp\test.pdf")
    Call uidoc.fieldsettext("Anhangspfad", filenames(0))


    ' datei = strreplace ("\","\\",filenames(0))
    ' datei = filenames(0)
    ' Call uidoc.fieldsettext("Anhangspfad", Trim(Cstr(""""+datei+"""")))


    Der GetField liefert scheinbar immer leer.
    Kann es sein, dass es daran liegt, dass der Wert im Feld durch einen Aufruf in einem anderen Feld gefüllt wird(nicht durch Eingabe) und "noch nicht realisiert ist", dass das Feld den Wert hat?

  • Hi,


    Wenn du die Info, dass es sich bei dem betreffenden Feld um ein RichText-Feld handelt, gleich geliefert haettest,
    waeren wir der Ursache wahrscheinlich etwas schneller auf die Spur gekommen.


    RT-Felder verhalten sich nun mal vollkommen anders als "normale" Textfelder.



    Andreas