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
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.
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