使用VBA更改Visio形状数据/属性

时间:2018-07-05 13:22:40

标签: vba ms-office visio

对于一个项目,我正在创建一个UserForm,该UserForm从文本框中读取值并使用数据生成Shapes。 因此,删除形状后,我想更改形状数据行,例如“ Prop.SO_Name”。

当我使用

shp.CellsU("Prop.SO_Name").FormulaU = """Test"""

效果很好。但是我想从文本框中读取一个值。我尝试过

Dim cell As Visio.cell
Set cell = shp.Cells("Prop.SO_Name")
cell.FormulaU = TextBox2.Value

但是它返回运行时错误。我也尝试过

Dim str as String
str = Textbox2.value
Dim cell As Visio.cell
Set cell = shp.Cells("Prop.SO_Name")    
cell.FormulaU = str

结果相同。

我调查了FormulaU属性的documentation,但显然是他们这样做,就像我尝试过的一样。显然我缺少了一些东西。

1 个答案:

答案 0 :(得分:2)

`尝试使用

Dim cell As Visio.cell  
Set cell = shp.Cells("Prop.SO_Name")  
cell.FormulaU = chr(34) & UserForm1.TextBox2.Value & chr(34)

更新,您尝试将字符串写入ShapeSheet单元!字符串中的双引号是一种告诉VB [A]制作带有嵌入式引号字符的字符串的方法。