Option Explicit
Sub Haja_ListReference()
Dim i&
On Error Resume Next
With ActiveSheet
[a1].CurrentRegion.Clear
.[a1] = "참조이름"
.[b1] = "참조경로"
.[c1] = "GUID"
[a1:c1].HorizontalAlignment = xlCenter
End With
For i = 1 To ThisWorkbook.VBProject.References.Count
With ThisWorkbook.VBProject.References(i)
ActiveSheet.Cells(Rows.Count, "a").End(3)(2) = .Name
ActiveSheet.Cells(Rows.Count, "b").End(3)(2) = .FullPath
ActiveSheet.Cells(Rows.Count, "c").End(3)(2) = .GUID
End With
Next i
Columns.AutoFit
[a1].CurrentRegion.Borders.LineStyle = 1
On Error GoTo 0
End Sub
도구 참조를 수동으로 하는 방식에서 Guid를 추가 하여 자동으로 참조를 추가하는 방법이다.
위 코드를 진행하면 현재 참조되어 있는 참조이름, 경로 ,Guid가 출력된다. 경로의 Dll 방식으로 추가하는 방법도 있지만 Dll이 없는것도 있어서 Guid 방식으로 참조를 추가하는 방법이 더 나은 듯 하다.
VBA Excel stdole Office MSHTML 딕셔너리 정규식 WinHttp ADODB ArrayList |
{000204EF-0000-0000-C000-000000000046} {00020813-0000-0000-C000-000000000046} {00020430-0000-0000-C000-000000000046} {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} {3050F1C5-98B5-11CF-BB82-00AA00BDCE0B} {420B2830-E718-11CF-893D-00A0C9054228} {3F4DACA7-160D-11D2-A8E9-00104B365C9F} {662901FC-6951-4854-9EB2-D9A2570F2B2E} {B691E011-1797-432E-907A-4D8C69339129} {BED7F4EA-1A96-11D2-8F08-00A0C9A6186D} |
많이 쓰는 Guid를 적어놨으니 추가 하기만 하면 된다.
요즘 AdoDb를 공부하고 있으니 이를 참조해 보겠다.
엑사남님 강의 자료를 가지고 왔다.
https://www.youtube.com/watch?v=cttL-5rihc8&t=1103s
Option Explicit
Sub Haja_Guid()
Dim StrGuid$: StrGuid = "{B691E011-1797-432E-907A-4D8C69339129}" '= ADODB참조
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid StrGuid, 0, 0 '= 가장 최신버전
Call Haja_Adodb_Test
End Sub
Sub Haja_Adodb_Test()
Dim Rs As New ADODB.Recordset
Dim strPath As String
Dim strSQL As String
Dim strConn As String
strPath = ThisWorkbook.FullName
'''' 커넥션 스트링 '''
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & strPath & ";" & _
"Extended Properties=Excel 12.0;"
strSQL = " SELECT 성명,평균점수" & _
" FROM [Table_1$] " & _
" WHERE 합격여부='불합격'" & _
" ORDER BY 평균점수 DESC "
Rs.Open strSQL, strConn
If Rs.EOF Then
MsgBox "조건에 맞는 데이터가 없습니다."
Rs.Close
Set Rs = Nothing
Exit Sub
Else
Range("J11").CurrentRegion.Offset(1).Clear
Range("J11").CopyFromRecordset Rs
End If
Rs.Close
Set Rs = Nothing
End Sub
'ADO' 카테고리의 다른 글
[ADO] 구글 주소록 한글 깨짐을 해결하자 (0) | 2023.02.17 |
---|---|
[ADO] 개봉된 영화 중 분기별 매출과 개봉 영화수를 구해보자 (0) | 2022.06.02 |
[ADO] sql : Pivot 함수를 이용하자 (0) | 2022.06.01 |
[ADO] mySql에 연결하여 데이터 가져오기 (0) | 2022.06.01 |
댓글