Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create Excel 2007 or 2010 custom task pane using VBA

Tags:

excel

vba

Is it possible to build a Custom Task Pane for Excel 2007 or 2010 without Visual Studio, that is, using only VBA?

I found this other question but it's not working for me.


1 Answers

I think, as of now, the answer to your question is "No".

As far as I can tell, extending any Office application (Excel, PowerPoint, etc.) with a Custom Task Pane / Application Pane requires a COM add-in, that needs to be developed with Visual Studio.

At least for Office 2007, this article (https://msdn.microsoft.com/en-us/library/aa338197%28v=office.12%29.aspx) specifically states that:

(..) custom task panes are deployed as Component Object Model (COM) add-ins (..)

The same article states that VBA does not support creating such custom task panes.

You can create custom task panes in any language that supports COM and that enables you to create dynamic-linked library (DLL) files, for example, Microsoft Visual Basic 6.0, Microsoft Visual Basic .NET, Microsoft Visual C++, Microsoft Visual C++ .NET, and Microsoft Visual C. However, Microsoft Visual Basic for Applications (VBA) does not support creating custom task panes. Custom task panes use other technologies with which you are already familiar, for example, Microsoft ActiveX controls.

This article shows how to create a custom task pane with C# or VB in VS2013: https://msdn.microsoft.com/en-us/library/aa942846.aspx

All in all, this article (https://msdn.microsoft.com/en-us/library/bb398242.aspx) states that you need Microsoft Office Developer Tools for developing office solutions, which is only bundled with

  • Visual Studio Professional
  • Visual Studio Premium
  • Visual Studio Ultimate

If you only have VBA available it seems like your are stuck with the original User Forms for now.

like image 53
Skovly Avatar answered Oct 18 '25 12:10

Skovly



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!