我创建了3个smartart形状,并将它们放入文件夹:“C:\ Users ... \ AppData \ Roaming \ Microsoft \ Templates \ SmartArt Graphics”,然后PowerPoint成功加载它们。您可以从UI调用它们,但是如果在打开PowerPoint时开始,并且我以编程方式将Smartart形状添加到幻灯片中,我总是会收到以下错误:
“指定集合的索引超出范围”
但是,如果我首先从UI添加我的smartart形状,如果我想在此之后从代码中添加我的smartart形状,则没有错误。
我的smartart形状: smartart resources
我的代码是:
Microsoft.Office.Core.SmartArtLayout myLayout = null; try { myLayout = PowerPointApp.SmartArtLayouts["SmartArtABS3"]; } catch (Exception ex) { MessageBox.Show(ex.Message); questionLayout = null; } if (questionLayout != null) { PowerPoint.Shape smShape = allShapes.AddSmartArt(myLayout, left, top, width, height); //..... }
注意:我使用的是VS Ultimate 2013,PowerPoint 2013,C#,Add-In-Express
答案 0 :(得分:0)
非常确定您不能使用名称作为索引,您必须使用索引(长)
如果您不知道它会循环显示名称,直到找到匹配项找到它。