Foxtable(狐表)用户栏目专家坐堂 → 能不能利用代码给WORD报表加一个文档保护密码?


  共有4182人关注过本帖树形打印复制链接

主题:能不能利用代码给WORD报表加一个文档保护密码?

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/25 17:39:00 [只看该作者]

以下是引用wusim在2015/2/25 17:31:00的发言:
WORD报表打开后不见了原有的WORD系统菜单。

 

测试,没有问题的,一切正常。杀死进程,或者你重启电脑再试吧


 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:390 积分:3168 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/2/26 8:52:00 [只看该作者]

没有解决问题,单独打开已加密码的WORD报表没有问题,代码合起来在我的电脑就有问题(WORD2003).能不能这样分开处理,先生成WORD报表文件--〉给文件加文档保护密码(不要不显示报表)---〉再显示WORD报表

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 9:04:00 [只看该作者]

以下是引用wusim在2015/2/26 8:52:00的发言:
没有解决问题,单独打开已加密码的WORD报表没有问题,代码合起来在我的电脑就有问题(WORD2003).能不能这样分开处理,先生成WORD报表文件--〉给文件加文档保护密码(不要不显示报表)---〉再显示WORD报表

 

代码就是生成word,然后加入密码,然后显示啊。

 

代码我测试是没有任何问题的啊


 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:390 积分:3168 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/2/26 10:25:00 [只看该作者]

代码1:
Dim tm As String  = ProjectPath & "Attachments\A表.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\A表.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),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)
finally
    'app.Quit
End try

运行有问题。
代码2:
Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web.OfficeToolBar = True
web.Address = "E:\360云盘\狐表程序\wsm\管理项目1\Reports\A表.doc"
运行没有问题。 现在改到窗口显示WORD报表,怎样把两个代码结合来。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 10:27:00 [只看该作者]

Dim tm As String  = ProjectPath & "Attachments\A表.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\A表.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),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
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web.OfficeToolBar = True
web.Address = fl

[此贴子已经被作者于2015/2/26 10:27:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:390 积分:3168 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/2/26 10:34:00 [只看该作者]

已看过WORD没有驻留。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操作视频.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 10:36:00 [只看该作者]

 看15楼啊

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 10:40:00 [只看该作者]

如果还报错,这样写代码试试

 

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("winword")
For Each p As System.Diagnostics.Process In ps
    If p.MainWindowTitle = Nothing  Then
            p.kill       
    End If
Next

Dim tm As String  = ProjectPath & "Attachments\A表.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\A表.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),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
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web.OfficeToolBar = True
web.Address = fl


 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:390 积分:3168 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2015/2/26 10:46:00 [只看该作者]

Dim tm As String  = ProjectPath & "Attachments\A表.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\A表.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
wrt.Build() '生成报表
wrt.quit
Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web.OfficeToolBar = True
web.Address = fl
这个代码运行没有问题,就是加上加文档密码的代码就显示模板有问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操作视频1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 10:51:00 [只看该作者]

  不可能啊,测试没问题啊。看楼上的代码啊。

 回到顶部
总数 25 上一页 1 2 3 下一页