【问题标题】:Export Access queries to password-protected Excel workbook将 Access 查询导出到受密码保护的 Excel 工作簿
【发布时间】:2020-07-13 17:09:10
【问题描述】:

我正在尝试将 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

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

【问题讨论】:

  • 嗯,我仍然无法让它与该线程中提供的示例一起使用。
  • vba 代码是否有助于保护工作表?
  • 这可行

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


【解决方案1】:

这是我用来保护 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 = Application.Sheets.Count 工作表(1).选择 对于 i = 1 到 myCount ActiveSheet.Unprotect "the_password" 如果 i = myCount 则 结尾 万一 ActiveSheet.Next.Select 接下来我 结束子

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

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

【讨论】:

  • 我不确定这是否适合我的目的 - 我只希望原始 VBA 中的单个 Excel 工作簿(2 个工作表)受到密码保护。当我在运行将查询导出到 Excel 的代码后运行 ProtectAll 子程序时,工作表没有密码保护。
猜你喜欢
  • 1970-01-01
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多