プロが教えるわが家の防犯対策術!

EXCEL/VBAで、変数Xの値をクリップボードにコピーする方法を教えて貰えませんか。下記のように変数Xを一度セルに代入すると出来ますが、変数Xを直接クリップボードにコピーする方法が分かりません。
宜しく、お願いします。

Range("a1") = X
Range("a1").Copy

A 回答 (2件)

1.DataObjectを使用する方法



2.APIを使用する方法
が考えられます。

1.は「VBA DataObject」
2.は「VBA API CLIPBOARD」
などで検索してみてください。サンプルが見つかると思います。
    • good
    • 0
この回答へのお礼

検索しました。
1.DataObjectを使用する方法は、うまく動作しました。
2.APIを使用する方法は、「オブジェクトが必要です」のエラーが出てうまく動作しませんでした。APIの宣言がまずいのかも知れません。
EXCEL VBAの場合は、「DataObjectを使用する方法」の方が色々と良いサンプルが載っていました。
回答有難うございました。

お礼日時:2010/02/07 00:34

'VBEの「ツール」、「参照設定」で「Microsoft Forms 2.0 Object Library」にチェックを入れてから使用してください。


'(そうしないとエラーになります)

Sub test01()
  Dim myData As DataObject
  Dim myCb As Variant
  Dim x
  x = "TESTデータです。"
  Set myData = New DataObject
  myData.SetText x
  myCb = myData.GetText
  myData.PutInClipboard
End Sub
    • good
    • 1
この回答へのお礼

うまく動作しました。
親切にコードを記載して頂きまして、有難うございます。
DataObjectを使用する方法が理解出来ました。
回答有難うございました。

お礼日時:2010/02/07 00:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A