REM ***** BASIC ***** Dim oDialog As Object Sub Main() Dim oLibContainer As Object, oLib As Object Dim oInputStreamProvider As Object Const sLibName = "ToolkitControls" Const sDialogName = "FileDialogDlg" REM load/get library and input stream provider oLibContainer = DialogLibraries oLibContainer.loadLibrary( sLibName ) oLib = oLibContainer.getByName( sLibName ) oInputStreamProvider = oLib.getByName( sDialogName ) REM create dialog control oDialog = CreateUnoDialog( oInputStreamProvider ) REM show the dialog oDialog.execute() End Sub Sub OpenFileDialog() Dim oFilePicker As Object, oSimpleFileAccess As Object Dim oPathSettings As Object Dim oTextField As Object, oTextFieldModel As Object Dim sFileURL As String Dim sFiles As Variant REM file dialog oFilePicker = CreateUnoService( "com.sun.star.ui.dialogs.FilePicker" ) REM set filter oFilePicker.AppendFilter( "All files (*.*)", "*.*" ) oFilePicker.AppendFilter( "StarOffice 6.0 Text Text Document", "*.sxw" ) oFilePicker.AppendFilter( "StarOffice 6.0 Spreadsheet", "*.sxc" ) oFilePicker.SetCurrentFilter( "All files (*.*)" ) REM if no file URL is set, get path settings from configuration oTextFieldModel = oDialog.Model.TextField1 sFileURL = ConvertToURL( oTextFieldModel.Text ) If sFileURL = "" Then oSettings = CreateUnoService( "com.sun.star.frame.Settings" ) oPathSettings = CreateUnoService( "com.sun.star.util.PathSettings" ) sFileURL = oPathSettings.getPropertyValue( "Work" ) End If REM set display directory oSimpleFileAccess = CreateUnoService( "com.sun.star.ucb.SimpleFileAccess" ) If oSimpleFileAccess.exists( sFileURL ) And oSimpleFileAccess.isFolder( sFileURL ) Then oFilePicker.setDisplayDirectory( sFileURL ) End If REM execute file dialog If oFilePicker.execute() Then sFiles = oFilePicker.getFiles() sFileURL = sFiles(0) If oSimpleFileAccess.exists( sFileURL ) Then REM set file path in text field oTextField = oDialog.GetControl("TextField1") oTextField.SetText( ConvertFromURL( sFileURL ) ) End If End If End Sub