Download it now!
Bug 118246 - FILEOPEN XLSX Basic code with “GetOpenFilename” method does not work
Summary: FILEOPEN XLSX Basic code with “GetOpenFilename” method does not work
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
6.2.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro-VBA
  Show dependency treegraph
 
Reported: 2018-06-19 16:18 UTC by Gabor Kelemen
Modified: 2020-08-10 09:39 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Example file from Excel (20.50 KB, application/vnd.ms-excel.sheet.macroEnabled.12)
2018-06-19 16:18 UTC, Gabor Kelemen
Details
The macro in Excel and Calc side by side (353.75 KB, image/png)
2018-06-19 16:22 UTC, Gabor Kelemen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabor Kelemen 2018-06-19 16:18:08 UTC
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:
Sub getFileName()
Dim filename As String
filename = Application.GetOpenFilename()
MsgBox filename
End Sub
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.

Expected results:
We should not get an error message if we use the “GetOpenFilename” method.


Version: 6.0.0.0.beta1+
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
Comment 1 Gabor Kelemen 2018-06-19 16:22:39 UTC
Created attachment 142931 [details]
The macro in Excel and Calc side by side
Comment 2 himajin100000 2018-06-19 17:01:43 UTC
The problem is not in FilePicker. the responsibility is on ScVbaApplication. This class currently does not have GetOpenFilename() method.

https://opengrok.libreoffice.org/more/core/sc/source/ui/vba/vbaapplication.cxx?q=ScVbaApplication
Comment 3 Buovjaga 2018-06-24 18:52:54 UTC
NEW per comment 2