Seite 1 von 1

[gelöst] Dialog schließt nicht

Verfasst: Mo, 20.06.2016 14:37
von junmod
Hallo Forum,

ich habe mir für Oo calc einen Dialog mit 3 Schaltflächen gebastelt, Schaltfläche 1 "NEU", Schaltfläche 2 "Bearbeiten", Schaltfläche 3 "Kopieren", für Schaltfläche 1 und 3 habe ich "Standard" ausgewählt, für Schaltfläche 2 "Abbrechen". Beim Drücken von 1 und 2 wird eine Funktion gestartet (Ereignisse/Aktion ausführen), die den Wert in einer Zelle um 1 erhöht (bekannt von der Dannenhöfer Seite)

Code: Alles auswählen

function GetAndSetNumber as string

dim f as Integer
dim anummerdatei as string   
dim anummer as string

Dim document as Object
Dim dispatcher as Object
Dim StringName as String
Dim OrdnerPos as String

rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

myDoc = ThisComponent
     myView = myDoc.CurrentController
     mySheet = myDoc.Sheets.getByName("Kal")
     myView.setActiveSheet(mySheet) 
     
OrdnerPos = "X:/Auf/"
   
  anummerdatei=OrdnerPos & "A-Nummer" & ".txt"
   if FileExists("file:///"&anummerdatei) then
         f = FreeFile()
         Open "file:///"&anummerdatei for Input as #f
               Line Input #f, anummer
               close #f
               f = FreeFile()
               Open "file:///"&anummerdatei for output as #f
               Print #f, val(anummer)+1
               close #f
        else
            anummer=0
        endif
    GetAndSetNumber=anummer  

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$G$2"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = GetAndSetNumber

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())

rem ----------------------------------------------------------------------
dim args10(0) as new com.sun.star.beans.PropertyValue
args10(0).Name = "ToPoint"
args10(0).Value = "$A$6"

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args10())

REM Messagebox
msgbox ("Es wurde eine neue A-Nummer angelegt!    ", 64, "Herzlichen Glückwunsch!")

rem end if

End function
Das funktioniert auch alles wunderbar, Schaltfläche 1 und 3 machen was ich will, aber der Dialog schließt nicht. Liegt das an einer Einstellung im Dialog? Wenn ich die 2 drücke schließt er sich.

Ich würde mich freuen wenn mir jemand helfen könnte.

Gruß
Dirk

Re: Dialog schließt nicht

Verfasst: Mo, 20.06.2016 19:37
von F3K Total
Hi,
wie sollen wir dir helfen? Vom Dialog hast du nichts gepostet. Am besten alle beteiligten Dokumente hier hochladen.
Gruß R

Re: Dialog schließt nicht

Verfasst: Di, 21.06.2016 06:59
von junmod
Hallo,

ja sorry, anbei das Beispiel.
Ich habe mal das ganze Drumherum rausgeschmissen und auf das Wesentliche reduziert.

Gruß
Dirk
Beispiel.ods
(21.44 KiB) 178-mal heruntergeladen

Re: Dialog schließt nicht

Verfasst: Di, 21.06.2016 16:23
von F3K Total
Schau mal durch, habe keine Zeit für lange Erklärungen, der Dialog muss per Makro mit .endExecute beendet werden.
Gruß R

Re: Dialog schließt nicht

Verfasst: Do, 23.06.2016 14:34
von junmod
Hallo ,

Prima.....danke.....jetzt funktioniert's. :-)

Das

Code: Alles auswählen

MyDlg.endexecute
hatte ich auch schonmal eingebaut (passierte nichts außer einer Fehlermeldung), aber erst damit

Code: Alles auswählen

global MyDlg as Object
funktioniert es.

Gruß
Dirk