轻松更新excel工作簿的传入外部链接的策略


4

假设您有2个工作簿名称“PrivateWorkbook”和“PublicWorkbook”

PublicWorkbook可供我们公司的每个人使用。

PrivateWorkbook只能由经理访问。

PublicWorkbook和PrivateWorkBook之间有外部链接。

更新PrivateWorkbook时,PublicWorkbook中的单元格应该反映这些更改。

但是,PublicWorkbook链接刷新的唯一方法是管理员在编辑PrivateWorkbook后打开Publicworkbook。

如果非经理首先打开PublicWorkbook,则无法刷新链接,因为他无权打开PRivateWorkbook。

无论如何,当经理编辑私人工作簿而不强迫他们手动打开公共工作簿时,我可以更新PublicWorkbook吗?


你可以使用“刷新链接”按钮PublicWorkbook吗?我认为你可以有类似的东西,PrivateWorkbook只要足够长的时间打开就可以更新链接,然后关闭它。可能会有一些进一步的细节,但我认为这可以解决问题。
Excellll 2014年

访问PublicWorkbook的用户无权访问PrivateWorkbook文件。
Aheho

在PrivateWorkbook中有一个按钮可以立即打开PublicWorkBook。
Aheho

如何处理文件权限?工作簿是否位于服务器上?密码?
Excellll 2014年

5
Workbook_BeforeClose在私有文件中使用VBA 事件自动打开并保存公共文件。当您的经理关闭私人文件时会触发该事件。您还可以检查是否进行了更改。如果没有,什么也不做
nixda 2014年

Answers:


1

将VBA与其私有文件中的Workbook_BeforeClose事件一起使用,以自动打开,保存和关闭公共文件。当您的经理关闭私人文件时会触发该事件。让经理用简单的yes-no提示确认更新。

请注意以UpdateLinks:=True静默方式更新公共文件中所有外部链接的参数

示例代码(必须放在ThisWorkbook下)

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Dim wb As Workbook
    FilePath = "C:\public.xls"

    If MsgBox("Update " & FilePath & " ?", vbYesNo) = 6 Then
        Set wb = Workbooks.Open(FilePath, UpdateLinks:=True)
        wb.Close SaveChanges:=True
    End If

End Sub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.