将Access查询导出到受密码保护的Excel工作簿

时间:2018-07-31 18:47:27

标签: excel access-vba export-to-excel password-protection

我正在尝试将2个查询从Access数据库导出到Excel工作簿中的2个选项卡。我希望该工作簿受密码保护。我很难使其在VBA中受密码保护。到目前为止,这是我的VBA:

 Public Function ExportToExcel()



Call DoCmd.TransferSpreadsheet(TransferType:=acExport, _
                                   TableName:="q1_Get_Load_Data", _
                                   FileName:="C:\Users\...\POPs_Reports.xlsx")
Call DoCmd.TransferSpreadsheet(TransferType:=acExport, _
                                   TableName:="q2_Number_by_Alpha", _
                                   FileName:="C:\Users\...\POPs_Reports.xlsx")


End Function

是否可以添加代码以保护工作簿密码?

1 个答案:

答案 0 :(得分:0)

这是我用来保护6种不同工作簿中40张纸的代码:

Sub protectAll()
Dim myCount
Dim i
myCount = Application.Sheets.Count
Sheets(1).Select
For i = 1 To myCount
    ActiveSheet.Protect "the_password", True, True
    If i = myCount Then
        End
    End If
    ActiveSheet.Next.Select
Next i

结束子 子UnprotectAll()     昏暗的myCount     昏暗的我     myCount = Application.Sheets.Count     床单(1)。选择     对于我= 1到myCount         ActiveSheet.Unprotect“ the_password”         如果我= myCount然后             结束         万一         ActiveSheet.Next.Select     接下来我 结束

因此,对于要访问的单元格,即未受保护的单元格,请选择一个或多个单元格,然后格式化单元格并取消选中“锁定”复选框,(在备用纸上对其进行测试!)请参见:< / p>

enter image description here

为了不保护一张纸-将其放在位置1并在2处开始循环...