Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/Program Files (x86)/OpenOffice 4/share/basic/Tutorials/ |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> <!--*********************************************************** * * 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. * ***********************************************************--> <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>