如何使用C#更新链接到PowerPoint中的文本框的自定义属性

时间:2019-01-10 14:43:30

标签: c# vsto powerpoint customproperty

我正在编写VSTO PowerPoint加载项。我要实现的目的之一是能够使用C#以编程方式更新自定义属性。

如果我将自定义属性链接到文本框(使用GUI),则可以在幻灯片中显示该属性的值-请参见下面的两个图像。

enter image description here

enter image description here

如果我想更改其他未链接的现有属性,则可以使用以下代码按预期工作:

doc.CustomDocumentProperties[propName].Value = propValue;

但是,对于链接属性,该值不会更改。在Excel中,我已经可以通过在属性中设置的链接来更改值

DocumentProperty property = doc.CustomDocumentProperties[propName];

if (property != null && property.LinkToContent && property.LinkSource != null)
{
    workbook.Names.Item(property.LinkSource).RefersToRange.Value = propValue;
}

但是,我无法在PowerPoint中找到类似的内容。

或者,我想知道是否可以通过删除自定义属性然后用新值重新创建来解决此问题。但我似乎也找不到删除自定义属性的方法。

1 个答案:

答案 0 :(得分:0)

您可能会发现此讨论很有用:https://answers.microsoft.com/en-us/office/forum/office_2007-powerpoint/powerpoint-equivalent-of-word-bookmarks/0ff65d38-1980-4faa-83c4-f434b07d5b61?db=5&auth=1 Steve Rindsberg是PowerPoint的主要权威之一...

据我所知(基于该讨论和我自己的测试),没有编程的方式在PowerPoint演示文稿中创建链接的内容。

并且并且无法通过更改链接的自定义文档属性的值来更改幻灯片上显示的内容。

该讨论建议使用Shapes,Slides和Paragraphs的Tag属性,以识别一些可通过自动化进行编辑的内容。

真的很可惜,PowerPoint没有Word具有的“内容控件”功能,可以将内容控件链接到“自定义XML部件”中的节点-更改其中一个的值并反映出来在另一个。