文档保存有时有效,但其他情况下无效
本文关键字:其他 情况下 无效 有效 保存 文档 | 更新日期: 2023-09-27 18:25:09
我有一个脚本,它复制.docx模板,用唯一的名称将其复制到不同的位置,修改它,然后保存它。偶尔,在保存时,我会遇到文件权限错误。这很奇怪,因为我会使用相同的输入,有时会出现错误,有时不会。这是我的代码:
File.Copy(Utilities.GetTemplateFilePath(), outputPath);
object path = outputPath;
object readOnly = false;
object o = System.Reflection.Missing.Value;
var document = word.Documents.Open(ref path, ref o, ref readOnly, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o);
PopulateField(document.Paragraphs, 19, "aValue");
while (true) {
try {
document.Save();
break;
}
catch {
System.Threading.Thread.Sleep(100);
}
}
var documentClose = (Microsoft.Office.Interop.Word._Document)document;
documentClose.Close();
另一个重要提示是,当这个问题发生时,我正在写的目录中有.tmp文件。你知道这里发生了什么吗?
错误:由于文件权限错误,Word无法完成保存
(C:…''Document.docx)
您挂起是因为您没有处理COMInterop对象请在完成文档后尝试添加此代码。关闭()
System.Runtime.InteropServices.Marshal.ReleaseComObject( document );