以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  报表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69579)

--  作者:ayiken
--  发布时间:2015/6/7 17:42:00
--  报表问题
word报表生成以后,只能查看,打印,不能无任何编辑的代码怎么写?
--  作者:大红袍
--  发布时间:2015/6/7 17:46:00
--  

Dim app As New MSWord.Application
try
    Dim fileName = "d:\\test.doc"
    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


--  作者:ayiken
--  发布时间:2015/6/7 18:01:00
--  
以上代码写到哪一个事件中?

另一个问题:

需要Word模板中打印子表的信息。制作模板时要指定行数5,我的子表信息有时少于5条,有时超出5条,不是固定的,请问怎么处理?



--  作者:大红袍
--  发布时间:2015/6/7 18:12:00
--  

1、http://www.foxtable.com/help/topics/2890.htm

 

2、word报表不能处理多行子表的问题,除非你用excel报表。

 


--  作者:ayiken
--  发布时间:2015/6/7 22:18:00
--  
我真笨,所以问
Dim app As New MSWord.Application
try
    Dim fileName = "d:\\test.doc"
    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
这段代码写到哪里??

--  作者:ayiken
--  发布时间:2015/6/7 22:21:00
--  
知道了
--  作者:ayiken
--  发布时间:2015/6/7 22:28:00
--  
又出错了
我把上面代码写在”打印“控件中,然后改成如下:
Dim app As New MSWord.Application
try
    Dim fileName = "Attachments\\病程记录.doc"
    Dim doc = app.Documents.Open(病程记录.doc)
    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
结果出错了

--  作者:ayiken
--  发布时间:2015/6/7 22:33:00
--  
我使用原来使用的代码是
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() \'显示报表

这段代码虽然能正确打开word报表,但是word报表可编辑,我想的是可以查看,打印,不能编辑的代码

--  作者:大红袍
--  发布时间:2015/6/7 22:36:00
--  

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.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
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
   
End try