I assume I need 32 bit version. I'm on Win10 64 bit but running Access 32 bit.Yes. Both, 32-bit and 64-bit versions are free. But 64-bit shows a 5 second nag screen.
I assume I need 32 bit version. I'm on Win10 64 bit but running Access 32 bit.Yes. Both, 32-bit and 64-bit versions are free. But 64-bit shows a 5 second nag screen.
Yes, but only for 32 bit.
So 'practically' 64-bit it is free too...This is a commercial project, though the 32-bit Windows version of the project will be available completely free of charge. Developers that need to build 64-bit binaries will either need to purchase a licence or endure a 5-second twinBASIC splash screen when their applications start.
The call is the same, it just takes place in a different place.Except, I need a COM add-in to actually load the Access add-in, not just provide a ribbon.
Couldn't the COM add-in be unloaded completely once the Access add-in is loaded?The call is the same, it just takes place in a different place.
It could be somewhat difficult that the call should only be made when the accdb file is loaded, as the COM add-in is already loaded with Access.
=> presumably, as long as no Access.Application object is available, you must frequently check in the COM add-in when an accdb has been loaded.
Should be possible.Couldn't the COM add-in be unloaded completely once the Access add-in is loaded?
Private Sub TestUnLoadComAddIn()
Dim ca As COMAddIn
For Each ca In Application.COMAddIns
If ca.ProgId = "AClibAddInStarter.AddIn" Then
ca.Connect = False
End If
Debug.Print ca.Connect, ca.Description, ca.ProgId, ca.guid
Next
End Sub
Should be possible.
Short test:
Works.Code:Private Sub TestUnLoadComAddIn() Dim ca As COMAddIn For Each ca In Application.COMAddIns If ca.ProgId = "AClibAddInStarter.AddIn" Then ca.Connect = False End If Debug.Print ca.Connect, ca.Description, ca.ProgId, ca.guid Next End Sub
![]()
I don't know that I need to unload it, and I certainly wouldn't want to unregister it once it's working. I'd just be using it as a launcher for the Access add-in. Any time an Access file is opened, it would load the Access add-in and then be no longer needed until I open an Access file again.Should be possible.
Short test:
WorksCode:Private Sub TestUnLoadComAddIn() Dim ca As COMAddIn For Each ca In Application.COMAddIns If ca.ProgId = "AClibAddInStarter.AddIn" Then ca.Connect = False End If Debug.Print ca.Connect, ca.Description, ca.ProgId, ca.guid Next End Sub
/edit:
.. Is unloaded, but no longer load automatically. => You will then probably have to regulate the next start via the registry.
But: why should the add-in be unloaded, should it no longer call up the Access add-in when you change the accdb file in the Access application?
twinBasic example see #16.Do you have a project file you could provide?
Remember: you can also load a new file without closing Access. If the add-in is to react again, it must be running in my opinion.Any time an Access file is opened, it would load the Access add-in and then be no longer needed until I open an Access file again.
Since I only need the COM add-in to load my Access add-in, I'm wondering what the effect will be if I then unload the COM add-in? I guess I'll find out once I put something together. ThankstwinBasic example see #16.
C# example for Extensibility.IDTExtensibility2: https://source.access-codelib.net/filedetails.php?repname=AccUnit&path=/tags/AccUnit_with_SimplyVBUnit/src/AccUnit.AddIn/connect.cs
Remember: you can also load a new file without closing Access. If the add-in is to react again, it must be running in my opinion.
This has no effect on the Access add-in.... what the effect will be if I then unload the COM add-in?
It's for dev and testing purposes but could be useful for end users also.Interesting question: what kind of access add-in is this that is supposed to execute something when opening each accdb/accde?
If it is supposed to run on every accdb, I would expect an add-in for developers, as I would rather build something like this into the application for end users.
Same issue I had: an office add-in isn't active and loaded until you manually load it (by clicking it in the add-in tab). I wish there were a way to load it automatically but it seems like that would require a COM wrapper.I'm basically going crazy here. I've wrote short Python scripts at work to open spreadsheets and launch specific macros in those spreadsheets. Everything works, except that we use custom Excel add-ins that we wrote (custom functions). When I open the workbook manually, the add-in activates automatically and the file refreshes correctly. However, opening from Python seems to deactivate all the add-ins and therefore the file doesn't refresh correctly (my custom functions give errors).
Are you using openpyxl, xlwings, pywin32 -Other?I've wrote short Python scripts at work to open spreadsheets