VBA コードに問題があります。
私の仕事は、Visio 図面のディレクトリをスキャンし、埋め込まれた Excel オブジェクトを更新し、保存して閉じる VBA スクリプトを作成することです。
だから私は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 を使用しています。
私が間違っていることを確認するのに役立つ人はいますか? または、ここで何が欠けていますか?