I am developing a VBA add-in for MS Access. I have a CustomUI ribbon that loads fine when I open the add-in as a normal database. However, when I install the add-in using the Add-in manager, the custom ribbon does not appear.
My VBA add-in (.accda) currently consists of the following tables:
USysRegInfo - Set up as described on this page
USysRibbons - Set up as described in this article (Customize the Ribbon - Access)
How do I configure the VBA add-in to show the CustomUI ribbon when the add-in is installed/loaded?
I have been able to find documentation so far only on how to create a VBA "Menu Add-in," and how to customize the ribbon for a normal database. I haven't found any documentation on using the CustomUI ribbon from a VBA add-in in MS Access, so maybe this isn't possible.
You can reload the ribbon using
Application.LoadCustomUI NameOfTheRibbon, RibbonXMLFromUSysRibbonsTable
More here
Related
In order to set up an automation of data refresh task, I would like to use VBA to ask the add-in "Microsoft Dynamics Office Add-in", to refresh and then refresh the power query connections to this file, and then move to the next one.\
I have tried to record a macro but VBA won't detect the button within the add-in pane that I clicked;I have also tried to reference to the add-in, however this add-in wasn't showing up, neither in the project explorer nor the references list.\
Is there a way to create VBA against this add-in? I have read the article at:
https://www.exceltip.com/custom-functions/how-to-use-your-excel-add-in-functions-in-vba.html
about how you set a reference but I could not even spot the add-in at the first step.
If it is not possible to get access to this add-in via VBA, is there any other methods to do for such automation task?\
Thanks!
I have written 2 Macros in PowerPoint and added the Macros to a customized ribbon named 'My Ribbon' to make those macros available at a click of a button. The only problem is the Ribbon disappears when someone else opens the PowerPoint on a different computer. The macros stay with the file but the customized ribbons do not and we have to create another customized ribbon, and place both macros to the ribbon every time we share the file across our drive.(Which is quite annoying)
I want to permanently append the customized ribbon to the PowerPoint so that anyone who opens the PowerPoint will be able to see the personalized ribbon with both Macros already on their version of PowerPoint.
VBA macros are not designed for distributing the code on multiple PCs. If you need to get a solution which can be installed on other PCs you need to develop an add-in. That's exactly they were invented for. Moreover, you can create an installer for the add-in. It will be installed as other applications on your PC. See Walkthrough: Creating Your First Application-Level Add-in for PowerPoint to get started.
If you choose to stay with VBA macros, you will have to edit the open xml document. See Customize the Word Ribbon User Interface for more information. The process is common for almost all Office applications (Outlook does't support that).
You could use such a program like Ribbon Editor to customize the Ribbon for your pptm file only. (No need for an AddIn it you want it deployed only with the file)
Situation:
Users have an existing custom ribbon that is added via a .PPAM (combination of VBA macros and Ribbon customization XML).
We want to add a group to that custom ribbon via our managed COM add-in
For custom ribbons from other managed COM add-ins this is feasible via the xmlns:foo="bar" & idQ that can be extracted from the customUI Link
Complication:
Custom Ribbons from non-managed add-ins seem to have no xmlns namespace, they do not show up in the customUI
Even via PowerPoint/Office the user can not customize those ribbons.
Any idea how we could achieve adding buttons?
We can request changes to the non-managed/VBA add-in.
VBA add-ins don't have their own namespace by default, but can have one. If you create a custom namespace, then multiple VBA add-ins can share the same tab on the ribbon, for example.
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
xmlns:nsMySpace="SomeName">
Then to create a new tab that other add-ins can share:
<tab idQ="nsMySpace:MySpace_Tab" label="MyTabLabel">
In addition to Steve's answer we've discovered that VBA add-ins have a default namespace even when none is specified in their customUI.
You can extract the namespace by adding a control from the ribbon to the Quick Access and then exporting the UI Customizations. The resulting file should show:
<mso:cmd app="PowerPoint" dt="1" />
<mso:customUI xmlns:x1="C:\Users\USERNAME\AppData\Roaming\Microsoft\AddIns\Addin.ppam">
So the default namespace seems to be the complete Path to the add-in.
From a high perspective two add-ins can share a ribbon tab for controls because they are loaded into a single PowerPoint instance. When you develop a macro enabled file with a custom UI - only this file can be opened at the same time. But two add-ins can be run for the file/template. That's why idQ is intended to use by add-ins.
You can read more about the Fluent UI (Ribbon UI) in the following series of articles in MSDN:
Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Customizing the 2007 Office Fluent Ribbon for Developers (Part 2 of 3)
Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)
I have been working on an add-in with some short-cuts for PowerPoint 2010.
I am able to make the add-in "tab" so that I can access my macros from PowerPoint after installing the add-in.
However, I cannot add the macros to my Quick Access Toolbar, or otherwise create shortcuts.
This creates a need to use a very extensive key combination to access the add-in shortcuts, eliminating part of the rationale behind them.
Is there any way to make PowerPoint macros that I can then link to the Quick Access Toolbar?
Is it possible to automatically add a button to Excel Ribbon to run a macro when a user open an Excel file. Problem is I have developed a macro and would like to share it with my group members. Now on my personal computer I could customize the ribbon and assign a given button to my macro but this ribbon customization will only be available for me. So after I send out the workbook to members of my group, they will not see the button that I have assigned for the macro. I could add an ActiveX control but this will be on the sheet itself and not on the ribbon (Excel 2010)
Is there a way to do this, without having each member customize his/her ribbon.
Thanks!
I think that you are talking about VSTO, which is the add-ins framework of MS Office, and normally, you need the VS Studio, not Express, to develop your add-ins application.
And at first, you can go to http://msdn.microsoft.com/en-us/library/bb410115%28v=office.12%29.aspx to read the simple guide about the Ribbon button integration, and about other integration way and method, you can read the MSDN directly.
And of course, as a professional VSTO developer, if need, I can help you too. :)