その他ノウハウをみんなで自由に編集し合える!

DataObjectオブジェクトについて その他

ダイレクトに格納/取得する
CopyメソッドやPasteメソッドはセルが対象です。セルを使わずに、変数のデータをクリップボードに格納したり、クリップボードに格納されているデータを直接変数に入れるときにはDataObjectオブジェクトを使います。
DataObjectオブジェクトはMSFormsのメンバです。使用するには、Microsoft Forms 2.0 Object Libraryを参照設定します。または、ブックにUserFormを挿入すると自動的に参照設定されます。
次のサンプルは、変数bufの文字列「tanaka」をクリップボードに格納します。続いて、クリップボードのデータを変数buf2に取得します。
Sub Sample2()
Dim buf As String, buf2 As String, CB As New DataObject
buf = "tanaka"
With CB
.SetText buf ''変数のデータをDataObjectに格納する
.PutInClipboard ''DataObjectのデータをクリップボードに格納する
.GetFromClipboard ''クリップボードからDataObjectにデータを取得する
buf2 = .GetText ''DataObjectのデータを変数に取得する
End With
MsgBox buf2
End Sub
DataObjectオブジェクトは、Windowsの機能であるクリップボード本体ではありません。VBAがクリップボードとやり取りをするために必要となる「橋渡し役」のような存在です。

このノウハウを評価する

評価、コメントするにはサービスに登録してください。

サービス登録をする

コメントを見る

この記事を通報する

ノウハウを書く