Base64 디코딩 파일 저장 :: Base64ToFile 함수

Base64로 작성된 코드를 디코딩하고 파일로 저장하는 Base64ToFile 명령문 사용법을 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 08. 05. 07:52
URL 복사
메모 남기기 : (5)

Base64 디코딩 파일 저장 :: Base64ToFile 명령문

엑셀 Base64ToFile 명령문 목차 바로가기
요약

엑셀 Base64ToFile 명령문은 Base64로 작성된 코드를 디코딩하고 파일로 저장하는 VBA 명령문입니다.

명령문 구문
Base64ToFile Base64코드, 파일경로
사용된 인수 및 변수 알아보기
인수 설명
Base64코드
[String]
파일로 저장할 Base64 코드입니다.
파일경로
[String]
디코딩 된 파일이 저장될 경로입니다. 폴더경로와 파일명을 포함한 전체 경로를 입력합니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.


상세 설명

엑셀 Base64ToFile 함수는 Base64로 작성된 코드를 디코딩하여 파일로 저장하는 VBA 명령문입니다. 명령문 실행 중 오류가 발생하여 파일로 저장되지 않을 경우, Base64ToFile 함수는 빈칸("")을 반환합니다.

Base64란 "특정 파일(이미지, 문서 등)을 범용으로 사용가능한 ASCII 영역의 문자열로 인코딩한 코드"입니다. Base64에 대한 보다 자세한 설명은 아래 위키백과를 참고하세요.

예를 들어, 아래 하트모양 이모티콘을 Base64로 인코딩하면 아래 문자열이 됩니다.

Base64 디코딩 예제
하트모양 이모티콘을 Base64로 인코딩 할 경우
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=
실전 사용 예제
  1. Base64를 디코딩하여 C:\abc.png로 저장하기
    Dim sBase64 As String
    Dim sPath As String
    sBase64 = "Base64코드"
    sPath = "C:\abc.png"
    Base64ToFile sBase64, sPath
  2. URL에서 받아온 Base64 코드를 C드라이브의 파일로 저장하기
    Dim sBase64 As String
    Dim sPath As String
    sBase64 = GetHttp("URL").Body.InnerHTML  '<- Base64코드를 특정 URL에서 받아옵니다.
    sPath = "C\..."
    Base64ToFile sBase64, sPath

Base64 디코딩 파일 저장, Base64ToFile 명령문 동작원리

Base64ToFile 명령문 전체 코드
Function Base64ToFile(sBase64 As String, sPath As String) As Byte()
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ Base64ToFile 함수
'▶ Base64로 작성된 코드를 디코딩하여 파일로 저장합니다.
'▶ 인수 설명
'_____________sBase64       : Base64 코드입니다.
'_____________sPath         : 디코딩한 파일을 저장할 경로입니다.
'▶ 사용 예제
'Base64ToFile "xxxxx...", "C:\abc.png"
'##############################################################
 
Dim oXML As Object
Dim oNode As Object
 
On Error GoTo EH:
Set oXML = CreateObject("MSXML2.DOMDocument")
 
If InStr(1, sBase64, ";base64,") > 0 Then sBase64 = Split(sBase64, ";base64,")(1)
 
Set oNode = oXML.createElement("b64")
oNode.DataType = "bin.base64"
oNode.Text = sBase64
Base64ToFile = oNode.nodeTypedValue
 
Open sPath For Binary As #1
Put #1, 1, Base64ToFile
Close #1
 
Set oNode = Nothing
Set oXML = Nothing
 
Exit Function
 
EH:
Base64ToFile = ""
Set oNode = Nothing
Set oXML = Nothing
 
End Function
5 3 투표
게시글평점
5 댓글
Inline Feedbacks
모든 댓글 보기
5
0
여러분의 생각을 댓글로 남겨주세요.x