Here's my problem: I have both Apache OpenOffice and LibreOffice installed and I use them both. I have quite a few Calc files with Basic macros. Today I found my first difference between the Basic API in LibreOffice vs. Apache OpenOffice:
Dim Dlg As Object, Ctl As Object DialogLibraries.LoadLibrary("Standard") Dlg=CreateUnoDialog(DialogLibraries.Standard.ElDialog) Ctl=Dlg.getControl("DateField") Now, I want to use Ctl.setDate(myDate) and myDate=Ctl.getDate(), and here's the difference: In Apache OpenOffice, myDate is a Long. Today's date, 2014-10-19, is represented as 20141019. I made two functions to convert to and from the format I needed. When running my macro in LibreOffice, the macro was interrupted by an error message, of course. After some debugging I found that the LibreOffice version of Ctl.setDate/Ctl.getDate works with a struct: Type DateType Year As Long Month As Long Day As Long End Type This is of course not a big deal, I can make the macro accept both formats, but the macro need to know if LibreOffice or Apache OpenOffice is running it. How can I do that? I have tried to find the answer myself, both using xray and searching the web, but so far nothing. Kind regards Johnny Rosenberg ジョニー・ローゼンバーグ