セルの内容をクリップボードにコピーしようとしています。どのようにして、セルの内容をクリップボードにコピーしますか
Excel 2007のヘルプファイルで提供されている正確な例を読み、試しました。しかし何らかの理由でDataObjectオブジェクトが無効です。したがって、例:
Dim MyData As DataObject
Private Sub CommandButton1_Click()
Set MyData = New DataObject
MyData.SetText TextBox1.Text
MyData.PutInClipboard
TextBox2.Paste
End Sub
Private Sub UserForm_Initialize()
TextBox1.Text = "Move this data to a " _
& "DataObject, to the Clipboard, then to " _
& "TextBox2!"
End Sub
私のケースでは機能しません。私は今のところ良いものを探してきましたが、なぜDataObjectオブジェクトが利用できないのかの答えを見つけることができません。コンパイルの
Dim MyData As DataObject
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column = 3 Then
Set MyData = New DataObject
MyData.SetText ActiveCell.Offset(-1, -1).Text
MyData.PutInclipboard
End If
End Sub
エラーは次のとおりです:「ユーザー定義型は定義されていません」と、それは「MyDataというのDataObjectとして、」ラインを強調し
は、ここに私のコードです。
セル内のテキストを単にクリップボードにコピーする別の方法がありますか?
うんをその参照を必要としています。私はWin7のベータ版を実行していると明らかにFM20.dllがインストールされていません。私はXPマシンに切り替え、参照を追加して、今は期待どおりに動作します。ありがとうcurtisk –
これはExcel 2007/Windows 7で私にとってはうまくいきません。ユーザフォームを追加してもそのライブラリは追加されません。参照にはリストされていませんし、FM20.DLLも私のシステムには表示されませんそれを手動で追加することはできません。 – Gruff
@Gruff FM20.dllのためのc:\ windows \ system32を見てください。それは、Office 2007がインストールされた私の64ビットWin7(SP3) – curtisk