[vba] 엑셀에서 클립보드(Clipboard) 사용하기

하나를하더라도최선을 2019-10-29 01:01:02 33,050 0 0

아래처럼 "Microsoft Forms 2.0 Object Library"를 추가해줍니다.



'// 클립보드에 텍스트 쓰기
Public Function SetClipboard(ByRef sText As StringAs Boolean ' ### 리턴값: 성공 여부
    On Error GoTo nErr
    Static obj As DataObject
'    Microsoft Forms 2.0 Object Library
    If obj Is Nothing Then Set obj = New DataObject
    obj.SetText sText
    obj.PutInClipboard
    SetClipboard = True
nErr:
End Function
'// 클립보드의 텍스트 읽기
Public Function GetClipboard$()
    On Error GoTo nErr
    Static obj As DataObject
'    Microsoft Forms 2.0 Object Library
    If obj Is Nothing Then Set obj = New DataObject
    obj.GetFromClipboard
    GetCB = obj.GetText
nErr:
End Function

아래는 "Microsoft Forms 2.0 Object Library"를 추가하지 않고 바로 쓸수 있는 방법입니다. 

'// 클립보드에 텍스트 쓰기
Public Function SetClipboard(ByRef sText As StringAs Boolean ' ### 리턴값: 성공 여부
    On Error GoTo nErr
    Dim Clipboard As Object
'    Microsoft Forms 2.0 Object Library
    Set Clipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Clipboard.SetText sText
    Clipboard.PutInClipboard
    SetClipboard = True
nErr:
End Function
C'// 클립보드의 텍스트 읽기
Public Function GetClipboard$()
    On Error GoTo nErr
    Dim Clipboard As Object
'    Microsoft Forms 2.0 Object Library
    Set Clipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Clipboard.GetFromClipboard
    GetClipboard = Clipboard.GetText
nErr:
End Function



사용법은 설명안해도 다 아시지요?

그래도 예제하나 놓고 갑니다.

클립보드에 텍스트 넣는 방법:)
SetClipboard "Microsoft Excel 2007을 사용중입니다."

클립보드의 텍스트 읽어오는 방법:)
Debug.? GetClipboard

댓글 0개

첫 번째 댓글을 작성해보세요!