본문 바로가기
Tip

[Tip] 모듈가져오기(22.06.27 수정본)

by 일등미노왕국 2022. 6. 22.

다잡님이 운영중인 윤자동 채널에서 선보이는 코드중에는 Fn 모듈에 function을 담아서 공개하고 있다.

오늘 본인이 선보일 코드는 그런 Function모듈을 티스토리에 올린 후 새로운 파일을 생성시키면서

티스토리에 올려놓은 모듈을 가져오는 코드이다.

더보기
Option Explicit
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" _
    Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
    ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Sub 모듈가져오기()

    Dim i&                                                         '= 모듈 순환 변수
    Dim vFiles, strFileName$, Filename$
   '= 티스토리링크를 담을 변수 Vfiles / 임시파일명 StrFilename / 모듈이름을 담을변수 Filename
   
    Dim WkBook As Workbook: Set WkBook = Workbooks.Add              '= WKBook 선언
    
    strFileName = ThisWorkbook.Path & "\" & "통합문서(임시).xlsx"   '= 임시파일 선언
    
    Application.DisplayAlerts = False                               '= 경고 표시 해제(중복일경우)
    
        WkBook.SaveAs Filename:=strFileName  '= 임시 파일이 없다면 생성해라
        
    Application.DisplayAlerts = True                                '= 경고 표시 설정
    
    
    
    vFiles = Array("https://blog.kakaocdn.net/dn/cI5ZTn/btrFt8xrmgj/7B4UfzKtFBAk2W8UsF60N0/Ref.bas?attach=1&knm=tfile.bas", _
                   "https://blog.kakaocdn.net/dn/btVn0R/btrFuDDKyih/82aMj5VaDTi0tK8mObHKKK/Fn.bas?attach=1&knm=tfile.bas", _
                   "https://blog.kakaocdn.net/dn/bXvwDC/btrFpQLOkRd/uxzrujkdKKAGW8ufiipUp0/JsonConverter.bas?attach=1&knm=tfile.bas")
    '= haja 티스토리 모듈링크
    
        
        
        If Not IsEmpty(vFiles(i)) Then                              '= 모듈링크가 비어있지 않다면
            For i = LBound(vFiles) To UBound(vFiles)                '= 각 모듈을 순환해라
            
                Filename = Split(Split(vFiles(i), "?")(0), "/")(7)  '= 링크에서 파일이름 추출

                URLDownloadToFile 0, vFiles(i), ThisWorkbook.Path & "\" & Filename, 0, 0 '= 링크에 있는 파일을 다운로드하고
                
                WkBook.VBProject.VBComponents.Import ThisWorkbook.Path & "\" & Filename  '= 그것을 임시파일에 Import해라
                
                Kill ThisWorkbook.Path & "\" & Filename             '= 다운된 파일을 삭제해라
            Next i
        End If
End Sub

모듈가져오기(최종).xlsm
0.03MB

 

 

Ref.bas
0.00MB
Fn.bas
0.00MB
JsonConverter.bas
0.04MB

 

댓글