2

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

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

在此处输入图像描述

在此处输入图像描述

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

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 中找到类似的内容。

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

4

1 回答 1

1

您可能会发现此讨论很有用: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 演示文稿中创建链接内容。

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

该讨论建议使用TagShapes、Slides 和 Paragraphs 的属性,以便通过自动化识别要编辑的内容。

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

于 2019-01-10T17:52:18.480 回答