Làm thế nào để bạn nhận được văn bản Ghi chú từ trang chiếu PowerPoint hiện tại bằng C#?Cách lập trình đọc và thay đổi ghi chú trang trình bày trong PowerPoint
6
A
Trả lời
4
Tôi tin rằng đây có thể là những gì bạn đang tìm kiếm:
string s = slide.NotesPage.Shapes[2].TextFrame.TextRange.Text
slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "Hello World"
1
Đây là mã của tôi mà tôi sử dụng để nhận được ghi chú trượt. Vẫn đang phát triển nó, nhưng có vẻ như làm điều này trong thời gian này. Ngay cả trong PPT thử nghiệm đơn giản của tôi, các ghi chú trang trình bày không phải lúc nào cũng là phần tử [2] trong mảng hình dạng, vì vậy điều quan trọng là phải kiểm tra.
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
Như bạn nói, một số TextFrames không có một phạm vi, nhưng thay vì ném một ngoại lệ khi bạn cố gắng truy cập nó trước, hãy kiểm tra xem (frame.HasText == Office.MsoTriState.msoTrue). –
Các vấn đề liên quan
- 1. Làm cách nào để thay đổi bố cục trang trình bày trong PowerPoint?
- 2. Phân nhánh trang trình bày trong PowerPoint (VBA)
- 3. Lập trình giải nén trang trình bày dưới dạng hình ảnh từ bản trình bày PowerPoint (.PPT)
- 4. Thay đổi văn bản trong hộp văn bản trong trang PowerPoint Powerpoint
- 5. Thêm ghi chú vào trang chiếu PowerPoint bằng cách sử dụng Apache POI
- 6. Cách trích xuất trang trình bày từ video bằng python
- 7. Nội dung trang trình bày/chuyển trang
- 8. Lập trình đọc một trang web
- 9. Trang trình bày có Cột trong Pandoc
- 10. Làm cách nào để tự động nâng cấp trang trình bày PowerPoint sau khi hoạt ảnh xuất cảnh kết thúc?
- 11. Bootstrap 3 Băng chuyền mờ dần sang trang trình bày mới thay vì trượt sang trang trình bày mới
- 12. Chuyển tiếp CSS: Trang trình bày viền thay vì mờ
- 13. Thay đổi mức ghi log4net theo lập trình
- 14. Có cách nào trực tiếp để lấy chỉ mục của trang chiếu trong bản trình bày PowerPoint không?
- 15. BxSlider hiển thị trang trình bày cuối cùng dưới dạng trang trình bày đầu tiên
- 16. Thay đổi lập trình động
- 17. Trích xuất nhận xét từ bản trình bày PowerPoint bằng VBA
- 18. lập trình thay đổi AssemblyVersion và AssemblyFileVersion thuộc tính
- 19. ASP.Net Thay đổi MasterPage lập trình
- 20. Nhúng trình xem Powerpoint trên một trang web (PHP)
- 21. Sửa đổi tệp pdf để có nhiều trang trình bày trên mỗi trang
- 22. Tách trình bày và logic nghiệp vụ trong PHP
- 23. Cách trình bày tên lớp trong LaTeX?
- 24. Thay đổi màu nền UIView lập trình
- 25. Cách tạo ghi chú đàn ghi chú
- 26. Lập trình thay đổi Windows Shell
- 27. MVP và trình bày chi tiết
- 28. Thay đổi Bố cục Widget Lập trình
- 29. Thanh tab trang trình bày như trong thị trường Android
- 30. Thay đổi ngày hệ thống lập trình
HI Chris, tôi đã thử. nó hoạt động trên hầu hết các trang trình bày. ngoại trừ trang cuối cùng, tôi sẽ gặp một ArgumentException. bạn có thể giải thích nó một chút không? ma thuật 2 có nghĩa là gì ở đây? Cảm ơn bạn trước – StanleyZ
Kiểm tra câu hỏi này. Nó có một câu trả lời tốt hơn sau đó những gì tôi cung cấp: http://stackoverflow.com/questions/6252927/powerpoint-notes-in-c-sharp – Crispy
Bạn không nên mã số ma thuật cứng. Bạn không thể đảm bảo nó sẽ là phần tử [2] trong mảng Shapes. Có lẽ nguyên nhân của lỗi trên trang trình bày cuối cùng. – Simon