ich habe folgendes Problem:
Ich habe ein Writer-Dokument, dass als Steuerdokument für verschiedene andere Anwendungen dienen soll.
Das heißt, das Dokument enthält Schaltflächen, Makros und Dialoge über die andere Dokumente erstellt, geöffnet und modifiziert werden.
Jetzt möchte ich aus dem Steuerdokument beispielsweise folgendes tun:
- ein neues Writer-Dokument öffnen (klappt)
- einen im Steuerdokument gespeicherten Dialog aufrufen (klappt)
- bei Klick auf eine Dialogschaltfläche Text in das neue Dokument schreiben (klappt nicht)
Obwohl der Dialog-Schaltfläche ein Makro zugeordnet ist, dass den Text einfügt, wird das einfach nicht gestartet. Warum? Habe ich irgendeinen Denkfehler?
Hier der Code:
Code: Alles auswählen
REM ***** BASIC *****
dim oDoc as object
sub createDoc
'neues leere Writer-Dokument erstellen
Dim mArgs()
oDoc = StarDesktop.loadComponentFromURL ("private:factory/swriter","_blank", 0, mArgs())
'Dialog laden und anzeigen
DialogLibraries.LoadLibrary("Standard")
oDia=CreateUnoDialog(DialogLibraries.Standard.dia1)
oDia.Execute
end sub
sub insert1
'Ausführung bei Klick auf die erste Schaltfläche des Dialoges
insert(1)
end sub
sub insert2
'Ausführung bei Klick auf die zweite Schaltfläche des Dialoges
insert(2)
end sub
private sub insert(i as integer)
'Dialog schließen
oDia.EndExecute
'Text einfügen
oText = oDoc.text
oCursor = oText.createtextcursor()
oText.insertString(oCursor, "Text" & str(i),false)
end sub
Zur Erläuterung lege ich eine kleines Beispiel für das Steuerdokument bei, das den Makro-Code und den Dialog enthält.
Wäre schön, wenn mir jemand helfen könnte.
Vielen Dank im Voraus,
Steffan