C#中的MS Word自动化 – 无法将类型为’System.String [*]’的对
发布时间:2020-12-15 06:45:48 所属栏目:百科 来源:网络整理
导读:我使用这个代码来获得MS Word 2007文档(.docx)中使用的String数组的标题: dynamic arr = Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading); 使用调试器,我看到arr动态地分配了一个String数组,其中包含文档中所有标题的标题(约40个条目).
我使用这个代码来获得MS Word 2007文档(.docx)中使用的String数组的标题:
dynamic arr = Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading); 使用调试器,我看到arr动态地分配了一个String数组,其中包含文档中所有标题的标题(约40个条目).到现在为止还挺好. 然后,我想访问字符串,但不管我怎么做,我得到以下异常: InvalidCastException: Unable to cast object of type 'System.String[*]' to type 'System.String[]'. 我尝试过不同的访问字符串的方法: 按指数: String arr_elem = arr[1]; 通过转换为IEnumerable: IEnumerable list = (IEnumerable)arr; 通过使用简单的foreach循环: foreach (String str in arr) { Console.WriteLine(str); } 然而,无论我尝试什么,我总是会遇到与上述相同的例外. 任何人都可以解释我在这里失踪/我做错了什么?特别是String [*] – 这是什么意思? 解决方法
尝试
object arr_r = Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading); Array arr = ((Array) (arr_r)); string myHeading = (string) arr.GetValue(1); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读