vba의 csv에 pasword를 추가하고 압축
Nov 21 2020
csv 파일 및 압축 (.zip) 출력 파일에 암호 로 암호화를 추가 하는 방법은 무엇입니까?
Sub ExportRange()
Dim Filename As String
Dim NumRows As Long, NumCols As Integer
Dim r As Long, c As Integer
Dim Data
Dim ExpRng As Range
Set ExpRng = Application.Intersect(Selection, ActiveSheet.UsedRange)
NumCols = ExpRng.Columns.Count
NumRows = ExpRng.Rows.Count
Filename = Application.DefaultFilePath & "\textfile.csv"
Open Filename For Output As #1
For r = 1 To NumRows
For c = 1 To NumCols
Data = ExpRng.Cells(r, c).Value
If IsNumeric(Data) Then Data = Val(Data)
If IsEmpty(ExpRng.Cells(r, c)) Then Data = ""
If c <> NumCols Then
Write #1, Data;
Else
Write #1, Data
End If
Next c
Next r
Close #1
MsgBox ExpRng.Count & " cells were exported to " & Filename, vbInformation
End Sub
csv 파일 및 ** ziping ** (. zip) 출력 파일에 비밀번호 로 암호화를 추가 하시겠습니까?
답변
FaneDuru Nov 21 2020 at 20:50
표준 WinZip을 사용하여 파일을 압축 할 수도 있습니다. 다음 코드를 시도하십시오. 코드의 경로에 WinZip이 설치되어 있습니다. 레지스트리에서도 추출 할 수 있습니다.
Private Sub testZipPassProtected()
Dim strWinZipDir As String, strDestFileName As String, strSourceFileName As String
Dim strCommand As String, strWinzip As String, strPassword As String
strWinZipDir = "C:\Program Files\WinZip\WINZIP64.exe"
strDestFileName = Application.DefaultFilePath & "\fileCSVStandard.zip"
strSourceFileName = Application.DefaultFilePath & "\textfile.csv"
strPassword = "1234"
strCommand = """" & strWinZipDir & """ -min -a -s""" & strPassword & _
""" -r """ & strDestFileName & """ " & """" & strSourceFileName & """"
Shell strCommand
MsgBox "The file " & vbCrLf & _
"""" & strSourceFileName & """ has been Zipped as " & vbCrLf & _
"""" & strDestFileName & """, using Password: " & strPassword & "."
End Sub