Как обновить пользовательские свойства, связанные с текстовым полем в PowerPoint, используя C # - PullRequest
0 голосов
/ 10 января 2019

Я пишу надстройку VSTO PowerPoint. Одна из вещей, которую я хотел бы достичь, - это возможность обновлять пользовательские свойства программно с помощью C #.

Если я свяжу пользовательское свойство с текстовым полем (используя графический интерфейс), я смогу отобразить значение свойства на слайде - см. Два изображения ниже.

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 голосов
/ 10 января 2019

Вы можете найти это обсуждение полезным: 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 Стив Риндсберг - один из ведущих авторитетов в PowerPoint ...

Насколько я знаю (на основании этого обсуждения и моего собственного тестирования), нет никакого программного способа создания связанного контента в презентации PowerPoint.

и невозможно изменить содержимое, отображаемое на слайде, путем изменения значения связанного пользовательского свойства документа.

В этом обсуждении рекомендуется работать со свойством Tag фигур, слайдов и абзацев, чтобы идентифицировать что-либо для редактирования с помощью автоматизации.

Обидно, правда, что PowerPoint не имеет функции «управления контентом», которую имеет Word, где можно связать элемент управления контентом с узлом в пользовательской XML-части - измените значение в одной и это будет отражено в другом.

...