linqy的个人博客分享 http://blog.sciencenet.cn/u/linqy

博文

C#获取word的页数,处理报错“异常来自 HRESULT:0x800A1423"

已有 1147 次阅读 2022-10-27 15:33 |系统分类:科研笔记

参考: https://blog.csdn.net/baobaolaogong/article/details/23854685

问题:

1.使用以上代码,再myWordDoc.Close行会提示警告,方法..和非方法存在二义性,将使用方法组,在网上查了资料后发现是因为两个接口存在同名属性和方法名,因此需要强制转换,最简单的写法如下:

 ((Microsoft.Office.Interop.Word._Document)myWordDoc).Close(ref oMissing, ref oMissing, ref oMissing);

2.在执行Colse时会遇到程序会自动弹出将当前word文件另存为的窗口,若另存为,则报错“异常来自 HRESULT:0x800A1423";若不另存为,点击取消,报错"异常来自 HRESULT:0x800A1423此文件为只读。

 (C:\...\B01381E11S-R01-02-ceshi1.docx)"

查找资料后终于发现原因所在,修改Colse()函数的第一个参数即可,代码如下:

 object saveOption = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;

            ((Microsoft.Office.Interop.Word._Document)myWordDoc).Close(ref saveOption, ref oMissing, ref oMissing);



https://wap.sciencenet.cn/blog-3134052-1361145.html

上一篇:[转载]利用C#,实现Word文档 编写
下一篇:[转载]c#快捷键(成为高手必备)
收藏 IP: 60.208.132.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-17 12:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部