Excel VBA覚書 クリップボード

クリップボードに文字列を貼り付けるときに、貼り付かないケースがあったので、
別の方法を調べてみた。

String型変数 buf の内容をクリップボードに設定するということで・・・
a) DataObjectを使う方法1

        Dim cb As Object
        Set cb = New DataObject
        cb.SetText buf
        cb.PutInClipboard

b) DataObjectを使う方法2

        With New MSForms.DataObject
            .SetText buf
            .PutInClipboard
        End With

c) TextBoxを使う方法

       With CreateObject("Forms.TextBox.1")
          .MultiLine = True
          .Text = buf
          .SelStart = 0
          .SelLength = .TextLength
          .Copy
        End With
        If cb.CanPaste Then cb.Paste

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください