Found some info to make this work with BOXI R3. You will need to open the excel file, hit Alt+F-11. Then go to tools, References and find the missing checked items. Check the identical item in the list for version 12 and uncheck the 11.5 version as you go. Save the file and it will now work with BOXI R3.
If you receive an error stating that an account could not be found in active directory when running your extract, log into CMC and go to authentication. Select Windows AD. Scroll to the bottom and click Update. This will clear all accounts that do not have an AD accont associated with them so you dont have to delete them manually.
The code works great in excel! I really need to get this code to work in BO(XI/R2 SP5). I have to compare the data with another report and schedule this report.
I need to get
Set Rng = Sheets("Users").Cells
to work in BO. Can someone please tell the replacement in BO; for eg: Thisdocument.reports(0).,if it can be used to replicate the function.
Hi, I really need to create a list of users we have in BOXI and found this download woould be ideal to do the job. I don’t have access to CMS and there is a reluctance to run this application against the CMS. Is there any way this can be done just using the select statement as used by the application?
Sure. Walk through the VBA code and figure out what the query would look like. Plug that query into Query Builder (your BO admin should know how to get to that).
The big downside is that the results are not in a spreadsheet format. They are on an HTML page, with each record being a block of data. It is tedious at best to take that information and transform it into a useful list of users.
If it helps at all, I can personally vouch for the utility and safety of this tool, so long as you are only doing reads from the CMS. I have used several different versions against both R2 and 3.1 repositories.
When running the macro we are getting the error “vba project 429 activex component can’t create object 1000429” i changed the code to Set sessionmanager = CreateObject(“CrystalEnterprise12.SessionMgr.1”)
we are on XI3.1 Sp6 but still getting the same error. Could you please help on this. Is there anything else i need to change in the code?
Hi Joepeters,
Have VBA code in MS Access to extract the list of users from BO 4.1. Code was working fine with Office 2013, but just updated to Office 2016 and now the code is failing.
The error being generated is: 13 - Type mismatch 1000013
Code:
'—Vars for BO Session—
Dim SessionManager As New SessionMgr
Dim esession As EnterpriseSession
Dim iStore As InfoStore
'—Vars for User Info—
Dim BOUsers As InfoObjects
Dim BOUserItem As InfoObject
Dim BOUserObject As User
'Dim BOUserObject As CrystalUserPluginLib.User
'Enterprise Session
Set esession = SessionManager.Logon(Me.tbUserName, Me.tbPassword, Me.cboCMS, Me.cboAuth)
'Infostore instanciation
Set iStore = esession.Service("", "InfoStore")
'--Get User Info
Set BOUsers = iStore.Query("SELECT TOP 1000000 SI_EMAIL_ADDRESS, SI_FORCE_PASSWORD_CHANGE, SI_NAME, SI_ID, SI_USERGROUPS, SI_USERFULLNAME, SI_ALIASES, SI_DESCRIPTION, SI_LASTLOGONTIME, SI_PASSWORDEXPIRE, SI_NAMEDUSER FROM CI_SYSTEMOBJECTS Where SI_KIND='User'")
For Each BOUserItem In BOUsers 'Loop through users
Set BOUserObject = BOUserItem
The code is now failing on the last line above, setting BOUserObject = BOUserIte
It’s likely that there is another reference that includes a “User” class, and that is being used for your UserObject object.
I noticed you had this line commented out:
'Dim BOUserObject As CrystalUserPluginLib.User
That would be the correct way to explicitly reference the correct class. If you had that originally and it didn’t compile, then that would indicate that you don’t have the Crystal Enterprise User Plugin 12 library selected in References.