VBA改變visio圖形內控件內容和顏色
主要利用visio開發者模式,在沒有開發幫助文檔的情況下,實現對visio文件的處理
Sub Macro3()
‘Enable diagram services
Dim DiagramServices As Integer
DiagramServices = ActiveDocument.DiagramServicesEnabled
ActiveDocument.DiagramServicesEnabled = visServiceVersion140 + visServiceVersion150
Application.ActiveWindow.SelectAll
‘Restore diagram services
Dim UndoScopeID1 As Long
UndoScopeID1 = Application.BeginUndoScope("填充顏色")
For Each ItemFrom In Application.ActiveWindow.Page.Shapes
Set vsoCharacters = ItemFrom
vsoCharacters.Characters.Text = "okokokokokokokok"
vsoCharacters.CellsSRC(visSectionObject, visRowFill, visFillForegnd).FormulaU = "THEMEGUARD(RGB(255,0,0))"
vsoCharacters.CellsSRC(visSectionObject, visRowFill, visFillBkgnd).FormulaU = "THEMEGUARD(SHADE(FillForegnd,LUMDIFF(THEMEVAL(""FillColor""),THEMEVAL(""FillColor2""))))"
vsoCharacters.CellsSRC(visSectionObject, visRowGradientProperties, visFillGradientEnabled).FormulaU = "FALSE"
Next
Application.EndUndoScope UndoScopeID1, True
End Sub
VBA改變visio圖形內控件內容和顏色