C++ / VBA – How to send a COM object from VBA to a C++ DLL via PInvoke

Today I would like to present a quite uncommon scenario, which involves requesting a COM object from VBA and forwarding it through PInvoke to another C++ DLL. The puzzling part is that if we work with managed COM DLLs, everything runs properly, but if we’re using C++ DLLs, Office will crash with an  Access Violation! Here’s some background info. about the…

0

VSTO – How to build a setup project which targets x64 bit OS, and add custom Registry Launch Condition that checks if a key is found in the native 64bit registry hive.

A developer that needs to learn all about building and deploying a VSTO 2010 installer project, should carefully review this very nice article: http://msdn.microsoft.com/en-us/library/ff937654.aspx (Deploying a Visual Studio 2010 Tools for Office Solution Using Windows Installer). Starting from the 2010 version, Office applications come in two flavors: x32 bit and x64 bit. If you need to take advantage of the x64 bit…

2

VSTO – .Net code throws ‘System.AccessViolationException’ error when automating the ‘Find’ object in Word (KB 292744 BUG: Automation client receives an error message or crashes when the client calls the Find object in Word)

Sometimes users are running versions of Office which are not fully up-to-date. This might be due to the fact that their local IT department has not tested the new patches and did not approve their company wide distribution, or because the machine is not connected tothe Internet and needs to be manually updated .. or some other reason. At the same…

1

VSTO & VBA – Improving Excel’s performance when writing data into Sheets by using memory arrays instead of inefficient code loops

In my previous article (VSTO & VBA – How to troubleshoot Excel memory and performance problems caused by inefficient code loops) I wrote about a few common issues which may be encountered when trying to read data from an Excel workbook using COM automation. But after you finished reading it, maybe you asked yourself: What…

0

VSTO & VBA – How to troubleshoot Excel memory and performance problems caused by inefficient code loops

When working with Excel, a developer sometimes has to search, read or write some cell values and these operations are usually done inside repetitive loop structures. Everything seems to work fast enough for small input files, but once we scale up the design, things can complicate and the end-user experience is severely affected. On the other hand, the developer takes…

5