- ベストアンサー
EXCEL/VBA 変数の値をクリップボードにコピーする方法
EXCEL/VBAで、変数Xの値をクリップボードにコピーする方法を教えて貰えませんか。下記のように変数Xを一度セルに代入すると出来ますが、変数Xを直接クリップボードにコピーする方法が分かりません。 宜しく、お願いします。 Range("a1") = X Range("a1").Copy
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.DataObjectを使用する方法 と 2.APIを使用する方法 が考えられます。 1.は「VBA DataObject」 2.は「VBA API CLIPBOARD」 などで検索してみてください。サンプルが見つかると思います。
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
回答No.2
'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
質問者
お礼
うまく動作しました。 親切にコードを記載して頂きまして、有難うございます。 DataObjectを使用する方法が理解出来ました。 回答有難うございました。
お礼
検索しました。 1.DataObjectを使用する方法は、うまく動作しました。 2.APIを使用する方法は、「オブジェクトが必要です」のエラーが出てうまく動作しませんでした。APIの宣言がまずいのかも知れません。 EXCEL VBAの場合は、「DataObjectを使用する方法」の方が色々と良いサンプルが載っていました。 回答有難うございました。