openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schmidt <joe...@j-m-schmidt.de>
Subject RE: Es wird immer die odt datei gedruckt, wenn eine offen ist. war: Makro druckt falsche Datei
Date Thu, 31 May 2018 14:19:26 GMT
Hallo,
 
> From: technik_div@jrsch.de [mailto:technik_div@jrsch.de] 

> findet sich keine Idee, woran das liegen könnte. Es wird 
> immer die odt 
> Datei gedruckt, wenn eine offen ist statt der ods Datei, die gedruckt 
> werden sollte.  Es ist nicht das Makro.
> 
> Woran kann das denn liegen.

Es liegt in jedem Falle daran das das Makro den Bezug zum falschen ThisComponent-Objekt herstellt,
warum es das aber tut, dafür habe ich bei einem im Dokument gespeicherten Makro spontan keine
Erklärung.

Um das Drucken des richtigen Dokumentes zu erreichen musst Du notfalls die Herstellung des
richtigen ThisComponent-Bezuges erzwingen indem Du anhand einer Eigenschaft das richtige Dokument
bestimmst, z.B. am Titel.

Sub Main
	Dim tc As Object
	
	alles = Stardesktop.getComponents
	elemente = alles.createEnumeration
	Do While elemente.hasmoreElements
		aktuell = elemente.NextElement
		If HasUnoInterfaces(aktuell, "com.sun.star.frame.XModel") Then
			If aktuell.title = "be.ods" Then
				tc = aktuell
				Exit Do
			End If
		End If
	Loop
	
	rem 
	----------------------------------------------------------------------
	rem define variables
	dim dispatcher as object
	rem 
	----------------------------------------------------------------------
	rem get access to the document
	document   = tc.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	
	dim args1(0) as new com.sun.star.beans.PropertyValue
	args1(0).Name = "Nr"
	args1(0).Value = 5
	gehezu("Liste.a1:K20000") REM geht zu der Liste
	
	rem 
	----------------------------------------------------------------------
	dim args2(2) as new com.sun.star.beans.PropertyValue
	args2(0).Name = "Copies"
	args2(0).Value = 1
	args2(1).Name = "Selection"
	args2(1).Value = true
	args2(2).Name = "Collate"
	args2(2).Value = false
	
	dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())
End Sub




Gruß
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message