Created attachment 142930 [details]
Example file from Excel
If we try to run this simple “open file dialog” macro in LibreOffice Calc, which is in the attached file, we got an error code('423' GetOpenFilename). The main reason of this error is that LibreOffice uses another File selection dialog method: CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
Steps to reproduce:
1. Create a new spreadsheet with Microsoft Excel 2016/2013
2. Open the Visual Basic window
3. Add a new Module to your VBAProject
4. Use this simple code:
Dim filename As String
filename = Application.GetOpenFilename()
5. Save the file as *.xlsm
7. Open the file with LibreOffice Calc. Run the macro.
Actual results: The file dialog is opened in Microsoft Office Excel, but If We use this “GetOpenFilename” method in LibreOffice Calc, we get an error message. If we use the LibreOffice module CreateUnoService("com.sun.star.ui.dialogs.FilePicker") we don’t gt an error message.
We should not get an error message if we use the “GetOpenFilename” method.
Build ID: 29228e83df009cf76ac819ed024527be1092f065
CPU threads: 4; OS: Windows 6.1; UI render: default;
TinderBox: Win-x86@42, Branch:libreoffice-6-0, Time: 2017-12-04_23:15:34
Locale: hu-HU (hu_HU); Calc: group threaded
Created attachment 142931 [details]
The macro in Excel and Calc side by side
The problem is not in FilePicker. the responsibility is on ScVbaApplication. This class currently does not have GetOpenFilename() method.
NEW per comment 2
Documentation about GetOpenFilename() method is available at:
There is also missing implementation of GetSaveAsFilename() Method:
Example of implemented Goto method is available at: