Visio.Shapes namedShapes = page.Shapes.ItemNamed["My Stencil Library - peng"];此句话的ItemNamed报错
时间: 2024-02-18 14:01:38 浏览: 176
在 Visio VBA 中,Shapes 对象没有 ItemNamed 属性。如果您想获取页面上特定名称的形状,请使用以下代码:
```
Dim namedShapes As Visio.Shapes
Set namedShapes = page.Shapes.Item("My Stencil Library - peng")
```
如果您想获取页面上名称为 "My Stencil Library - peng" 的形状,请使用以下代码:
```
Dim namedShape As Visio.Shape
Set namedShape = page.Shapes("My Stencil Library - peng")
```
相关问题
// 创建 Visio 应用程序对象 Visio.Application visApp = new Visio.Application(); // 打开 Visio 文档 Visio.Document doc = visApp.Documents.Open("D:\\02 Work\\00 Chaos\\05 Auto_LTT_Drawing\\Test\\example.vsdx"); // 获取页面对象 Visio.Page page = doc.Pages[1]; // 获取一个矩形形状 //Visio.Shape rect = page.DrawRectangle(1, 1, 2, 2); // 设置矩形的颜色为红色 //rect.CellsU["FillForegnd"].FormulaU = "RGB(255,0,0)"; // 获取有名称的Shapes集合 Visio.Shapes namedShapes = page.Shapes.ItemNamed["My Stencil Library - peng"]; // 获取Shapes集合中的第二个图形 Visio.Shape visioShape = namedShapes[2]; // 将图形移动到(5, 5)的位置上 visioShape.CellsU["PinX"].FormulaU = "5 mm"; visioShape.CellsU["PinY"].FormulaU = "5 mm"; // 保存文档 //doc.Save(); // 关闭应用程序 //visApp.Quit(); 其中ItemNamed有下波浪线报错
根据您提供的代码,如果在使用`ItemNamed`属性时出现下波浪线报错,可能是因为没有正确引用Visio对象库。
请尝试在项目中添加对Visio类型库的引用,方法如下:
1. 在 Visual Studio 中,打开您的项目。
2. 在“解决方案资源管理器”中,右键单击“引用”并选择“添加引用”。
3. 在“添加引用”对话框中,选择“COM”选项卡。
4. 找到并选中“Microsoft Office Visio 16.0 Type Library”(或与您安装的Visio版本相对应的版本),然后单击“确定”按钮。
5. 重新编译您的项目并运行代码。
如果仍然存在问题,请尝试使用`Shapes.ItemU`属性来获取形状。例如,您可以使用以下代码:
```
Visio.Shapes namedShapes = page.Shapes.ItemU["My Stencil Library - peng"];
```
希望这可以帮助您解决问题。
此代码如何更改可以做到调用"My Stencil Library - peng"这个Shapes库
要调用"My Stencil Library - peng"这个Shapes库,您可以使用以下代码:
```
// 创建 Visio 应用程序对象
Visio.Application visApp = new Visio.Application();
// 打开 Visio 文档
Visio.Document doc = visApp.Documents.Open("D:\\02 Work\\00 Chaos\\05 Auto_LTT_Drawing\\Test\\example.vsdx");
// 获取页面对象
Visio.Page page = doc.Pages[1];
// 获取"My Stencil Library - peng"这个Shapes库
Visio.Master stencil = doc.Masters["My Stencil Library - peng"];
// 在页面上放置Shapes库中的第三个图形
Visio.Shape visioShape = page.Drop(stencil, 5, 5);
// 保存文档
doc.Save();
// 关闭应用程序
visApp.Quit();
```
以上代码中,我们通过`doc.Masters["My Stencil Library - peng"]`获取了"My Stencil Library - peng"这个Shapes库中的Master对象,然后使用`page.Drop()`方法在页面上放置了Shapes库中的第三个图形,并将其移动到了(5, 5)的位置。
希望这可以帮助到您。
阅读全文