Программное чтение форматированного текста из PowerPoint
-
12-09-2019 - |
Вопрос
Я использую что-то вроде этого, чтобы получить текст из фигуры внутри PowerPoint:
s = ActiveWindow.Selection.SlideRange.Shapes("rec1").TextFrame.TextRange.Text
Однако если текст внутри фигуры имеет жирный, подчеркнутый, измененный размер (и т. д.) (то есть только определенные слова или фразы внутри фигуры), .Text
свойство преобразует все это в обычный текст.
Я хочу получить стилизованную разметку (возможно, RTF) фигуры.
Я вижу, что если я скопирую текст (выделите, щелкните правой кнопкой мыши, затем выберите КОПИРОВАТЬ), а потом ВСТАВИТЬ его в WordPad, он сохраняет все.Однако я не вижу .RTFText
свойство (или что-нибудь подобное) принадлежащий TextRange
к которому я могу получить доступ программно.
Кто-нибудь знает, как это сделать программно (я полагаю, через VBA)?
Спасибо -
Решение
Я думаю, что единственный поддерживаемый метод — автоматизировать доступ к буферу обмена:сделайте копию VBA и получите текст из буфера обмена самостоятельно.Не элегантно и с заметными для пользователя побочными эффектами, но...