.protect在完成之前停止连接(1)。刷新

时间:2019-01-18 09:10:26

标签: excel vba

我想刷新受保护工作表上的连接。刷新开始,但在保护步骤中被中断,因此我的连接未完成其更新。 我已经搜索了几个小时。

我已经设置了OLEDBConnection.BackgroundQuery = False, 检查Application.CalculationStateApplication.CommandBars.GetEnabledMso("RefreshStatus")也不起作用。

Sub ShortV()
    Sheet1.Unprotect
    ActiveWorkbook.Connections(1).Refresh
    Sheet1.Protect
End Sub

1 个答案:

答案 0 :(得分:0)

使用参数UserInterFaceOnly:=True保护您的工作表,因此该保护仅影响用户界面,而不影响任何VBA代码。这意味着VBA可以编辑受保护的工作表,而用户则不能。

然后您可以使用VBA 甚至在受保护的工作表上运行.Refresh

.Protect Password:="passw", UserInterFaceOnly:=True

您可能需要在(重新)打开工作簿时对工作表进行保护(例如Workbook_Open()事件)。参见VBA Excel: Sheet protection: UserInterFaceOnly gone