1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*b1cdbd2cSJim Jagielski<!--*********************************************************** 4*b1cdbd2cSJim Jagielski * 5*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 6*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 7*b1cdbd2cSJim Jagielski * distributed with this work for additional information 8*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 9*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 10*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 11*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 14*b1cdbd2cSJim Jagielski * 15*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 16*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 17*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 19*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 20*b1cdbd2cSJim Jagielski * under the License. 21*b1cdbd2cSJim Jagielski * 22*b1cdbd2cSJim Jagielski ***********************************************************--> 23*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Debug" script:language="StarBasic">REM ***** BASIC ***** 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim JagielskiSub ActivateReadOnlyFlag() 26*b1cdbd2cSJim Jagielski SetBasicReadOnlyFlag(True) 27*b1cdbd2cSJim JagielskiEnd Sub 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim JagielskiSub DeactivateReadOnlyFlag() 31*b1cdbd2cSJim Jagielski SetBasicReadOnlyFlag(False) 32*b1cdbd2cSJim JagielskiEnd Sub 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim JagielskiSub SetBasicReadOnlyFlag(bReadOnly as Boolean) 36*b1cdbd2cSJim JagielskiDim i as Integer 37*b1cdbd2cSJim JagielskiDim LibName as String 38*b1cdbd2cSJim JagielskiDim BasicLibNames() as String 39*b1cdbd2cSJim Jagielski BasicLibNames() = BasicLibraries.ElementNames() 40*b1cdbd2cSJim Jagielski For i = 0 To Ubound(BasicLibNames()) 41*b1cdbd2cSJim Jagielski LibName = BasicLibNames(i) 42*b1cdbd2cSJim Jagielski If LibName <> "Standard" Then 43*b1cdbd2cSJim Jagielski BasicLibraries.SetLibraryReadOnly(LibName, bReadOnly) 44*b1cdbd2cSJim Jagielski End If 45*b1cdbd2cSJim Jagielski Next i 46*b1cdbd2cSJim JagielskiEnd Sub 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim JagielskiSub WritedbgInfo(LocObject as Object) 50*b1cdbd2cSJim JagielskiDim locUrl as String 51*b1cdbd2cSJim JagielskiDim oLocDocument as Object 52*b1cdbd2cSJim JagielskiDim oLocText as Object 53*b1cdbd2cSJim JagielskiDim oLocCursor as Object 54*b1cdbd2cSJim JagielskiDim NoArgs() 55*b1cdbd2cSJim JagielskiDim sObjectStrings(2) as String 56*b1cdbd2cSJim JagielskiDim sProperties() as String 57*b1cdbd2cSJim JagielskiDim n as Integer 58*b1cdbd2cSJim JagielskiDim m as Integer 59*b1cdbd2cSJim JagielskiDim MaxIndex as Integer 60*b1cdbd2cSJim Jagielski sObjectStrings(0) = LocObject.dbg_Properties 61*b1cdbd2cSJim Jagielski sObjectStrings(1) = LocObject.dbg_Methods 62*b1cdbd2cSJim Jagielski sObjectStrings(2) = LocObject.dbg_SupportedInterfaces 63*b1cdbd2cSJim Jagielski LocUrl = "private:factory/swriter" 64*b1cdbd2cSJim Jagielski oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,"_default",0,NoArgs) 65*b1cdbd2cSJim Jagielski oLocText = oLocDocument.text 66*b1cdbd2cSJim Jagielski oLocCursor = oLocText.createTextCursor() 67*b1cdbd2cSJim Jagielski oLocCursor.gotoStart(False) 68*b1cdbd2cSJim Jagielski If Vartype(LocObject) = 9 then ' an Object Variable 69*b1cdbd2cSJim Jagielski For n = 0 To 2 70*b1cdbd2cSJim Jagielski sProperties() = ArrayoutofString(sObjectStrings(n),";", MaxIndex) 71*b1cdbd2cSJim Jagielski For m = 0 To MaxIndex 72*b1cdbd2cSJim Jagielski oLocText.insertString(oLocCursor,sProperties(m),False) 73*b1cdbd2cSJim Jagielski oLocText.insertControlCharacter(oLocCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False) 74*b1cdbd2cSJim Jagielski Next m 75*b1cdbd2cSJim Jagielski Next n 76*b1cdbd2cSJim Jagielski Elseif Vartype(LocObject) = 8 Then ' a String Variable 77*b1cdbd2cSJim Jagielski oLocText.insertString(oLocCursor,LocObject,False) 78*b1cdbd2cSJim Jagielski ElseIf Vartype(LocObject) = 1 Then 79*b1cdbd2cSJim Jagielski Msgbox("Variable is Null!", 16, GetProductName()) 80*b1cdbd2cSJim Jagielski End If 81*b1cdbd2cSJim JagielskiEnd Sub 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim JagielskiSub WriteDbgString(LocString as string) 85*b1cdbd2cSJim JagielskiDim oLocDesktop as object 86*b1cdbd2cSJim JagielskiDim LocUrl as String 87*b1cdbd2cSJim JagielskiDim oLocDocument as Object 88*b1cdbd2cSJim JagielskiDim oLocCursor as Object 89*b1cdbd2cSJim JagielskiDim oLocText as Object 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski LocUrl = "private:factory/swriter" 92*b1cdbd2cSJim Jagielski oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,"_default",0,NoArgs) 93*b1cdbd2cSJim Jagielski oLocText = oLocDocument.text 94*b1cdbd2cSJim Jagielski oLocCursor = oLocText.createTextCursor() 95*b1cdbd2cSJim Jagielski oLocCursor.gotoStart(False) 96*b1cdbd2cSJim Jagielski oLocText.insertString(oLocCursor,LocString,False) 97*b1cdbd2cSJim JagielskiEnd Sub 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim JagielskiSub printdbgInfo(LocObject) 101*b1cdbd2cSJim Jagielski If Vartype(LocObject) = 9 then 102*b1cdbd2cSJim Jagielski Msgbox LocObject.dbg_properties 103*b1cdbd2cSJim Jagielski Msgbox LocObject.dbg_methods 104*b1cdbd2cSJim Jagielski Msgbox LocObject.dbg_supportedinterfaces 105*b1cdbd2cSJim Jagielski Elseif Vartype(LocObject) = 8 Then ' a String Variable 106*b1cdbd2cSJim Jagielski Msgbox LocObject 107*b1cdbd2cSJim Jagielski ElseIf Vartype(LocObject) = 0 Then 108*b1cdbd2cSJim Jagielski Msgbox("Variable is Null!", 16, GetProductName()) 109*b1cdbd2cSJim Jagielski Else 110*b1cdbd2cSJim Jagielski Msgbox("Type of Variable: " & Typename(LocObject), 48, GetProductName()) 111*b1cdbd2cSJim Jagielski End If 112*b1cdbd2cSJim JagielskiEnd Sub 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim JagielskiSub ShowArray(LocArray()) 116*b1cdbd2cSJim JagielskiDim i as integer 117*b1cdbd2cSJim JagielskiDim msgstring 118*b1cdbd2cSJim Jagielski msgstring = "" 119*b1cdbd2cSJim Jagielski For i = Lbound(LocArray()) to Ubound(LocArray()) 120*b1cdbd2cSJim Jagielski msgstring = msgstring + LocArray(i) + chr(13) 121*b1cdbd2cSJim Jagielski Next 122*b1cdbd2cSJim Jagielski Msgbox msgstring 123*b1cdbd2cSJim JagielskiEnd Sub 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim JagielskiSub ShowPropertyValues(oLocObject as Object) 127*b1cdbd2cSJim JagielskiDim PropName as String 128*b1cdbd2cSJim JagielskiDim sValues as String 129*b1cdbd2cSJim Jagielski On Local Error Goto NOPROPERTYSETINFO: 130*b1cdbd2cSJim Jagielski sValues = "" 131*b1cdbd2cSJim Jagielski For i = 0 To Ubound(oLocObject.PropertySetInfo.Properties) 132*b1cdbd2cSJim Jagielski Propname = oLocObject.PropertySetInfo.Properties(i).Name 133*b1cdbd2cSJim Jagielski sValues = sValues & PropName & chr(13) & " = " & oLocObject.GetPropertyValue(PropName) & chr(13) 134*b1cdbd2cSJim Jagielski Next i 135*b1cdbd2cSJim Jagielski Msgbox(sValues , 64, GetProductName()) 136*b1cdbd2cSJim Jagielski Exit Sub 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim JagielskiNOPROPERTYSETINFO: 139*b1cdbd2cSJim Jagielski Msgbox("Sorry, No PropertySetInfo attached to the object", 16, GetProductName()) 140*b1cdbd2cSJim Jagielski Resume LEAVEPROC 141*b1cdbd2cSJim Jagielski LEAVEPROC: 142*b1cdbd2cSJim JagielskiEnd Sub 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim JagielskiSub ShowNameValuePair(Pair()) 146*b1cdbd2cSJim JagielskiDim i as Integer 147*b1cdbd2cSJim JagielskiDim ShowString as String 148*b1cdbd2cSJim Jagielski ShowString = "" 149*b1cdbd2cSJim Jagielski On Local Error Resume Next 150*b1cdbd2cSJim Jagielski For i = 0 To Ubound(Pair()) 151*b1cdbd2cSJim Jagielski ShowString = ShowString & Pair(i).Name & " = " 152*b1cdbd2cSJim Jagielski ShowString = ShowString & Pair(i).Value & chr(13) 153*b1cdbd2cSJim Jagielski Next i 154*b1cdbd2cSJim Jagielski Msgbox ShowString 155*b1cdbd2cSJim JagielskiEnd Sub 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski' Retrieves all the Elements of aSequence of an object, with the 159*b1cdbd2cSJim Jagielski' possibility to define a filter(sfilter <> "") 160*b1cdbd2cSJim JagielskiSub ShowElementNames(oLocElements() as Object, Optional sFiltername as String) 161*b1cdbd2cSJim JagielskiDim i as Integer 162*b1cdbd2cSJim JagielskiDim NameString as String 163*b1cdbd2cSJim Jagielski NameString = "" 164*b1cdbd2cSJim Jagielski For i = 0 To Ubound(oLocElements()) 165*b1cdbd2cSJim Jagielski If Not IsMissIng(sFilterName) Then 166*b1cdbd2cSJim Jagielski If Instr(1, oLocElements(i), sFilterName) Then 167*b1cdbd2cSJim Jagielski NameString = NameString & oLocElements(i) & chr(13) 168*b1cdbd2cSJim Jagielski End If 169*b1cdbd2cSJim Jagielski Else 170*b1cdbd2cSJim Jagielski NameString = NameString & oLocElements(i) & chr(13) 171*b1cdbd2cSJim Jagielski End If 172*b1cdbd2cSJim Jagielski Next i 173*b1cdbd2cSJim Jagielski Msgbox(NameString, 64, GetProductName()) 174*b1cdbd2cSJim JagielskiEnd Sub 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski' Retrieves all the supported servicenames of an object, with the 178*b1cdbd2cSJim Jagielski' possibility to define a filter(sfilter <> "") 179*b1cdbd2cSJim JagielskiSub ShowSupportedServiceNames(oLocObject as Object, Optional sFilterName as String) 180*b1cdbd2cSJim Jagielski On Local Error Goto NOSERVICENAMES 181*b1cdbd2cSJim Jagielski If IsMissing(sFilterName) Then 182*b1cdbd2cSJim Jagielski ShowElementNames(oLocobject.SupportedServiceNames()) 183*b1cdbd2cSJim Jagielski Else 184*b1cdbd2cSJim Jagielski ShowElementNames(oLocobject.SupportedServiceNames(), sFilterName) 185*b1cdbd2cSJim Jagielski End If 186*b1cdbd2cSJim Jagielski Exit Sub 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski NOSERVICENAMES: 189*b1cdbd2cSJim Jagielski Msgbox("Sorry, No 'SupportedServiceNames' - Property attached to the object", 16, GetProductName()) 190*b1cdbd2cSJim Jagielski Resume LEAVEPROC 191*b1cdbd2cSJim Jagielski LEAVEPROC: 192*b1cdbd2cSJim JagielskiEnd Sub 193*b1cdbd2cSJim Jagielski 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski' Retrieves all the available Servicenames of an object, with the 196*b1cdbd2cSJim Jagielski' possibility to define a filter(sfilter <> "") 197*b1cdbd2cSJim JagielskiSub ShowAvailableServiceNames(oLocObject as Object, Optional sFilterName as String) 198*b1cdbd2cSJim Jagielski On Local Error Goto NOSERVICENAMES 199*b1cdbd2cSJim Jagielski If IsMissing(sFilterName) Then 200*b1cdbd2cSJim Jagielski ShowElementNames(oLocobject.AvailableServiceNames) 201*b1cdbd2cSJim Jagielski Else 202*b1cdbd2cSJim Jagielski ShowElementNames(oLocobject.AvailableServiceNames, sFilterName) 203*b1cdbd2cSJim Jagielski End If 204*b1cdbd2cSJim Jagielski Exit Sub 205*b1cdbd2cSJim Jagielski 206*b1cdbd2cSJim Jagielski NOSERVICENAMES: 207*b1cdbd2cSJim Jagielski Msgbox("Sorry, No 'AvailableServiceNames' - Property attached to the object", 16, GetProductName()) 208*b1cdbd2cSJim Jagielski Resume LEAVEPROC 209*b1cdbd2cSJim Jagielski LEAVEPROC: 210*b1cdbd2cSJim JagielskiEnd Sub 211*b1cdbd2cSJim Jagielski 212*b1cdbd2cSJim Jagielski 213*b1cdbd2cSJim JagielskiSub ShowCommands(oLocObject as Object) 214*b1cdbd2cSJim Jagielski On Local Error Goto NOCOMMANDS 215*b1cdbd2cSJim Jagielski ShowElementNames(oLocObject.QueryCommands) 216*b1cdbd2cSJim Jagielski Exit Sub 217*b1cdbd2cSJim Jagielski NOCOMMANDS: 218*b1cdbd2cSJim Jagielski Msgbox("Sorry, No 'QueryCommands' - Property attached to the object", 16, GetProductName()) 219*b1cdbd2cSJim Jagielski Resume LEAVEPROC 220*b1cdbd2cSJim Jagielski LEAVEPROC: 221*b1cdbd2cSJim JagielskiEnd Sub 222*b1cdbd2cSJim Jagielski 223*b1cdbd2cSJim Jagielski 224*b1cdbd2cSJim JagielskiSub ProtectCurrentSheets() 225*b1cdbd2cSJim JagielskiDim oDocument as Object 226*b1cdbd2cSJim JagielskiDim sDocType as String 227*b1cdbd2cSJim JagielskiDim iResult as Integer 228*b1cdbd2cSJim JagielskiDim oSheets as Object 229*b1cdbd2cSJim JagielskiDim i as Integer 230*b1cdbd2cSJim JagielskiDim bDoProtect as Boolean 231*b1cdbd2cSJim Jagielski oDocument = StarDesktop.ActiveFrame.Controller.Model 232*b1cdbd2cSJim Jagielski sDocType = GetDocumentType(oDocument) 233*b1cdbd2cSJim Jagielski If sDocType = "scalc" Then 234*b1cdbd2cSJim Jagielski oSheets = oDocument.Sheets 235*b1cdbd2cSJim Jagielski bDoProtect = False 236*b1cdbd2cSJim Jagielski For i = 0 To oSheets.Count-1 237*b1cdbd2cSJim Jagielski If Not oSheets(i).IsProtected Then 238*b1cdbd2cSJim Jagielski bDoProtect = True 239*b1cdbd2cSJim Jagielski End If 240*b1cdbd2cSJim Jagielski Next i 241*b1cdbd2cSJim Jagielski If bDoProtect Then 242*b1cdbd2cSJim Jagielski iResult = Msgbox( "Do you want to protect all sheets of this document?",35, GetProductName()) 243*b1cdbd2cSJim Jagielski If iResult = 6 Then 244*b1cdbd2cSJim Jagielski ProtectSheets(oDocument.Sheets) 245*b1cdbd2cSJim Jagielski End If 246*b1cdbd2cSJim Jagielski End If 247*b1cdbd2cSJim Jagielski End If 248*b1cdbd2cSJim JagielskiEnd Sub 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim JagielskiSub FillDocument() 252*b1cdbd2cSJim Jagielski oMyReport = createUNOService("com.sun.star.wizards.report.CallReportWizard") 253*b1cdbd2cSJim Jagielski oMyReport.trigger("fill") 254*b1cdbd2cSJim JagielskiEnd Sub 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski</script:module> 257