%PDF- %PDF-
Direktori : /usr/lib/libreoffice/share/basic/Tutorials/ |
Current File : //usr/lib/libreoffice/share/basic/Tutorials/TutorialOpen.xba |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> <!-- * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . --> <script:module xmlns:script="http://openoffice.org/2000/script" script:name="TutorialOpen" script:language="StarBasic">REM ***** BASIC ***** Dim myOpenDialog As Object Dim oListBox As Object Dim files As Object Dim oUcb As Object Dim oListener As Object Sub TutorialOpenMain GlobalScope.BasicLibraries.LoadLibrary("Tools") myOpenDialog = LoadDialog("Tutorials","TutorialOpenDialog") init() myOpenDialog.Execute() End Sub Sub Init On Local Error Goto NOFILE myOpenDialog.Title = "Tutorials" oListBox = myOpenDialog.GetControl("ListBox") templatePath = GetPathSettings("Template",false, 0) Dim tutorialPath As String iPos = InStr(templatePath,"/") if(iPos > 0) Then tutorialPath = templatePath & "/tutorials" Else tutorialPath = templatePath & "\tutorials" End If oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess") files = oUcb.getFolderContents(tutorialPath,true) size = Ubound( files() ) Dim tempFiles(size) As String tempCount = 0 For iCount = 0 To size completPath = files(iCount) oDocInfo = CreateUnoService("com.sun.star.document.DocumentProperties") oDocInfo.Read(completPath) sDocTitle = oDocInfo.Title if(not isNull(sDocTitle) And len(sDocTitle) > 0) Then oListbox.addItem(sDocTitle,0) tempFiles(tempCount) = completPath tempCount = tempCount + 1 End If Next iCount 'printdbgInfo oListbox size = oListbox.ItemCount - 1 Dim tempFiles2(size) As String For iCount = 0 To size tempFiles2(iCount) = tempFiles(iCount) Next iCount files() = tempFiles2() Exit Sub NOFILE: If Err <> 0 Then Msgbox "No file found error!" & CHR(13) & "Path: ...\share\template\...\tutorials\" myOpenDialog.model.Open.enabled = False End If End Sub Sub ItemSelected(oEvent) On Local Error Goto NOFILE completPath = files(Ubound(files()) - oEvent.Selected) oTextField = myOpenDialog.GetControl("Label") 'TextField oTextField.setText("") Dim NoArgs() as new com.sun.star.beans.PropertyValue oDocInfo = CreateUnoService("com.sun.star.document.DocumentProperties") oDocInfo.Read(completPath) sDocDescription = oDocInfo.Description if(not isNull(sDocTitle) And len(sDocDescription) > 0) Then oTextField.setText(sDocDescription) Else oTextField.setText("Not Description!!!.") End If Exit Sub NOFILE: If Err <> 0 Then Msgbox "Open file error!" End If End Sub Sub OpenTutorial(aEvent) completPath = files(Ubound(files()) - oListBox.getSelectedItemPos()) Dim Args(2) as new com.sun.star.beans.PropertyValue Args(1).Name = "MacroExecutionMode" Args(1).Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE Args(2).Name = "AsTemplate" Args(2).Value = true StarDesktop.LoadComponentFromURL(completPath,"_default",0, Args()) myOpenDialog.endExecute() End Sub Sub Cancel(aEvent) myOpenDialog.endExecute() End Sub </script:module>