我用c#对word进行操作,对word菜单条做了改变,当word应用程序退出时,word没出现问题。但是,当我把程序发布后,拷贝该release文件到其他电脑上运行,程序结束后使的该电脑的word模板改变,无法恢复,可是这个release里exe运行在我的电脑却不会出现这种问题,这是什么原因?什么办法可以避免?望高手指点!
解决方案 »
- WPF如何让ListView的Item获得焦点!!!!!!!
- 如何获取程序调用的dll的版本信息
- 【Socket监听端口问题 急!!!!!!!!!!!!!!!!!】
- 用javascript可以获取服务器时间吗?怎么获取?
- 求助!我遇到了一个很没有道理的问题。关于Column的Caption的问题。
- Console.WriteLine()有那12种构造参数
- 请各位大虾帮忙,解决一下局域网聊天工具的问题!!!!!!!急!急!
- 求救datagrid的问题
- 在枚举中增加元素的方法。。。
- 请教:Datagrid排序之后的问题(在线恭候)。
- 如何在dataGridView单元格中显一个小图片,并在其上显示文本
- 问个关于程序集的问题
(1)查代码、查用户环境。
(2)退出WORD后,删除你改变过的系统模板文件(下次WORD启动会自动重建)。
文件位置:C:\Documents and Settings\admin\Application Data\Microsoft\Templates\Normal.dot第2种方法不太好呀,别人想存也存不了了。
至于第一种,代码我觉得不是这个问题,至于用户环境极有可能,因为在我这边是对的,在其他机子是错的。我在其他机子仔细看过了,程序运行后,那个自定义模板已经取代了原有的normal.dot,有没有可能进行某些设置避免这种取代?比如程序中设置一个自定义模板路径,程序结束后在变为原来的默认路径?
(2) normal.dot位置:Word.Application.NormalTemplate.Path
直接用:
(3) Application.NormalTemplate.FullName 文档标准模板名称及所在位置
正常情况下不应该改变normal.dot。如果改变了应该是程序有的地方没处理好。
doc = app.Documents.Open(ref Source, ref Unknown,
ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown);
打开,
最后 doc.Close(ref Unknown, ref Unknown, ref Unknown);
app.Quit(ref Unknown, ref Unknown, ref Unknown);
就这个过程,不知怎么就把原normal.dot替代了
其次,您的 Normal.dot 模板可能感染了宏病毒。
第三,可能是某个加载项导致了此问题。http://support.microsoft.com/kb/291352/zh-cn
app.Quit(ref Unknown, ref Unknown, ref Unknown);
会默认更改当前 normal.dot模板
app.Quit(ref Unknown, ref Unknown, ref Unknown);
把上面两句,改成下面试试:object doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;
doc.Close(ref doNotSaveChanges, ref Unknown, ref Unknown);
app.Quit(ref doNotSaveChanges , ref Unknown, ref Unknown);