2009-04-19 2 views
1

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

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

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

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

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

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

Спасибо -

ответ

2

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

+0

с немного возиться, я получил это, выполнив копию(), а затем прочитав содержимое rtf в буфере обмена. Благодаря - – OneNerd

 Смежные вопросы

  • Нет связанных вопросов^_^