【问题标题】:Workbook Permissions in VBA MacrosVBA 宏中的工作簿权限
【发布时间】:2016-05-17 09:06:58
【问题描述】:

Set irm = ThisWorkbook.Permission 行不起作用。一直报错

对象“_Workbook”的方法“权限”失败。

为什么会这样?

Sub AddUser()
    Dim irm As Office.Permission, usr As Office.UserPermission
    Set irm = ThisWorkbook.Permission
    irm.Add "someone@hotmail.com", MsoPermission.msoPermissionView
    Set usr = irm("someone@hotmail.com")
    usr.ExpirationDate = Date + 1
End Sub

【问题讨论】:

  • 这有什么帮助吗:stackoverflow.com/questions/1928866/… ?
  • @Ralph,它总是卡在同一行,无论我使用 ThisWorkbook、ActiveWorkbook 还是其他任何东西都没有关系。不过感谢您的链接。
  • 您是否对尝试从中读取权限的 Excel 文件施加了任何限制?您的计算机上是否已启动并运行 Windows 权限管理客户端?也许这有帮助:msdn.microsoft.com/en-us/library/office/…
  • @Ralph,我有一个没有限制的 Excel 文件。以防万一,我已经使用 irm.RemoveAll 运行代码,然后为用户一一添加权限。是的,我在计算机上运行了 Windows 权限管理客户端。尽管如此,无论我尝试运行什么基本权限相关代码,它总是在同一行返回相同的错误。
  • 抱歉,我没有想法(除非您的公司计算机有域限制)。

标签: vba excel


【解决方案1】:

您的工作簿似乎没有设置任何权限。最简单的测试方法是转到 File-->Protect Workbook --> Mark as Final (Office 2010),然后运行您的宏,看看您是否仍然遇到相同的错误。

尝试使用 Windows 权限管理设置一些权限,然后重试。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
相关资源
最近更新 更多