我想刷新受保护工作表上的连接。刷新开始,但在保护步骤中被中断,因此我的连接未完成其更新。 我已经搜索了几个小时。
我已经设置了OLEDBConnection.BackgroundQuery = False,
检查Application.CalculationState
或
Application.CommandBars.GetEnabledMso("RefreshStatus")
也不起作用。
Sub ShortV()
Sheet1.Unprotect
ActiveWorkbook.Connections(1).Refresh
Sheet1.Protect
End Sub
答案 0 :(得分:0)
使用参数UserInterFaceOnly:=True
保护您的工作表,因此该保护仅影响用户界面,而不影响任何VBA代码。这意味着VBA可以编辑受保护的工作表,而用户则不能。
然后您可以使用VBA 甚至在受保护的工作表上运行.Refresh
。
.Protect Password:="passw", UserInterFaceOnly:=True
您可能需要在(重新)打开工作簿时对工作表进行保护(例如Workbook_Open()
事件)。参见VBA Excel: Sheet protection: UserInterFaceOnly gone