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