• ベストアンサー

Excelオートメーションについて

こんにちは。 VC++6.0 Excelオートメーション操作を行っています。 Excel内で、セルのコピー&ペーストをたくさんする プログラムなので、本プログラムの処理中に、 他でクリップボードを更新する操作(文字列のコピー&ペーストなど)を行うと、 Excel内のコピー&ペースト処理がおかしくなってしまいます。 これらはVBAなどにも言えることなのかもしれませんが、 Excelのセルをコピー&ペーストする処理を行っている最中は、他でクリップボードを更新する操作を行ってはいけないものなのでしょうか。 アプリ側で何かしら回避策はあるのでしょうか。 (Excel内でコピー&ペーストを使わず、全て直入力する、、ということは抜きにして…) 宜しくお願いします。 Windows XP Pro SP2

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

クリップボードはシステム全体で使用する共有資源で、かつ排他的に利用する方法がありませんので、残念ながらクリップボードを使う限り対処方法はありません。 Excel以外のプログラムとクリップボードを利用してデータを交換しなければならないプログラムなのですか? もしそうではなくて、Excel内だけで処理が完了するプログラムなのであれば、クリップボードを使わずに同じことができるはずで。諦めてコピー&ペーストを止めましょう。

kerberos_001
質問者

お礼

ご回答ありがとうございます。 >Excel以外のプログラムとクリップボードを利用して >データを交換しなければならないプログラムなのですか? いいえ、Excel単体で動作可能なプログラムです。 なるほど~よくわかりました。 どうもありがとうございました。

その他の回答 (1)

  • rakio
  • ベストアンサー率18% (3/16)
回答No.2

自分も昔はよく使っていましたがさすがに最近では クリップボードを経由するようなプログラムは書きません。 理由はご存知の通り、プログラム処理中にクリップボードが使えないからです。 よく、やる方法だとC側でCSVファイルなどに出力して EXCELマクロでそのCSVファイルを読み込ませる方法ですが。。。 参考になるかな?

kerberos_001
質問者

お礼

ご回答ありがとうございます。 まだまだWindowsプログラミングについて 未熟なため、とても勉強になります。 ありがとうございました。

関連するQ&A