C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 24 を表示中)
■10545 / )  Terminal-Server上でのClipBoardの制御
□投稿者/ Falcon (1回)-(2007/11/20(Tue) 15:43:26)

分類:[.NET 全般] 

初投稿です。よろしくお願いします。

稼動環境:Win2kSvr(T/S) 開発環境:WinXP, VB.NET2003, Excel2003

ターミナルサービス上で、DBより取得したデータを変数に格納し、
結果をExcelのセルへ出力するという処理を行っているのですが、
このプログラムを同時に2セッション(A,B)から実行した場合に
片方のクリップボードのデータが消えてしまうという現象が発生しました。


    'クリップボードにデータをコピー(sbDataは格納済み)
1  Clipboard.SetDataObject(sbData.ToString)                     

    'ペースト
    xlsRange = xlsSheet.Range("A3")
    xlsRange.Select()
2  xlsRange.PasteSpecial(Excel.XlPasteType.xlPasteAll)

    'クリップボードのデータをクリア
3  Clipboard.SetDataObject(New DataObject)


セッションAが1を実行しその後2の処理を行う間に、セッションBの3が
呼び出されクリップボードのデータが初期化されているようです。
(うまくトレースできていないため予想になっちゃってます)

それぞれのセッションで発生したデータを同セッション内で
うまく出力させたいのですが、何か良い回避策はありますでしょうか?

データのExcel出力なので、コピー&ペーストが一番レスポンスが良いと
考えているので上記のようなソースになっています。

ご教授宜しくお願いします。

返信 編集キー/


管理者用

- Child Tree -