Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Preserving clipboard on VSTO load

I've written a small application as a test to see what Excel VSTOs are capable of. However, I've run into a problem.

When I start Excel my clipboard is cleared. I've traced this down via Google to be a problem with Add-Ins (specifically COM add-ins) that when not initialized correctly will clear the clipboard automatically. Unfortunately for me I don't know how to preserve the clipboard in a VSTO and Google isn't much help. I don't call any functions that would obviously clear the clipboard. The only thing in the ThisAddin function is an if/else block that reads from some properties and sets some flags.

I've mulled over the idea of copying data on the clipboard to some object and then just replacing this but that seems very hacky and probably won't work.

Can anyone shed some light on how/why my VSTO clears the clipboard when Excel starts and how I can remedy it?

EDIT:

After tracing a little bit deeperI was wrong about it being my person test add-in. I figured out that it was either the Team Add-In or Adobe Contribute. Given Adobe's track record with these things I would go ahead and say it was probably the contribute add-in. Thanks everyone for your replies. This will teach me for using a non-vanilla installation of Excel for VSTO practice.

I will leave this topic open so that more people can contribute to possible reasons why a VSTO Excel Add-In (or any Add-In for the office suite) would clear the clipboard on start.

like image 300
Thenin Avatar asked Aug 09 '12 07:08

Thenin


1 Answers

It would be best to identify the addin that's trashing the clipboard and removing it.

If that's not an option checkout some of the answers in Chris' link. I've done this using the Win32 API before. I think what's lacking in the listed answers is calls to OpenClipboard( http://msdn.microsoft.com/en-us/library/windows/desktop/ms649048%28v=vs.85%29.aspx) and CloseClipboard.

like image 129
C.M. Avatar answered Nov 01 '22 14:11

C.M.