This means that the LibreOffice developers have done a good job of converting Userform object descriptions into LibreOffice objects.
My response to @Villeroy 's post was about context:
Btw, I came across another challenge. I have some picture data stored to a .mdb file as bytes and some other information stored as plain text. I couldn’t get the ms jet engine provider working. I can create a connection object but Basic didn’t accept any of connection strings I’ve tried. Then I downloaded UCanAccess-5.0.1 and added all the .jar files to class path, but with no success. I couldn’t even create the connection object. I got mad and decided work around this by using WScript Shell. The downside is that I have to extract the data from the database to files and then load the files so I can get access to them. I think I’ll take the WMI for help and read output directly from the Shell, it doesn’t matter if the data is visible or not.
Stop coding VBA. Start using the application.
menu:File>New>Database…
Connect to existing db
Type: MS Access
Point to the file
Database registration makes the data available to office documents.
Save the database document.
Now you may use the MRI or XRay extension to analyse the connection from a coder’s view point. However, Base connections do not ask for macro coding in the first place.
In fact, I have already transferred data from the old .mdb file to a .odb file. But I still use that old made with access. I renamed it with .dat extension just to see if ms jet provider accepts that extension. I can’t remember how many controls tag property I’ve stored the db path in, so I won’t destroy it for a while.
Are you sure? What do you read in the status bar of the Base document? Many users think, they transferred data when they actually connected a Base document to some database or a spreadsheet.
Well, I’m not. I understood it when I deleted an other .mdb that I “transferred”
EDIT: Btw I solved that mess with the connstr. I trimmed the folder path from the doc.URL (thisComponent.URL) with InStrReverse & Replace combination but didn’t remove the file:/// part at the beginning, so the ms jet provider couldn’t resolve the path, but confused
@everyone guru:
While making a deeper diving into my old Excel/VBA tuning to study what in earth I had in mind when coding. I found image data in my database stored as a byte array in one of its fields.
Now I ran into a new challenge. Namely, (Star) Basic can’t convert a byte array to string, like in VBA
imgstr = Space(Ubound(bytes))
imgstr = StrConv(bytes, vbUnicode) and so on…
So I have to ask the community gurus whether there’s a service included in UNO which could handle this conversion.
I found the reason for this last one problem of which I wrote. It depends on ASR rules set by the Windows Defender. The “firm” also implemented this policy in Windows 10 with the latest feature update sometime in the summer of 2024. So you couldn’t take advantage of API functions included in the msvbvm60.dll library anymore which were the most useful functions when coding macros with LibreOffice Basic on Windows platform. But this is nothing to worry about in case you have access to the Windows Group Policy Manager, or you can alternatively use a 3rd party app for example like DefenderUI which can be downloaded from the “firm’s” store free of charge.
MultiPageControl is documented in ScriptForge.Dialogs.Dialog Page property and SetPageManager method.
Feel free to use it !
Thanks a lot
You are exceptionally smart! ROFL
Well, you have to start somewhere
Dynamic dialogs support tabs, although the dialog editor does not expose them.
Checking listeners from below example may help:
Thx for this, even though I had already decided to forget everything related to Phyton for good
@Pertsa
Apologies for not being preciser. Tabbed dialog are supported using Basic as per “Demo v2.odt” example in
https://forum.openoffice.org/en/forum/viewtopic.php?t=76818&hilit=tabpagecontainer
You’ll have to build dynamic dialogs in place of static ones.
Thx for this