개발노트/VBA
[VBA] 클립보드 값 가져오기/넣기
lovvepearl
2024. 3. 29. 11:01
Function ExtractData()
On Error GoTo RESULT
Application.ScreenUpdating = False '업데이트 방지'
Application.DisplayAlerts = False '팝업 무시'
Dim ClipboardGet As Object
Dim str As String
Set ClipboardGet = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
ClipboardGet.GetFromClipboard
str = ClipboardGet.GetText '클립보드 값 str 변수에 할당하여 가져오기'
Dim lastRow As Integer
Dim ClipboardPut As Object
Dim Data As String
lastRow = Cells(Rows.count, 2).End(xlUp).Row
Data = ""
For i = 2 To lastRow
grade = Range("F" & i).Value '등급'
Name = Range("B" & i).Value '이름'
'데이터 개행문자(Chr(10)) 구분'
'등급과 이름은 탭(Chr(9)) 구분'
If Data <> "" Then
Data = Data & Chr(10) & grade & Chr(9) & Name
Else
Data = grade & Chr(9) & Name
End If
Next i
Set ClipboardPut = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
ClipboardPut.SetText Data '클립보드에 넣을 값 정하기'
ClipboardPut.PutInClipboard '클립보드에 값 넣기'
ActiveWorkbook.Save '파일저장'
'업데이트 및 팝업 활성화'
Application.ScreenUpdating = True
Application.DisplayAlerts = True
RESULT:
If Err.Number <> 0 Then
ExtractData = "실패" & Err.Number
Else
ExtractData = "성공"
End If
End Function