Есть ли способ обновить связанные изображения из другой книги, не открывая ее? - PullRequest
0 голосов
/ 23 января 2019

У меня есть панель отчетов в WB1, которая связывает изображения диаграмм из другой рабочей книги WB2 (ПАСТА / СПЕЦИАЛЬНАЯ ПАСТА / СВЯЗАННОЕ ИЗОБРАЖЕНИЕ)

Отдел продаж обновляет WB2, и связанные изображения в WB1 не обновляются, если толькоОбе книги открыты.

Итак, я решил обойти, реализовав в WB1 кнопку для открытия и закрытия WB2, и это обновило ссылки.

Теперь по какой-то причине перестал работать.Единственное изменение, которое я сделал, это превратил WB2 в рабочую книгу с макросом (теперь он автоматически обновляет все графики при добавлении новых значений).

Sub Gumb214_Klikni()
'Button to open and close WB2
   Dim xWb As Workbook
   Dim wbName As String
   On Error Resume Next
   Set xWb = Workbooks.Open("path to link")
   wbName = xWb.Name
   Workbooks("name of folder").Close
   If Err.Number <> 0 Then
      MsgBox "This workbook does not exist!", vbInformation, "ERROR"
     Err.Clear
   Else
    MsgBox "TEXT"
  End If
End Sub

Подвох в том, что даже если я вернусь к старому способудля не макросов WB2 кнопка перестала обновлять ссылки на изображения, и они обновляются только тогда, когда вы открываете их вручную или открываете обе книги.

Есть ли другой способ обновить связанные изображения?Это сводит меня с ума, поскольку он работал нормально, прежде чем я попытался сэкономить время и автоматически обновить графики WB2.

1 Ответ

0 голосов
/ 23 января 2019

Чтобы расширить мой комментарий. Их обновление позволит конечному пользователю выглядеть беспроблемно и создать ложное впечатление, что книга назначения не была «открыта»

Sub Gumb214_Klikni()
    'Button to open and close WB2
    Dim xlApp As New Excel.Application
    Dim xWb As Workbook
    Dim wbName As String


    On Error Resume Next
    With xlApp
        .Visible = False
        Set xWb = .Workbooks.Open("path to link")
    End With
    wbName = xWb.Name
    Workbooks("name of folder").Close
    If Err.Number <> 0 Then
        MsgBox "This workbook does not exist!", vbInformation, "ERROR"
        Err.Clear
    Else
        ' Update pictures here via whatever method and save&close the destination workbook
        MsgBox "TEXT"
    End If

    ' Quit the second instance of the application
    With xlApp
        .Quit
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...