[ Excel-VBA ] クリップボードからコピー(切り取り)したデータを削除する ( CutCopyMode )

Pocket

エクセルやワードなどの内容をコピーしたり、切り取りする機会は多いですが、重要なデータをクリップボードに残したままの状態にしておくと、予期せぬ情報漏えいにつながる可能性があります。

スポンサーリンク

このような事故を防ぐためにも、クリップボードにコピーした情報は削除しておきた方が良い場合がありますので、以下クリップボードの情報を削除するサンプルです。

クリップボードの内容を削除する

エクセルを使用したサンプルになります。詳細はサンプル内のコメントを参照ください。

Private Sub CommandButton1_Click()
 
  ' セルA1を選択する
  Range("A1").Select
 
  ' 選択したセル(A1)をコピーする
  Selection.Copy
 
  ' 切り取る場合は以下
  'Selection.Cut
 
  '現在のコピーモードを出力する
  Select Case Application.CutCopyMode
  Case Is = False
     MsgBox ("コピーモードでも切り取りモードでもない")
  Case Is = XlCutCopyMode.xlCopy
     MsgBox ("コピーモード")
  Case Is = XlCutCopyMode.xlCut
     MsgBox ("切り取りモード")
  End Select
 
  ' セルA2を選択する
  Range("A2").Select

  ' 現在選択しているセル(A2)に、コピー(切り取り)したセル(A1)の内容を貼り付ける
  ActiveSheet.Paste
 
  ' クリップボードにコピーされたセルの内容を削除する
  Application.CutCopyMode = False
 
End Sub

実際には、問題になることはあまり多くはないかもしれませんが、気にかけておくとよいでしょう。特に考えることもなく無条件に何かと神経質な人はいるものです。

多少、愚痴のようなノイズが入りました。失礼しました。 _(._.)_

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *