오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

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
5 (3개 평가)
곰몽
곰몽 2022.07.05 18:33
원래 파일의 주소를 알 수 있는 방법은 없는거에요??
오빠두엑셀
오빠두엑셀 작성자 2022.07.05 21:48
안녕하세요.
ThisWorkBook.Path
를 사용해보세요.
곰몽
곰몽 2022.07.06 08:15
ㅠㅠ 원래의 Base64 파일의 주소를 묻는 거였습니다.
실재하지 않고 코딩된 채로 있는 것인지??
오빠두엑셀
오빠두엑셀 작성자 2022.07.06 14:40
그건 상황에 따라 다릅니다.
Base64는 언어체계의 한 종류입니다.
만약 Base64 언어를 특정 파일에서 불러온다면
이미 파일 경로를 알고 있는 상황이 아닐까 생각됩니다.
강민준🤗
강민준🤗 2024.08.11 08:23
좋은 강의 감사합니다🙇‍♂️