人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Office2003におけるクリップボードについて。
例えば、ExcelのVBAマクロでテキストのコピー&ペーストを実行中に、他のアプリ-Word等-で、コピー&ペーストを行うとクリップボードの内容が壊れたり、意図しないものが貼り付けられたりすると思います。
このような現象を回避できる方法はございますか?
対象とするOSは、WindowsXP SP2です。
よろしくお願いします。

●質問者: mamekko
●カテゴリ:コンピュータ
✍キーワード:Excel OS VBA WindowsXP Word
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● HALSPECIAL
●60ポイント ベストアンサー

例えばですが、

次のサンプルは10秒間の間、クリップボードを開いて他のアプリケーションからクリップボードの内容が変更できないようにしています。


Option Explicit

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Sub Test()
 Dim i As Integer
 Debug.Print "start:" & Now
 If OpenClipboard(ByVal 0&) Then
 For i = 1 To 50
 Sleep (200)
 DoEvents
 Next i
 CloseClipboard
 End If
 Debug.Print "end"
End Sub

その他の方法

未確認ですが、クリップボードの内容を変数やファイルに退避しておき、のちに書き戻すという方法も考えられます。(テキストとかビットマップとか、その程度だったら楽かと)

◎質問者からの返答

ご回答ありがとうございます

その手でいこうかと思います

ワークシートとかも変数待避できればいいんですけどね…

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ