[英]c# Error with inserting more than one shape group on the slide
UPD:也许有帮助。 这是我的错误的详细信息:
System.UnauthorizedAccessException HResult = 0x80070005
消息=对选定形状禁用分组(Длявыделенныхфигургруппированиеотключено)。 Source = FirstPPTAddIn StackTrace:D:\\ Documents \\ Visual Studio 2017 \\ Projects \\ FirstPPTAddIn \\ FirstPPTAddIn \\ MyRibbon.cs:line中Microsoft.Office.Interop.PowerPoint.ShapeRange.Group()位于FirstPPTAddIn.MyRibbon.OnShapeButton(IRibbonControl控件) 84
我将外接程序添加到了Exeption Settings中,当我为第二组设置运行代码时,我在幻灯片上得到了两个未分组的其他形状。 我不明白为什么最后一行代码不起作用。 我可以多次“复制粘贴”第一个组并对其进行更改,但是我需要通过按钮添加它们。
我使用此代码对形状进行分组 。 但是它只允许放置一个形状组。 我需要更改代码以在一张幻灯片上插入无限形状组的代码吗?
部分代码
PowerPoint._Application myPPT = Globals.ThisAddIn.Application;
PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide;
string[] myRangeArray = new string[2];
myRangeArray[0] = "shape1";
myRangeArray[1] = "shape2";
curSlide.Shapes.Range(myRangeArray).Group();
当我尝试插入第二个形状组时,在最后一行出现错误,提示System.UnauthorizedAccessException: "grouping is disabled for selected shapes"
。
谢谢!
这可能是由于该文件已在使用中。添加形状1后尝试手动转储powerpoint.exe
UnauthorizedAccessException可能是以下原因之一:
我的一个朋友今天解决了这个问题。 他为数组中的形状添加了计数器。 下面的代码部分
private int count = 0;
public void OnButton(Office.IRibbonControl control)
{
var shape1Name = "shape1" + count;
var shape2Name = "shape2" + count;
...
shape1.Name = shape1Name;
shape2.Name = shape2Name;
...
string[] myRangeArray = new string[2];
myRangeArray[0] = (shape1Name);
myRangeArray[1] = (shape1Name);
curSlide.Shapes.Range(myRangeArray).Group();
count++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.