Wie erhalten Sie den Notes-Text von der aktuellen PowerPoint-Folie mit C#?Programmgesteuertes Lesen und Ändern von Foliennotizen in PowerPoint
6
A
Antwort
4
glaube ich, das könnte das sein, was Sie suchen,:
string s = slide.NotesPage.Shapes[2].TextFrame.TextRange.Text
slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "Hello World"
1
Hier ist mein Code, die ich für immer die Foliennotizen verwenden. Entwickelt es noch, scheint aber vorerst den Trick zu machen. Selbst in meinem einfachen PPT-Test sind die Foliennotizen nicht immer das [2] -Element im Shapes-Array, also ist es wichtig zu überprüfen.
private string GetNotes(Slide slide)
{
if (slide.HasNotesPage == MsoTriState.msoFalse)
return string.Empty;
string slideNodes = string.Empty;
var notesPage = slide.NotesPage;
int length = 0;
foreach (Shape shape in notesPage.Shapes)
{
if (shape.Type == MsoShapeType.msoPlaceholder)
{
var tf = shape.TextFrame;
try
{
//Some TextFrames do not have a range
var range = tf.TextRange;
if (range.Length > length)
{ //Some have a digit in the text,
//so find the longest text item and return that
slideNodes = range.Text;
length = range.Length;
}
Marshal.ReleaseComObject(range);
}
catch (Exception)
{}
finally
{ //Ensure clear up
Marshal.ReleaseComObject(tf);
}
}
Marshal.ReleaseComObject(shape);
}
return slideNodes;
}
+0
Wie Sie sagen, haben einige TextFrames keinen Bereich, aber anstatt eine Ausnahme zu werfen, wenn Sie versuchen, zuerst darauf zuzugreifen, überprüfen Sie, ob (frame.HasText == Office.MsoTriState.msoTrue). –
Verwandte Themen
- 1. Programmgesteuertes Lesen/Schreiben von Google Hangouts-SMS
- 2. Programmgesteuertes Lesen von eingehenden Textnachrichten unter iOS
- 3. Programmgesteuertes Ändern der Combobox
- 4. Programmgesteuertes Ändern der 16 Standardkonsolenfarben von PowerShell
- 5. Programmgesteuertes Ändern von Menüelementen Vom Eclipse-Plugin
- 6. Drupal 6: Programmgesteuertes Ändern von Benutzerwerten
- 7. Größe eines Bildes in Powerpoint 2007 ändern
- 8. Wie Folienlayout programmgesteuert in PowerPoint ändern?
- 9. Programmgesteuertes Ändern der Systemnetzwerkeinstellungen (Proxy)
- 10. Programmgesteuertes Lesen von _AssemblyLocation von einer VSTO-Excel-Arbeitsmappe
- 11. Programmgesteuertes Erkennen und Einrichten eines externen Bildschirms?
- 12. Programmgesteuertes Ändern von 'is_active' der Kategorie in Magento 2
- 13. Jquery und Powerpoint
- 14. Öffnen PowerPoint-Datei in PowerPoint auf Ipad
- 15. PowerPoint und WPF
- 16. Umbenennen von Objekten in PowerPoint
- 17. Einfügen von Bildern in PowerPoint
- 18. Programmgesteuertes Ändern der Auswahl auf DatagridView (.NET)
- 19. Textdatei in Array lesen und ändern
- 20. Programmgesteuertes Ändern eines Azure-Kennworts mit Powershell
- 21. Programmgesteuertes Ändern des Lautstärkepegels des Telefons (Symbian)
- 22. Programmgesteuertes Ändern einer Sharepoint Online Excel-Datei
- 23. Magento: Programmgesteuertes Ändern der Konfiguration eines Widgets
- 24. Programmgesteuertes Ändern der Größe/Anpassung von dynamischem HTML an UIWebView
- 25. Powerpoint- und Keynote-Datei in Bildersatz konvertieren
- 26. ASP.NET: Viewstate und programmgesteuertes Hinzufügen von Benutzersteuerelementen
- 27. Aktivieren von Makros in Diagrammdatenquellen in PowerPoint
- 28. Programmgesteuertes Erstellen von NSPopUpButton
- 29. Programmgesteuertes Aktivieren von NSMenuItem
- 30. Programmgesteuertes Ändern von Eclipse-Arbeitsbereich und CDT-Optionen von einem Plugin
Hallo Chris, ich habe es versucht. Es funktioniert auf den meisten Folien. Außer der letzten Seite werde ich eine ArgumentException treffen. Könntest du es ein bisschen erklären? Was bedeutet Magie 2 hier? Vielen Dank im Voraus – StanleyZ
Überprüfen Sie diese Frage. Es hat eine bessere Antwort als das, was ich zur Verfügung gestellt habe: http://stackoverflow.com/questions/6252927/powerpoint-notes-in-c-sharp – Crispy
Du solltest keine magischen Zahlen programmieren. Sie können nicht garantieren, dass es das [2] -Element im Shapes-Array ist. Wahrscheinlich die Ursache des Fehlers auf der letzten Folie. – Simon