Foxtable(狐表)用户栏目专家坐堂 → word vba 怎么无法打印出来文件呢?


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

主题:word vba 怎么无法打印出来文件呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
word vba 怎么无法打印出来文件呢?  发帖心情 Post By:2021/7/2 17:04:00 [只看该作者]

word vba 怎么无法打印出来文件呢?麻烦老师帮忙看看!

Dim dy As WinForm.ComboBox = e.Form.Controls("打印机")
Dim t3 As WinForm.TextBox = e.Form.Controls("单元格行")
Dim t4 As WinForm.TextBox = e.Form.Controls("单元格列")
Dim t5 As WinForm.TextBox = e.Form.Controls("文件目录")
Dim t6 As WinForm.TextBox = e.Form.Controls("单元格新值")
Dim t7 As WinForm.TextBox = e.Form.Controls("运行状态")
Dim js As WinForm.Label = e.Form.Controls("计数")
Dim wj As WinForm.ComboBox = e.Form.Controls("文件后缀")
Dim abc As Integer= 0
Dim dt = t7.BaseControl
Dim App As New MSWord.Application
If dy.text=""then
    MessageBox.Show("请选择打印机!")
Else
    If t5.value="" Then
        MessageBox.Show("请输入文件所在目录")
    Else
        For Each File As String In FileSys.GetFiles(t5.value)
            Dim ifo As new FileInfo(File)
            If ifo.Name.Contains("~$") Then
            Else
                If ifo.Extension.Contains(wj.text) Then
                    Dim doc As Object = app.Documents.Open(file)
                    app.ActiveWindow.Selection.WholeStory
                    doc.PrintOut(ActivePrinter:=dy.text)
                    abc=abc+1
                    App.Quit
                    js.Text= "已完成" & abc & "件/次!"
                    t7.Text= t7.Text & vbcrlf & "【" & ifo.Name & "】记录,已加入打印队列!"
                    t7.SelectionStart = t7.Text.Length
                    dt.ScrollToCaret
                    Application.DoEvents
                End If
            End If
            Dim sc As WinForm.RadioButton = e.Form.Controls("打印后是否删除文件")
            If sc.Checked=True
                If FileSys.FileExists(File) Then '如果指定的文件存在
                    FileSys.DeleteFile(File,2,2) '则彻底删除之
                End If
            End If
        Next
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/2 17:30:00 [只看该作者]

看不出什么问题,看看打印执行没有

msgbox(1)
doc.PrintOut(ActivePrinter:=dy.text)
msgbox(2)

如果执行了就是打印机和打印驱动的问题了

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)看不出什么问题,看看打印执行没有ms...  发帖心情 Post By:2021/7/2 17:42:00 [只看该作者]


msgbox(1)
doc.PrintOut(ActivePrinter:=dy.text)
msgbox(2)
两个都没有弹出来哦 也没有打印出来

是不是msword  vba代码没有使用对呢?

会报错:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
未找到类型“DocumentClass”的公共成员“PrintOut”。
[此贴子已经被作者于2021/7/2 18:27:49编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/3 8:53:00 [只看该作者]


Dim Ws As MSExcel.WorkSheet = 
doc.WorkSheets(1)
Ws.PrintOut(ActivePrinter:=dy.text)

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)http://www.foxtable.com/webhelp/to...  发帖心情 Post By:2021/7/3 10:38:00 [只看该作者]

怎么修改成msword呢?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/3 11:23:00 [只看该作者]

哦,看错了,试试

                 Dim doc As Object = app.Documents.Open(file)
                    app.ActiveWindow.Selection.WholeStory
doc.ActivePrinter = dy.text
                    doc.PrintOut

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)哦,看错了,试试    ...  发帖心情 Post By:2021/7/3 11:44:00 [只看该作者]

老师  现在是提示

未找到类型“DocumentClass”的公共成员“ActivePrinter”。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/3 12:04:00 [只看该作者]

app.ActivePrinter = dy.text

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)app.ActivePrinter = dy.text  发帖心情 Post By:2021/7/3 12:31:00 [只看该作者]

现在可以打印了  但是指定文件夹下 如果有多个word文件  只能正常打印一个  其他的就提示如下错误:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
异常来自 HRESULT:0x800A16C1

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
被呼叫方拒绝接收呼叫。 (异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED))

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/3 14:23:00 [只看该作者]

App.Quit放到最后一行

 回到顶部
总数 15 1 2 下一页