簡體   English   中英

在沒有只讀模式的情況下從Outlook打開工作簿

[英]Opening Workbook from Outlook without read-only mode

我正在嘗試打開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中打開工作簿時,才啟用只讀。

如果您直接從excel打開工作簿,並且它以只讀模式打開,則會發生,因為它不是受信任的文檔。 通常,如果單擊啟用宏,則下次將其添加為受信任的文檔。 如果沒有發生,那可能是因為信任的文檔已被禁用。

您可以通過導航到excel中的以下位置來啟用受信任的文檔

文件>選項>信任中心>信任中心設置>可信文檔

在這里,您需要取消選中“禁用受信任的文檔”,甚至可能選中“允許網絡上的文檔成為受信任的文檔”


如果您試圖通過VBA代碼打開excel文件,則需要在打開工作簿之前更改自動化安全性。 例如

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM