I wish to confirm that there is no way to make a form transparent under Microsoft Office 2013 with VBA 7.1.
I have tried several code examples without results.
Related
A single machine, Windows 10 & Excel 2013, will no longer correctly display spreadsheets that have Form Control objects. ActiveX objects display correctly.
Form Control combo box
ActiveX combo box
Have removed and reinstalled Office, removed and reinstalled Visual Studio 2010, followed suggestions for FM20.dll and FM20ENU.dll, all to no avail. All updates to Office and Windows 10. Updated video drivers, checked Excel options and settings. No add-ins. No 3rd party Office or Excel tools.
The form can not be changed, easily and since other computers display correctly, don’t want to spend much more time on this. But finding out the root cause would be of great help.
Thank you in advance.
One data provider wants to develop an Excel add-in, these are the requirements:
1) it can be installed on desktop. It adds one menu and buttons in Ribbon, and it also provides some specific functions (to get real-time data, like Bloomberg function).
2) the add-in should work in Excel 2007, 2010, 2013 and 2016.
The question is which technology should be used to create this add-in. Here are some of my thoughts:
1) JavaScript API for Excel does not fit, because it does not work for Excel 2007, 2010.
2) VSTO. Does anyone know if VSTO add-ins work for Excel 2013 and 2016?; Is it possible to build one VSTO add-in that works for all Excel 2007, 2010, 2013 and 2016?
3) C API for Excel. It seems that C API for Excel is used to build XLLs. Does anyone know if C API for Excel can build menu and buttons?
Here are some points :
JavaScript API , they are web based addin, so your add-in won't work without internet but it seems that your solution is for a data provider so I assume your clients will have internet. As you said, it didn't work for pre 2013 versions. see here
VSTO, probably the best option but you need to be aware of a major change related to MDI/SDI between Excel 2013 and previous version. Others small tweaks may appear (image idmso, some events..) but VSTO 2007 should be 2016 compatible. VSTO 2016 doesn't exist, the latest release is 2010 (Version 4.0 Runtime). You should test it regularly during development time to check the compatibility.
It is possible to add a menu (a dropdown list) and a toolbar via the Excel C Api (using xlfAddMenu and xlfAddToolbar) but not ribbon controls that require the COM Interface IRibbonExtensibility. So the only way to add controls to the rubbon is via the COM technology (from wich VSTO is based on). The Excel C API didn't change since the 2007 version so it will be fully compatible for all versions. You can find a working example in the Excel C API 2010 SDK (not in the 2013 SDK -this part has been removed), in the file GENERIC.C , see the xlAutoOpen function. Also please note that it is very difficult to find information about it.
From my point of view, you have two possibilities: 1) implement everything via VSTO or 2) to implement your routines via the Excel C API and to interact with it via a VSTO addin that is just used for ribbon controls. I would suggest you the first solution (VSTO), you'll find more documentation about it.
EDIT :
Just realized your question is also about UDF. There are three ways to add UDFs to Excel : via VBA, via a COM automation and via the Excel C API. The best option for UDF is definitively the EXCEL C API but there exist an open source project that "wrap" this API in C#, see Excel DNA.
EDIT 2 :
As an alternative to VSTO, still in Net, there is the NetOffice project on Codeplex that it is worth trying it, they claim that they support all Excel versions. It won't help you regarding the UDFs part but for the GUI it seems to be a good candidate.
I would like to create a wpf control form that can be shown on clicking a menuitem. but this application should be an addin to excel. can someone help me here?
Not WPF,but Excel 2003 can be used to create dialogs. See the SDK or http://xll.codeplex.com and the dialog.h header file. The file error.cpp has an example of how to use it. Pretty old school, but it works.
I have an Excel 2007 VBA spreadsheet that displays a UserForm. Works fine on Windows XP, but when I run it on windows 7, the form shows in the old Windows XP style rather than the new Windows 7 style.
Is there an easy way to make the VBA userForm show up with the correct OS style?
Check whether you have an excel.exe.manifest file in your office installation folder on your Win 7 system. If this is missing, then this can affect how winforms are displayed via VBA - please take a look here for more information: http://support.microsoft.com/default.aspx?scid=KB%3bEN-US%3b309366
EDIT: The above linked page was removed by Microsoft some time after 2014/06/06. However, it can be viewed at the Internet Archive (in Spanish/en Español)...
https://web.archive.org/web/20140606115708/http://support.microsoft.com/kb/309366
I have to display a column chart in a user form in VBA. Exporting the chart to GIF and importing in a picture box works; but I cannot use it because the chart needs to be modified based on options chosen by the user from the same form. I have been searching and people have commented that default OLE/OCX controls provided by MS may be used. I cannot find an ActiveX which may do the trick. Does somebody know which controls to use and how to use them?
Just use Microsoft Chart, it's the same engine as Microsoft Excel.
Assuming you're using Excel 2003 ... the control is called "Microsoft Office Chart 11.0"
If you have Excel 2007, Microsoft did not ship the chart control. But you can still download Microsoft Office Chart 11.0. It's in a file called OWC11.EXE.
Then, in the VBA editor, when your VBA UserForm is showing, right click on the toolbox and choose "Additional Controls" and then check "Microsoft Office Chart 11.0" from the list that appears.
You might want to try this if you just need 2D graphing:
2D Graph Control
3D Graph Control
As owner of Gigasoft, please include Gigasoft's Charting ActiveXs within your research. The above link goes to a complete Excel 2013 walkthrough. Or see Access 2013 Charting ActiveX Walkthrough for use within Access.
Excel...
Access..