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

将Access查询导出到受密码保护的Excel工作簿,excel,ms-access,vba,export-to-excel,password-protection,Excel,Ms Access,Vba,Export To Excel,Password Protection,我试图将Access数据库中的2个查询导出到Excel工作簿中的2个选项卡。我希望工作簿有密码保护。我很难在VBA中设置密码保护。以下是迄今为止我的VBA: Public Function ExportToExcel() Call DoCmd.TransferSpreadsheet(TransferType:=acExport, _ TableName:="q1_Get_Load_Data", _

我试图将Access数据库中的2个查询导出到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

有没有办法添加代码来保护工作簿的密码?

这是我用来保护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
端接头 子解除保护() 暗计数 昏暗的我 myCount=Application.Sheets.Count 第(1)页。选择 对于i=1的myCount ActiveSheet.Unprotect“the_password” 如果i=myCount那么 终点 如果结束 ActiveSheet.Next.Select 接下来我 端接头

因此,对于要访问的单元格(即未受保护的单元格),请选择该单元格(或多个单元格),然后转到“设置单元格格式”并取消勾选“锁定”复选框(在备用表上测试!),请参见:


不保护一张工作表-将其放在位置1,并在位置2开始循环…

此处搜索:嗯,我仍然无法使用该线程中提供的示例。vba代码保护工作表是否有效?这可能有效我不确定这是否适用于我的目的-我只想要一个Excel工作簿(2个工作表)在原始VBA中进行密码保护。在运行将查询导出到Excel的代码后运行ProtectAll子项时,工作表没有密码保护。