Estratégia para atualizar facilmente links externos de entrada para uma pasta de trabalho do Excel

4

Digamos que você tenha 2 pastas de trabalho com o nome "PrivateWorkbook" e "PublicWorkbook"

O PublicWorkbook é acessível a todos em nossa empresa.

O PrivateWorkbook só é acessível aos gerentes.

Existem links externos do PublicWorkbook para o PrivateWorkBook.

Quando o PrivateWorkbook é atualizado, há células no PublicWorkbook que devem refletir essas alterações.

No entanto, a única maneira de atualizar os links do PublicWorkbook é se um gerente abrir o Publicworkbook após a edição do PrivateWorkbook.

Se um não-gerente abrir o PublicWorkbook primeiro, os links não poderão ser atualizados, pois ele não tem direitos para abrir o PRivateWorkbook.

Existe mesmo assim que eu posso atualizar o PublicWorkbook quando um gerente edita o Privateworkbook sem forçá-los a abrir manualmente o livro público?

    
por Aheho 15.01.2014 / 16:24

1 resposta

1

Use o VBA junto com seu evento Workbook_BeforeClose em seu arquivo privado para abrir, salvar e fechar automaticamente o arquivo público. O evento é acionado quando seu gerente fecha o arquivo privado. Deixe o gerente confirmar a atualização com um simples prompt sim-não.

Observe o parâmetro UpdateLinks:=True que silenciosamente atualiza todos os links externos em seu arquivo público

Exemplo de código (deve ser colocado sob 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
    
por 29.04.2014 / 12:26