【问题标题】:Opening Workbook from Outlook without read-only mode在没有只读模式的情况下从 Outlook 打开工作簿
【发布时间】:2018-05-08 14:01:06
【问题描述】:

我正在尝试打开一个 Excel 工作簿并从 Outlook 运行一个宏。不幸的是,每次我打开工作簿时,它似乎都默认为只读模式,这意味着我无法运行我想要的宏。

这是我的代码:

Sub runPat(client As String)

'Runs a PAT using tool with client as input

Dim xlApp As Excel.Application
Set xlApp = New Excel.Application

Dim sourceWB As Workbook
Dim usr As Worksheet
Dim strFile As String

Set xlApp = CreateObject("Excel.Application")

With xlApp
    .Visible = True
    .EnableEvents = False
End With

'Source file, will need to be changed if PAT is ever moved
strFile = "C:\Users\albio\Dropbox\Document Creation Program\Portfolio Analysis Tool\Portfolio Analysis tool v1.0.xlsm"  'PAT File path

'Open workbook
Set sourceWB = Workbooks.Open(strFile, , False)

'Run this PAT
sourceWB.Application.Run "buttons.launchButton"

End Sub

我尝试了各种解决方案,例如在打开文件路径之前设置 IgnoreReadOnlyRecommended=True 并使用 setAttr 为 vbNormal。由于某种原因,它总是以只读模式打开,我不明白为什么?

[编辑] 工作簿通常在没有打开只读模式的情况下打开。只有在我的 Outlook VbaProject 中打开工作簿时才启用只读。

【问题讨论】:

  • @Fleury26 恐怕我的似乎也无法使用该方法,仍然以只读方式打开
  • 问题似乎出在带有宏的 Excel (xlsm) 上。问题可能出在 excel 的信任问题上(从不安全的地方保护)!您可以通过转到信任中心 > 信任中心设置来更改它

标签: excel vba outlook readonly


【解决方案1】:

如果您直接从 excel 打开工作簿并且它以只读模式打开,这是因为它不是受信任的文档。通常,如果您单击启用宏,它将在下次以后将其添加为受信任的文档。如果这没有发生,那可能是因为受信任的文档已被禁用。

您可以通过导航到 excel 中的以下位置来启用受信任的文档

文件 > 选项 > 信任中心 > 信任中心设置 > 受信任 文件

在这里您需要取消选中“禁用受信任的文档”,甚至可能选中“允许网络上的文档受信任”


如果您尝试通过 VBA 代码打开 excel 文件,则需要在打开工作簿之前更改自动化安全性。例如

application.AutomationSecurity = msoAutomationSecurityLow
Workbooks.Open abc.xlsm
Application.AutomationSecurity = msoAutomationSecurityByUI 'Changes it back to the default value

【讨论】:

  • 感谢您的尝试。不幸的是,受信任的文档已经启用,因此无法更改那里的任何设置。我也尝试了 application.AutomationSecurity 方法,它仍然以只读模式打开。
  • 你确定吗?我认为您可能犯了一个错误,因为如果未禁用受信任的文档(我认为这没有什么不同),则此代码应该可以工作。我现在也在我的系统上检查了它。
  • 我很确定是的:xlApp.AutomationSecurity = msoAutomationSecurityLow Set sourceWB = xlApp.Workbooks.Open(strFile, , , , , , True) xlApp.AutomationSecurity = msoAutomationSecurityByUI
  • 将其更改为 xlApp.Workbooks.Open(strFile, , , , , , False) 。看看有没有提示。另外它是一个 xlsm 文件,对吗?
  • 这是一个xlsm文件是的。我试过了,它仍然以只读方式打开...没有提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
相关资源
最近更新 更多