Программное чтение форматированного текста из PowerPoint

StackOverflow https://stackoverflow.com/questions/765747

  •  12-09-2019
  •  | 
  •  

Вопрос

Я использую что-то вроде этого, чтобы получить текст из фигуры внутри PowerPoint:

s = ActiveWindow.Selection.SlideRange.Shapes("rec1").TextFrame.TextRange.Text

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

Я хочу получить стилизованную разметку (возможно, RTF) фигуры.

Я вижу, что если я скопирую текст (выделите, щелкните правой кнопкой мыши, затем выберите КОПИРОВАТЬ), а потом ВСТАВИТЬ его в WordPad, он сохраняет все.Однако я не вижу .RTFText свойство (или что-нибудь подобное) принадлежащий TextRange к которому я могу получить доступ программно.

Кто-нибудь знает, как это сделать программно (я полагаю, через VBA)?

Спасибо -

Это было полезно?

Решение

Я думаю, что единственный поддерживаемый метод — автоматизировать доступ к буферу обмена:сделайте копию VBA и получите текст из буфера обмена самостоятельно.Не элегантно и с заметными для пользователя побочными эффектами, но...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top