1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndex" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32***** 33'************************************************************************* 34 35 36 37' Be sure that all variables are dimensioned: 38option explicit 39 40 41' REQUIRED VARIABLES for interface/service tests: 42Global oCollection As Object 43Global oComponentInstance As Object ' it will be disposed 44Global oXTextContent as Object 45Global oXTextContentRange as Object 46 47 48 49Sub CreateObj() 50 51'************************************************************************* 52' COMPONENT: 53' sw.SwXDocumentIndex 54'************************************************************************* 55On Error Goto ErrHndl 56 Dim i As Integer 57 Dim n As Integer 58 Dim oCursor As Object 59 Dim oSearch As Object 60 Dim oFound As Object 61 Dim oIndexEntry As Object 62 Dim oFoundPos As Object 63 Dim oIndex As Object 64 65 oDoc = utils.createDocument("swriter", cObjectName) 66 oCursor = oDoc.Text.createTextCursor() 67 68 ' write some strings to document 69 for i = 1 to 10 70 oCursor.gotoEnd(false) 71 oDoc.Text.insertString(oCursor, cObjectName, false) 72 oDoc.Text.insertControlCharacter(oCursor, 0, false) 73 next i 74 75 ' insert some IndexMakrs 76 oSearch = oDoc.createSearchDescriptor() 77 oSearch.SearchString = cObjectName 78 oFound = oDoc.findAll(oSearch) 79 80 for n = 0 to oFound.Count - 5 81 oFoundPos = oFound(n) 82 oIndexEntry = oDoc.createInstance("com.sun.star.text.DocumentIndexMark") 83 oDoc.text.insertTextContent(oFoundPos, oIndexEntry, true) 84 next n 85 86 'create an index 87 oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndex") 88 oDoc.Text.insertTextContent(oCursor, oIndex, false) 89 oObj = oIndex 90 91 oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndex") 92 oXTextContentRange = oDoc.Text.createTextCursor() 93 94 oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") 95 oDoc.Text.insertTextContent(oCursor, oIndex, false) 96 oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") 97 oDoc.Text.insertTextContent(oCursor, oIndex, false) 98 oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") 99 oDoc.Text.insertTextContent(oCursor, oIndex, false) 100 oComponentInstance = oIndex 101 102 oCollection = oDoc.getDocumentIndexes() 103 104Exit Sub 105ErrHndl: 106 Test.Exception() 107End Sub 108</script:module> 109