如何在c#中使用互操作从Excel或PowerPoint文件中获得修订

本文关键字:文件 PowerPoint Excel 互操作 | 更新日期: 2023-09-27 18:08:07

我正在开发一个需要计算文档和修订中的单词数的应用程序。

正如你在这里看到的,我已经为Word文档解决了这个问题(好吧,尽可能多地解决),但现在我发现自己想知道如何从Excel或PowerPoint文档中获取这些数据。

MSDN文档到目前为止没有帮助-我会继续寻找,但如果有人知道答案,我会感激一点帮助。

编辑:所以采取@Andrew(感谢他)提供的信息,我得到了Excel部分的代码:

foreach (Excel._Worksheet s in ExcelBook.Sheets)
        {
            if (s.UsedRange.Value2 != null)
            {
                for (int i = 1; i <= s.UsedRange.Value2.GetLength(0); i++)
                {
                    for (int j = 1; j <= s.UsedRange.Value2.GetLength(1); j++)
                    {
                        string content = s.UsedRange.Value2[i, j];
                        MessageBox.Show(i + " - " + j + " - " + content);
                    }
                }
            }
        }

现在我可以用它来计算工作表中所有单元格中的单词,但是这仍然无助于修订-有人知道如何跟进这个吗?

如何在c#中使用互操作从Excel或PowerPoint文件中获得修订

从代码示例中可以看出,您链接到Word的OM使您能够访问它的修订跟踪特性。方便。

PowerPoint没有任何修订跟踪,所以你没有什么可做的,除非像安德鲁建议的那样,你从一个演示文稿中提取并存储文本,然后再做同样的事情并比较两者。读懂文本,不管怎么说,大部分都不是那么难。比较两组文本寻找修订可能相当复杂。

这里有一些VBA宏用于提取幻灯片上的常规文本(免责声明:我的网站):http://www.pptfaq.com/FAQ00274.htm

这些都很简单,不能处理分组形状、表格、图表等文本,但它们会让你入门。

你应该试试这个

几个月前它帮助了我。