0

Copy()スライド、プレゼンテーション、およびアプリケーション間で図形をコピーするためにおよびPaste()メソッドを使用することを提案する多くの回答をあちこちで見てきました。

これらのメソッドは正常に機能しますが、ユーザーの同意なしにクリップボードと対話するため、副作用があります。プログラムが一連のコピー アンド ペースト操作をバックグラウンドで実行している場合、ユーザーはクリップボードを操作できません。

クリップボードをバックアップおよび復元する可能性を探していましたが、それは間違った方法のようです (これらの回答を参照 してください)。コピーにクリップボードを使用しないもう 1 つの理由は、呼び出しの直前にユーザーが何かをクリップボードにコピーすると、間違った結果になってしまうことです。 Paste()

まともな方法はありますか?

4

1 に答える 1

1

図形に対して .Export メソッドを使用して、たとえば EMF としてエクスポートし、それを画像としてターゲット スライドに挿入することが考えられます。ただし、形状をコピーして貼り付けた場合と同じ結果にはなりません。

ユーザーがプログラムによるコピー/貼り付けの間に何かをコピーすることについて、それほど心配する必要はありません。PPT でそれが許可されていたとしても (許可されるかどうかはわかりませんが)、コピー/貼り付け操作はほぼ瞬時に行われます。

それでも、ユーザーがクリップボードに置いた可能性のあるものはすべて削除しないという問題が残ります。Office は、Windows システムのクリップボードとは独立した独自のクリップボードを保持していますが、1 つのコメントを除いて、プログラムでそれを制御する方法については何も見つかりませんでした。そして、私が信頼する情報源からのその 1 つのコメントは、少なくとも 2000 以降のバージョンの Office ではできないと述べています。

于 2013-03-16T17:35:41.053 に答える