Hinweis/Frage abfangen beim Import

  • Moin moin,


    Ich habe ein Dialogfenster mit einer Tabelle (Registerform) um so ne Art "Assistent" darzustellen.
    Der Assistent erstellt aus eingegebenen Daten eine HTML-Datei (mit einer HTML-Tabelle), speichert diese temporär als Datei auf der Platte, wechselt in ein Richtextfeld und importiert anschliessend mittels uidocument.import(Filter, Name) die Datei wieder.
    Funktioniert eigentlich wunderbar, aber da das Dialogfenster eine Registertabelle ist und der Inhalt der importierten Datei eine Tabelle enthält, fragt mich Notes beim Einfügen, ob ich die Tabelle in die bestehende Tabelle einfügen möchte.


    Kann man diese Abfrage irgendwie unterdrücken?
    Gibt es ne bessere Methode als zu exportieren und dann wieder zu importieren?


    Hier mein Script für den Ex- und Reimport:


    Sub Click(Source As Button)
    Dim ws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Dim filename As String
    Dim tempfilename As String
    Set uidoc=ws.currentdocument
    Call uidoc.gotofield("Vorschau")
    s=uidoc.fieldgettext("html1")
    fileNum%=Freefile()
    TempFileName$ ="h:\test1.htm"
    Open TempFileName$ For Output As fileNum%
    Print #fileNum%, s
    Close fileNum%
    Call uidoc.Import("HTML File",tempFileName$)
    Kill TempFileName$
    End Sub


    html1 enthält den HTML-Code berechnet als Text/String; Vorschau ist das Richtextfeld innerhalb des Dialogfensters in dem das ganze abläuft.

    • Offizieller Beitrag

    hast du Sendkeys (LotusScript) oder SendKey aus der Win-API verwendet?


    SendKeys (LotusScript) wird nicht unterstützt!


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    hier mal ein Beispiel für Ctrl + F4. Die Codes für Deine Tasten musst du mal ergoogeln.

    Code
    ' DBClose_mit_Windows_DLL über die Tasten Ctrl + F4 '
    Declare Sub keybd_event Lib "user32.dll" (Byval bVk As Integer, Byval bScan As Integer, Byval dwFlags As Integer,Byval dwExtraInfo As Integer)
    
    
    keybd_event &h11,0,0,0 ' Ctrl key down'
    keybd_event &h73,0,0,0 ' F4 key down'
    keybd_event &h73,0,2,0 ' F4 key up'
    keybd_event &h11,0,2,0 ' Ctrl key up'


    Gruß
    Dirk

  • Juhu, es klappt ;)


    Ich sende mit Diali's Version nen right arrow und nen Return (jeweils mit key press und key depress) und packe den import DANACH rein (dh ich fülle wohl den Tastaturspeicher mit den Zeichen?).


    Hier der finale Code:


    Dim ws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Dim filename As String
    Dim tempfilename As String
    Dim flag As Variant
    Set uidoc=ws.currentdocument
    Call uidoc.gotofield("Vorschau")


    s=uidoc.fieldgettext("html1")
    fileNum%=Freefile()
    TempFileName$ ="h:\test1.htm"
    Open TempFileName$ For Output As fileNum%
    Print #fileNum%, s
    Close fileNum%

    keybd_event &h27,0,0,0
    keybd_event &h27,0,2,0
    keybd_event &h0d,0,0,0
    keybd_event &h0d,0,2,0
    Call uidoc.import("HTML File",TempFileName$)

    Kill TempFileName$



    Danke euch für die schnelle Hilfe, nun ist das Script viel nutzerfreundlicher :)

    • Offizieller Beitrag

    du machst dich damit aber abhändig vom BS und eventuell von der BS-Version (32/64Bit).


    Gruß
    Dirk

    • Offizieller Beitrag

    habs mal auf erledigt gesetzt.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein