Laden...

[PowerPoint Interop] Zugriff auf TextFrame.TextRange.Paragraphs, Lines

Erstellt von sevenofnine vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.571 Views
S
sevenofnine Themenstarter:in
45 Beiträge seit 2008
vor 8 Jahren
[PowerPoint Interop] Zugriff auf TextFrame.TextRange.Paragraphs, Lines

Hallo Zusammen,

ich befülle ausgehend von C# (Microsoft.Office.Interop.PowerPoint) eine PowerPoint Präsentation mit Daten.
Dabei möchte ich in ein Shape


 var rect = oShapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,Left,Top,Width,Height);

Text schreiben oder auch bestehenden Text ändern. Ich möchte die Zeilen oder Paragrafen des TextFrames durchlaufen und einzeln bearbeiten, hier habe ich folgendes Problem,
ich kann die Paragraphen und / oder Zeilen im Debugger erkennen, nicht aber im Code zugreifen, denn ich kenne die Klassen nicht und var liefert mir keine Member vom COM Objekt.
TextFrame hat nur die Methoden .Paragraphs() und .Lines() ich finde aber keine Eigenschaften oder Listen


                foreach (var para in rect.TextFrame.TextRange.Paragraphs())
                {
                    var p = para;
                }
                foreach (var line in rect.TextFrame.TextRange.Lines())
                {
                    var l = line;
                }


Danke und Gruss Gerhard

H
523 Beiträge seit 2008
vor 8 Jahren

denn ich kenne die Klassen nicht und var liefert mir keine Member vom COM Objekt.

In der MSDN müsstest Du alles finden was Du brauchst.

Was spricht dagegen anstatt mit var mit den konkreten Typen (z. B. TextRange) zu arbeiten?

W
872 Beiträge seit 2005
vor 8 Jahren

Wenn Du auf COM/Interop benutzt, dann musst Du dynamic und nicht var zum typisieren benutzen.
Der Hintergrund ist, dass die Typisierung von var zur Compile-Zeit erfolgt, die Typisierung von dynamic hingegen zur Laufzeit - wie auch COM funktioniert.
Das erklärt schön dieser MSDN-Artikel.

S
sevenofnine Themenstarter:in
45 Beiträge seit 2008
vor 8 Jahren

danke. Man lernt nie aus.

dynamic genau das ist was ich suchte.

Die konkreten Typen hatte ich hier MSDN ja nicht gefunden, dort ist nur was von Methoden für die Lines die Rede