Textrahmen aus Datei per Basic kopieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

giochips
**
Beiträge: 24
Registriert: Di, 04.03.2008 15:45

Textrahmen aus Datei per Basic kopieren

Beitrag von giochips »

Hallo zusammen,

ich würde gerne beim Neuerstellen eines Dokumentes aus einer bestimmten Vorlage einen Textrahmen aus einem anderem Writerdokument laden.
Genauer:
Es handelt es sich um den Briefkopf. Hab also verschiedene Vorlagen mit verschiedenen Inhalten. Wir ein Dokument mit einer dieser Vorlagen neu erstellt, dann soll der Briefkopf aktuell aus einer separaten Datei als Textrahmen nachgeladen, kopiert, wie auch immer, werden. Das hat für mich den Vorteil, dass wenn sich etwas am Briefkopf ändert, brauche ich nur diese eine Datei zu ändern und nicht alle Vorlagen.
Dieser Textrahmen soll aber auch nur beim Erstellen des Dokumentes nachgeladen werden. Nicht beim Öffnen eines bereits gespeicherten Dokumentes! Deshalb scheidet wohl die "Verknüpfung" aus.
Dachte an so was wie GetString, SetString, was allerdings nur reinen Text kopiert und keine Formate.

Kann mir jemand helfen??
Vielen Dank!
Gruß
Marco
Woher soll ich wissen was ich denke, bevor ich gehört habe was ich sage!??
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Textrahmen aus Datei per Basic kopieren

Beitrag von komma4 »

Verschiedene Möglichkeiten:

a) nehme die Lösung über "Verknüpfung" - und löse diese beim ersten Speichern
b) [Kopier-Weg]: Sehe im ZIEL einen gleichgrossen Platzhalter vor, öffne das Dokument mit dem aktuellen Briefkopf (QUELLE), selektiere den Rahmen, kopiere in die Zwischenablage, wechsle zum ZIEL, selektiere den Platzhalter, einfügen aus der Zwischenablage.

Für die Kopier-/Einfügeaktionen habe ich bislang UNO-Befehle genutzt:

Code: Alles auswählen

Sub CrossPaste()

oCtrl = ThisComponent.getCurrentController() 
oRahmen = oCtrl.getFrame()
oDispatchHelper = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatchHelper.executeDispatch( oRahmen , ".uno:Paste", "", 0, Array() ) 
End Sub

Sub CrossCopy()

oCtrl = ThisComponent.getCurrentController() 
oRahmen = oCtrl.getFrame()
oDispatchHelper = createUnoService( "com.sun.star.frame.DispatchHelper" )
oDispatchHelper.executeDispatch( oRahmen , ".uno:Copy", "", 0, Array() ) 
End Sub
Hilft Dir das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
giochips
**
Beiträge: 24
Registriert: Di, 04.03.2008 15:45

Re: Textrahmen aus Datei per Basic kopieren

Beitrag von giochips »

Hallo und vielen Dank für deine Hilfe!!
Kannst du mir sagen wie ich eine Verknüpfung per Basic löse? Wenn ichs über die Zwischenablage mache komme ich wohl um den Dispatcher nicht herum oder?

Gruß
Marco
Woher soll ich wissen was ich denke, bevor ich gehört habe was ich sage!??
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Textrahmen aus Datei per Basic kopieren

Beitrag von eBayer »

@komma4
guten morgen....
kannst du mir sagen, wo ich mehr informationen oder eine doku über das uno-interface finden kann?
Danke für Deine Hilfe.
Gruss eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Textrahmen aus Datei per Basic kopieren

Beitrag von komma4 »

Vergiss das mit der Verknüpfung - und vergiss, dass auch die Zwischenablage programmiert werden kann ...

Eine Lösung mit Controller und den zwei dispatcher-calls ist am Schnellsten programmiert.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
giochips
**
Beiträge: 24
Registriert: Di, 04.03.2008 15:45

Re: Textrahmen aus Datei per Basic kopieren

Beitrag von giochips »

OK... hast mich überzeugt! :wink:

Danke!!
Woher soll ich wissen was ich denke, bevor ich gehört habe was ich sage!??
Antworten