Hallo,
 
> From: technik_...@jrsch.de [mailto:technik_...@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-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org

Antwort per Email an