4

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.

Community
  • 1
  • 1
  • The previous answer suggests that you must use Visual Studio. I think that answers your question. What have you tried so far? (Show your code). – David Zemens May 09 '14 at 14:29
  • I tried following a tutorial to do this with Visual Studio but can't even get started with it, therefore I'm trying to go back to VBA. –  May 09 '14 at 14:32
  • 1
    You can make a custom ribbon tab with XML - it's quite easy, but doesn't work on the Mac. Would that suit your purpose? Otherwise, you can have a tabbed user form. Maybe a combination of the two will do what you need. – Floris May 09 '14 at 14:32
  • @Floris my idea is to make a list of comments in a spreadsheet, therefore I need a vertical interface and thus the task pane, if I can't make it, I'll try the custom ribbon. –  May 09 '14 at 14:34
  • 1
    The following link may be a good place to start: http://www.rondebruin.nl/win/s2/win001.htm – Floris May 09 '14 at 14:36

2 Answers2

6

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.

Skovly
  • 234
  • 1
  • 8
  • 22
  • Seems to be very easy (and free) to install Visual Studio Community + Office Development tools though: https://www.visualstudio.com/features/office-tools-vs – Skovly Aug 26 '15 at 05:54
0

I'm looking the same question. I "think" the only way to make CTP is through VS. And only way to make in VBA is with userFrom instead of custom task pane.

user2958279
  • 570
  • 1
  • 5
  • 11