<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_GlobalSheetSettings" script:language="StarBasic">


'*************************************************************************
'
'  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()

'*************************************************************************
' SERVICE: 
' com.sun.star.sheet.GlobalSheetSettings
'*************************************************************************
On Error Goto ErrHndl

    PropertyTester.TestProperty("MoveSelection")

    PropertyTester.TestProperty("MoveDirection")

    PropertyTester.TestProperty("EnterEdit")

    PropertyTester.TestProperty("ExtendFormat")

    PropertyTester.TestProperty("RangeFinder")

    PropertyTester.TestProperty("ExpandReferences")

    PropertyTester.TestProperty("MarkHeader")

    PropertyTester.TestProperty("UseTabCol")

    PropertyTester.TestProperty("Metric")

    PropertyTester.TestProperty("Scale")

    PropertyTester.TestProperty("DoAutoComplete")

    PropertyTester.TestProperty("StatusBarFunction")

    PropertyTester.TestProperty("UserLists")

   PropertyTester.TestProperty("LinkUpdateMode")

    PropertyTester.TestProperty("PrintAllSheets")

    PropertyTester.TestProperty("PrintEmptyPages")

    PropertyTester.TestProperty("UsePrinterMetrics")

    PropertyTester.TestProperty("ReplaceCellsWarning")

Exit Sub
ErrHndl:
    Test.Exception()
    resume next
End Sub
</script:module>
