Сохранение чертежа Visio после обновления встроенного объекта Excel в VBA

У меня проблема с моим кодом VBA.

Моя задача - создать скрипт VBA, который будет сканировать каталог на наличие рисунков Visio, обновлять встроенный объект Excel, сохранять его и закрывать.

Итак, я разработал саб VBA:

Dim m_visioApp as Object
Set m_visioApp = CreateObject("visio.application")


Sub UpdateVsdFile(filename As String)

    m_visioApp.Documents.Open (filename)

    For Each pageObj In m_visioApp.ActiveDocument.Pages
        For Each oleObj In pageObj.OLEObjects
            If InStr(oleObj.progID, "Excel.Sheet") > 0 Then
                oleObj.Object.Activate
                oleObj.Object.Application.Worksheets(1).Cells(1, 1) = "Something"
                Call oleObj.Object.RefreshAll
            End If
        Next
    Next

    m_visioApp.ActiveWindow.DeselectAll

    m_visioApp.ActiveDocument.SaveAsEx filename, visSaveAsListInMRU

    m_visioApp.ActiveDocument.Close

End Sub

Что не работает: - сохранение чертежа Visio после обновления объекта OLE - закрытие чертежа Visio

Я использую Visio 2016 и Excel 2016.

Может ли кто-нибудь помочь проверить, что я делаю не так? Или чего мне здесь не хватает?

0 ответов

Другие вопросы по тегам