C#我是用微软自带的库操作打开的word和excel模板,如果此文档打开,那么会报此文档已锁定,导致程序打不开。如何解决文档再打开的情况下,进行操作,会报文档锁定,必须要关闭,程序才能跑下去。
G_WordApplication =//创建Word应用程序对象
new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document P_Document = null;
//object P_FilePath = G_OpenFileDialog.FileName;//创建Object对象
可以指定以ReadOnly 只读打开
当然你要操作文档,只读不行。上次的问题也是你问的把,我们能保证意外退出关闭word
但是结合你现在的问题,我认为你上次那问题只是其中之一,你现在问的内涵意思是不只退出问题,你还想并行执行
那么我们说既然是模板,你为啥需要加载相同路径呢?我们大可以每次操作时把模板copy到temp文件夹里(提示:syste.io.path.gettempfile)这样你每个任务打开的都是不同路径的文件(但内容相同),这样也就不存在什么并行操作问题
另外提示:office本身是支持共享模板的,不过文件名是比如word的模板是 dotx,而加载模板也不是直接open
而是Documents.Add(@"D:\Fdsfsdsfsdfds.dotx");
这个好像做不到的,微软自带的库操作打开的word和excel,其实都是会调用office的接口然后才打开的,如果本机已经用office 打开这个文档,就无法用程序操作该文档了。