본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 워드

워드 VBA 코드를 활용한 문서 암호화 자동화

by 포탈메이커 2023. 7. 5.

워드 VBA 코드를 활용한 문서 암호화 자동화

많은 기업이나 개인들은 중요한 문서나 파일들을 보안하기 위해 암호화를 적용하는 경우가 많습니다. 특히 문서를 공유하거나 전송해야 할 때에는 암호화가 필수적입니다. 그러나 수동으로 문서를 암호화하려면 번거로움이 따르고, 실수로 암호를 노출시킬 수도 있습니다. 이에 워드 VBA 코드를 활용하여 문서 암호화를 자동화하는 방법을 알아보겠습니다.

1. VBA에 대하여

VBA(Visual Basic for Applications)는 마이크로소프트 엑셀, 워드, 액세스 등의 Office 프로그램에서 사용하는 프로그래밍 언어입니다. VBA를 활용하면 간단한 프로그램을 만들어 작업을 자동화할 수 있습니다. 워드에서도 VBA를 활용하여 다양한 작업을 자동화할 수 있습니다.

2. 워드 VBA 코드를 활용한 문서 암호화

2.1. 워드 문서 암호화

먼저, 워드 문서를 암호화하는 방법에 대해 알아보겠습니다. VBA를 사용하여 워드 문서를 암호화하려면 아래와 같은 코드를 활용할 수 있습니다.

Sub EncryptDocument()
    ' 워드 문서를 암호화하는 VBA 코드입니다.

    With ActiveDocument
        .Password = InputBox("암호를 입력하세요.")
        .PasswordEncryptionKeyLength = wdKeyLengthPasswordEncryptionKeyLengthEmail
        .WritePasswordEncryptionProvider = "Microsoft RSA SChannel Cryptographic Provider"
        .WritePasswordEncryptionAlgorithm = "RC4"
        .EncryptDocument
    End With
End Sub

위의 코드를 워드 문서에 입력하고 실행하면, 사용자에게 암호를 입력받아 암호화된 문서가 생성됩니다. 암호를 입력하지 않으면 문서를 열 수 없습니다. 이렇게 VBA 코드를 활용하여 워드 문서를 암호화할 수 있습니다.

2.2. 폴더 내의 모든 워드 문서 암호화

다음으로, 특정 폴더 내의 모든 워드 문서를 암호화하는 방법에 대해 알아보겠습니다. 아래의 코드를 활용하여 폴더 내의 모든 워드 문서를 암호화할 수 있습니다.

Sub EncryptAllDocumentsInFolder()
    ' 특정 폴더 내의 모든 워드 문서를 암호화하는 VBA 코드입니다.

    Dim strFileName As String
    Dim strFolderPath As String

    strFolderPath = InputBox("폴더 경로를 입력하세요.")

    If Right(strFolderPath, 1) <> "\" Then
        strFolderPath = strFolderPath & "\"
    End If

    strFileName = Dir(strFolderPath & "*.docx")

    ' 폴더 내의 모든 Word 문서를 순회하며 암호화
    Do While Len(strFileName) > 0
        Documents.Open FileName:=strFolderPath & strFileName
        Call EncryptDocument
        ActiveDocument.Save
        ActiveDocument.Close savechanges:=wdDoNotSaveChanges
        strFileName = Dir
    Loop
End Sub

Sub EncryptDocument()
    With ActiveDocument
        .Password = InputBox("암호를 입력하세요.")
        .PasswordEncryptionKeyLength = wdKeyLengthPasswordEncryptionKeyLengthEmail
        .WritePasswordEncryptionProvider = "Microsoft RSA SChannel Cryptographic Provider"
        .WritePasswordEncryptionAlgorithm = "RC4"
        .EncryptDocument
    End With
End Sub

위의 코드를 워드에 입력하고 실행하면, 사용자에게 폴더 경로를 입력받은 후, 해당 폴더 내의 모든 워드 문서를 암호화합니다.

3. VBA 코드 실행 방법

VBA 코드를 실행하는 방법은 아래와 같습니다.

  1. 워드 또는 다른 Office 프로그램을 실행합니다.
  2. "개발" 탭을 클릭합니다.
  3. "Visual Basic"을 클릭합니다.
  4. "삽입" -> "모듈"을 선택하여 모듈을 추가합니다.
  5. 모듈에 VBA 코드를 입력합니다.
  6. 실행하고자 하는 VBA 코드를 선택한 후, "실행"을 클릭합니다.

4. 마무리

위에서 소개한 워드 VBA 코드를 활용하면, 워드 문서의 암호화 작업을 자동화할 수 있습니다. 이를 통해 보안성을 강화하고, 작업의 효율성을 높일 수 있습니다. VBA에 대해 좀 더 익숙해져서 다양한 작업을 자동화해보세요.