'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* ' Be sure that all variables are dimensioned: option explicit Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.view.XPrintable '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim sFileName, sFileUrl As String Dim aPrintingOptions(1) As New com.sun.star.beans.PropertyValue Dim aPrinterProps As Variant Dim i As Integer Test.StartMethod("getPrinter()") bOK = true aPrinterProps = oObj.getPrinter() bOK = bOK AND (ubound(aPrinterProps) > 0) Test.MethodTested("getPrinter()", bOK) Test.StartMethod("print()") bOK = true sFileUrl = utils.getTempFileURL("/XPrintable.prt", true) sFileName = utils.URL2Path(sFileUrl) aPrintingOptions(0).Name = "FileName" aPrintingOptions(0).Value = sFileName aPrintingOptions(0).State = com.sun.star.beans.PropertyState.DEFAULT_VALUE aPrintingOptions(1).Name = "Wait" aPrintingOptions(1).Value = true oObj.Print(aPrintingOptions()) ' without waiting Office can hang on setPrinter() call. wait(500) bOK = bOK AND FileExists(sFileName) Test.MethodTested("print()", bOK) Test.StartMethod("setPrinter()") bOK = true Dim iPaperFormat As Integer Dim iNewPaperFormat As Integer for i = 0 to ubound(aPrinterProps()) if (aPrinterProps(i).Name = "PaperFormat") then iPaperFormat = aPrinterProps(i).Value exit for endif next i if (iPaperFormat = com.sun.star.view.PaperFormat.A4) then iNewPaperFormat = com.sun.star.view.PaperFormat.LETTER else iNewPaperFormat = com.sun.star.view.PaperFormat.A4 endif aPrinterProps(i).Value = iNewPaperFormat oObj.setPrinter(aPrinterProps()) aPrinterProps() = oObj.getPrinter() for i = 0 to ubound(aPrinterProps()) if (aPrinterProps(i).Name = "PaperFormat") then bOK = bOK AND (aPrinterProps(i).Value = iNewPaperFormat) exit for endif next i Test.MethodTested("setPrinter()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub