我使用以下代码行更改了文本大小
shp.CellsSRC(visSectionCharacter, 0, visCharacterSize).FormulaU = " 3pt"
我想用相同的代码模式将形状文本的样式(更改为粗体)和颜色吗?
我没有找到确切的“公式”,您知道我该怎么做吗?
非常感谢您
编辑:我找到了该行的颜色:
shp.CellsSRC(visSectionCharacter, 0, visCharacterColor).FormulaU = "THEMEGUARD(RGB(255,0,0))"
答案 0 :(得分:1)
我不确定为什么没有enumeration来设置样式。无论如何,形状属性中都是第2列。所以用
shp.CellsSRC(visSectionCharacter, 0, 2).FormulaU = 17
将文本设置为粗体。
我怎么知道你问的?根据{{3}}上的Microsoft参考,有一个有用的代码段可供使用。
首先,在图形中选择要查看有关属性信息的形状。然后在Visio编辑器中打开Shape Properties窗口(在VBE中为 not )-您可以通过查看Developer功能区到达那里,然后单击Show ShapeSheet图标
在形状属性窗口中,向下滚动直到看到“字符”部分。您必须在属性窗口中选择一个单元格。此处的示例选择了“样式”列。
完成此操作后,请在下面运行以下代码段,您将在VBE的“即时窗口”中获取所需的信息。
Public Sub DebugPrintCellProperties()
' Abort if ShapeSheet not selected in the Visio UI
If Not Visio.ActiveWindow.Type = Visio.VisWinTypes.visSheet Then
Exit Sub
End If
Dim cel As Visio.Cell
Set cel = Visio.ActiveWindow.SelectedCell
'Print out some of the cell properties
Debug.Print "Section", cel.Section
Debug.Print "Row", cel.Row
Debug.Print "Column", cel.Column
Debug.Print "Name", cel.Name
Debug.Print "FormulaU", cel.FormulaU
Debug.Print "ResultIU", cel.ResultIU
Debug.Print "ResultStr("""")", cel.ResultStr("")
Debug.Print "Dependents", UBound(cel.Dependents)
' cel.Precedents may cause an error
On Error Resume Next
Debug.Print "Precedents", UBound(cel.Precedents)
Debug.Print "--------------------------------------"
End Sub
这将告诉您调用CellsSRC
时要使用的节,行和列。我要做的是找出该属性,然后我手动将文本设置为BOLD,然后再次查看DebugPrintCellProperties
的结果以查看FormulaU = 17
的粗体。