1

我的 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

什么不工作: - OLE 对象更新后保存 Visio 绘图 - 关闭 Visio 绘图

我正在使用 Visio 2016 和 Excel 2016。

任何人都可以帮助检查我做错了什么吗?或者我在这里缺少什么?

4

0 回答 0