2009-04-19 6 views
1

ich so etwas wie dies, um den Text von einer Form in Powerpoint zu erhalten:Leseformatierten Text aus Powerpoint Programatically

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

Wenn jedoch der Text fett hat, unterstrichen, die Größe verändert (etc) Text in der Form (gemeint sind nur bestimmte Wörter oder Phrasen innerhalb der Form), konvertiert die .Text Eigenschaft alles in Klartext.

Ich bin auf der Suche nach der stilisierten Markup (vielleicht RTF) der Form.

ich sehe, wenn ich den Text kopieren (markieren, Rechtsklick, dann COPY wählen) und dann PASTE es in WordPad, es bewahrt alles. Allerdings nicht, daß ich eine .RTFText Eigenschaft (oder ähnliches) des TextRange sehen, dass ich programmatisch zugreifen können.

Weiß jemand, wie man das programmatisch macht (über VBA nehme ich an)?

Dank -

Antwort

2

Ich denke, die einzige unterstützte Methode ist Zugriff auf die Zwischenablage zu automatisieren: ein VBA Copy tun und den Text aus der Zwischenablage selbst erhalten. Nicht elegant, und mit Nebenwirkungen bemerkbar für den Benutzer, aber ...

+0

mit einem wenig Bastelei, tat ich dies, indem Sie die Kopie() zu arbeiten, dann den rtf Inhalt der Zwischenablage zu lesen. Vielen Dank - – OneNerd