以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码找bug  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=70212)

--  作者:yongxuanchen
--  发布时间:2015/6/17 12:50:00
--  代码找bug

你好,当使用了以下代码进行文件加密时,目的是实现了,但是,当打开了一次word文档后,当需要再次输出报表时,弹出临时只读对话框。

请问一下,是不是代码中生成一次后没有将模板删除,在第二次读入的时候就提示临时只读文件了,麻烦看看代码有没有需要完善的地方

 

Dim tm As String  = ProjectPath & "Attachments\\电梯自检报告及安装质量证明书.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\电梯自检报告及安装质量证明书.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("电梯信息表"),tm,fl) \'定义一个WordReport
wrt.Build() \'生成报表
\'wrt.Show() \'显示报表
wrt.quit
Dim app As New MSWord.Application
try
    Dim fileName = fl
    Dim doc = app.Documents.Open(fileName)
    doc.Protect (Password:="123456", NoReset:=False, Type:= _
    MsWord.WdProtectionType.wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False)
    app.Documents.save
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
 End try
Dim Proc As New Process
Proc.File =  fl
Proc.Start()


--  作者:大红袍
--  发布时间:2015/6/17 14:16:00
--  
 代码没有问题,你去看你的任务管理器,把所有的winword进程杀死
--  作者:yongxuanchen
--  发布时间:2015/6/17 14:39:00
--  管理器

   在任务管理器中会发现有没有关的winword,我在打开其他没加密的word文件时不会提示错误,就是在加密时出现这个问题,是不是加密后word文件变成

只读,然后需要打开他时有错误?实在搞不懂


--  作者:大红袍
--  发布时间:2015/6/17 14:41:00
--  
 代码没有问题。