6

Excel VSTO の機能を確認するためのテストとして、小さなアプリケーションを作成しました。しかし、私は問題に遭遇しました。

Excel を起動すると、クリップボードがクリアされます。Google を介して、アドイン (具体的には COM アドイン) の問題であり、正しく初期化されていないとクリップボードが自動的にクリアされることを突き止めました。残念ながら、クリップボードを VSTO に保存する方法がわかりません。Google はあまり役に立ちません。明らかにクリップボードをクリアする関数は呼び出しません。ThisAddin 関数の唯一のものは、いくつかのプロパティから読み取り、いくつかのフラグを設定する if/else ブロックです。

クリップボード上のデータを何らかのオブジェクトにコピーしてから、これを置き換えるというアイデアを熟考しましたが、それは非常にハッキリしているようで、おそらく機能しません。

Excelの起動時にVSTOがクリップボードをクリアする方法/理由と、それを修正する方法について誰かが光を当てることができますか?

編集:

もう少し深くトレースした後、それが自分の個人テスト アドインであることに間違いがありました。Team Add-In または Adob​​e Contribute のいずれかであることがわかりました。これらのことに関する Adob​​e の実績を考えると、それはおそらく貢献アドインだったと思います。返信ありがとうございます。これは、VSTOの練習のためにExcelの非バニラインストールを使用する方法を教えてくれます。

VSTO Excel アドイン (またはオフィス スイートの任意のアドイン) が開始時にクリップボードをクリアする理由について、より多くの人が貢献できるように、このトピックを開いたままにしておきます。

4

3 に答える 3

1

クリップボードを破棄して削除しているアドインを特定することをお勧めします。

それがオプションでない場合は、クリスのリンクの回答のいくつかをチェックアウトしてください。以前に Win32 API を使用してこれを行いました。リストされた回答に欠けているのは、OpenClipboard( http://msdn.microsoft.com/en-us/library/windows/desktop/ms649048%28v=vs.85%29.aspx ) と CloseClipboard への呼び出しだと思います。

于 2012-08-09T13:52:49.350 に答える
0

COM アドイン Adob​​e PDF Maker、Bluetooth モジュールは、Excel の起動時にクリップボードをクリアします。この動作を停止するには、無効にします。

于 2015-02-26T14:53:07.107 に答える
0

複雑なデータ型が存在する場合、クリップボードをバックアップ/復元しようとするのは愚かなことです。また、不要なクリップボード イベントが生成されます。ここで私の以前の回答を参照してください: https://stackoverflow.com/a/2579846/289135

于 2012-08-09T13:20:56.703 に答える