首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在幻灯片上插入多个形状组时出现c#错误

在幻灯片上插入多个形状组时出现c#错误
EN

Stack Overflow用户
提问于 2018-10-19 06:18:51
回答 2查看 243关注 0票数 0

UPD:也许这会有帮助。以下是我的错误的详细信息:

System.UnauthorizedAccessException HResult=0x80070005

对所选形状禁用Message=Grouping (Длявыделенныхфигургруппированиеотключено)。Visual Studio控件:位于D:\Documents\Visual Studio 2017\Projects\FirstPPTAddIn\FirstPPTAddIn\MyRibbon.cs:line 84中的Microsoft.Office.Interop.PowerPoint.ShapeRange.Group() at FirstPPTAddIn.MyRibbon.OnShapeButton(IRibbonControl StackTrace)

我将我的外接程序添加到Exeption中,当我为第二组集运行代码时,我在幻灯片上获得了两个没有分组的额外形状。我不明白为什么最后一行代码不能工作。我可以多次“复制通过”第一组集合,并用它们进行更改,但我需要通过按钮添加它们。

我使用了this code for grouping shapes。但它只允许放置一个形状组。为了在一张幻灯片上插入无限个形状组,我需要在代码中进行哪些更改?

部分代码

    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"说。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-24 03:19:43

我的一个朋友今天解决了这个问题。他为数组中的形状添加了计数器。下面的代码部分

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++;
}
票数 0
EN

Stack Overflow用户

发布于 2018-10-19 06:30:24

这可能是因为文件已在use.Try中,以便在添加形状1后手动转储powerpoint.exe

UnauthorizedAccessException可能是以下原因之一:

调用方没有所需的permission.

  • The文件是正在使用的可执行文件。

  • 是directory.

  • Path指定的只读文件。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52883376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档