Kopieren von Kopf- oder Fußzeile in neues Dokument

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Kopieren von Kopf- oder Fußzeile in neues Dokument

von jaba2000 » So, 09.04.2006 09:23

Hallo an alle,

hab das Problem gefunden. War wirklich ein Bug. Ich hatte noch die Version OO2.0.0. Ab der Version OO2.0.1 funktioniert die zweite Kopiermethode (Footer) korrekt.

Gruß jaba2000

Kopieren von Kopf- oder Fußzeile in neues Dokument

von jaba2000 » Fr, 07.04.2006 11:22

Hallo,

ich möchte mit OO2.0 aus einer Vorlage mittels Makro den Inhalt, sowie die Kopf- und Fußzeile in ein neues Dokument kopieren. Dies funktioniert zwar mit dem Inhalt problemlos, jedoch nicht mit der Schriftart in Kopf- oder Fußzeile. Ist dies ein Bug bzw. wie geht's? Hier mein Makro:

Code: Alles auswählen

sub Kopieren
	rem Aktuelles Formular initialisieren
	document   = ThisComponent
	StyleFamiliesDoc = document.StyleFamilies
    PageStylesDoc = StyleFamiliesDoc.getByName("PageStyles")
    DefPageDoc = PageStylesDoc.getByName("Standard")
	documentFrame   = document.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	GlobalScope.BasicLibraries.LoadLibrary("Tools")
	
	rem Setzen des Viewcursors des aktuellen Formulars auf den Bodytext-Anfang
	oTC = document.Text.createTextCursor() 
    myViewCur=document.GetCurrentController.ViewCursor
	myViewCur.gotoRange(oTC,false) 
   	myViewCur.gotoStart( false )

	rem Kopieren des Bodytextes
	dispatcher.executeDispatch(documentFrame, ".uno:SelectAll", "", 0, Array())
	dispatcher.executeDispatch(documentFrame, ".uno:Copy", "", 0, Array())

	rem Neues Dokument erstellen
	documentNew = CreateNewDocument("swriter")
	If Not IsNull(documentNew) Then
		rem Initialisierung des neuen Dokuments
		documentNewFrame   = documentNew.CurrentController.Frame
		StyleFamiliesDocNew = documentNew.StyleFamilies
    	PageStylesDocNew = StyleFamiliesDocNew.getByName("PageStyles")
    	DefPageDocNew = PageStylesDocNew.getByName("Standard")
   		myViewCursor=documentNew.GetCurrentController.ViewCursor
   		
   		rem Seiteneinstellungen der Vorlage ins neue Dokument übernehmen    	
    	DefPageDocNew.HeaderIsOn=DefPageDoc.HeaderIsOn
		DefPageDocNew.FooterIsOn=DefPageDoc.FooterIsOn
		DefPageDocNew.IsLandscape=DefPageDoc.IsLandscape
		DefPageDocNew.Width = DefPageDoc.Width
		DefPageDocNew.Height = DefPageDoc.Height
		DefPageDocNew.LeftMargin = DefPageDoc.LeftMargin
		DefPageDocNew.RightMargin = DefPageDoc.RightMargin
		DefPageDocNew.TopMargin = DefPageDoc.TopMargin
		DefPageDocNew.BottomMargin = DefPageDoc.BottomMargin
		
		rem Kopieren des Bodytextes ins neue Dokument
		dispatcher.executeDispatch(documentNewFrame, ".uno:Paste", "", 0, Array())
		
		if DefPageDoc.HeaderIsOn then 
			rem Kopiermethode1 hier beim Header
			rem Kopieren des Headertextes ins neue Dokument (Stil und Schriftart werden nicht mitkopiert!!!)
  		 	DefPageDocNew.HeaderText.String = DefPageDoc.HeaderText.String
		end if
  		if DefPageDoc.FooterIsOn then
			rem Kopiermethode2 hier beim Footer
			rem Kopieren des Footertextes ins neue Dokument (Schriftart wird nicht mitkopiert!!!)
			oTF = DefPageDoc.FooterText.Text.createTextCursor() 
			myViewCur.gotoRange(oTF,false) 
			oTFNew = DefPageDocNew.FooterText.Text.createTextCursor() 
			myViewCursor.gotoRange(oTFNew,false) 
			dispatcher.executeDispatch(documentFrame, ".uno:SelectAll", "", 0, Array())
			dispatcher.executeDispatch(documentFrame, ".uno:Copy", "", 0, Array())
			dispatcher.executeDispatch(documentNewFrame, ".uno:Paste", "", 0, Array())
  		end if

		rem Setzen der Viewcursor in beiden Dokumenten wieder Auf Bodytext-Anfang
		myViewCur.gotoRange(oTC,false) 
   		myViewCur.gotoStart( false )
		oTCNew = documentNew.Text.createTextCursor()
		myViewCursor.gotoRange(oTCNew,false) 
   		myViewCursor.gotoStart( false )
	End If
end sub
Gruß Jaba2000

Nach oben