立即注册 登录
度量快速开发平台-专业、快速的软件定制快开平台 返回首页

万望的个人空间 http://p.delit.cn/?8 [收藏] [复制] [RSS]

日志

word批量显示和打印文档

热度 1已有 1309 次阅读2018-6-28 17:20 |个人分类:office部件|系统分类:Office部件| 多条查询, word显示, 批量打印

Word文档批量查看:

应用场景
         在日常工作中,文档打印是必不可少的,有时需要打印上百份甚至更多的文档,这些文档的模板一样,
只是数据不同,一份份手工打印必然增大我们的工作量,为了解决这一问题,我们通过快速开发平台构建
了批量打印功能,您只需要勾选需要打印的条数,再点一下批量打印按钮就可以悠闲的等待打印完成。
 
首先在订单管理列表中勾选多条数据。
使用网格部件1. GetMarkedDataRows()方法获取数据集,然后用智能窗体的input属性将数据集传入另一个窗体。
 
订单查看功能代码事例:
if 网格部件1.DataTable.Rows.Count>0 then
         '获取勾选的数据集
         dim rows=网格部件1.GetMarkedDataRows()
         '判断是否勾选
         if rows.Count>0 then
            '打开智能窗体,窗体位置: 有机原料管理系统\订单管理\*红粮种植产销合同*
            dim form1 = 创建窗体("d01671be-e497-4ae9-b162-7dd0eebc1203")
            form1.Input1="勾选条"
            '通过窗体的input属性传入已勾选的数据集
            form1.Input2= rows
            form1.ShowDialog()
         else
            ShowMessage("请勾选要查看的种植订单!",2)
         end if
        
end if
 
打开查看窗体的事件管理,设置加载事件:
 
加载事件代码事例:
'定义变量
dim rows=""
dim row
dim dt_count=0
dim cur_count=0
dim yifang=""
 
'获取传入的数据集
rows=Me.Input2
'获取数据集行数
dt_count=rows.Count
if dt_count>0 then
         '刷新word
   Office1.RefreshData()
   '获取一行数据
   row=rows[0]
  
   if isnull(row["组"]) then
   '设置字段乙方显示信息
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") + "____组" + row["户名"]
   else
    '设置字段乙方显示信息
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") & row["组"] & row["户名"]
         end if
         '设置word文档编辑类型为允许编辑
   Office1.EditType = "1,0"
   '设置word书签值
   Office1.SetBookMarkValue("乙方一",yifang)
   Office1.SetBookMarkValue("乡镇一",row["乡镇"])
   Office1.SetBookMarkValue("乡镇二",row["乡镇"])
   Office1.SetBookMarkValue("产量大写",replace(ConvertRMB((row["生产任务"])*2),"元",""))
   Office1.SetBookMarkValue("产量小写",(row["生产任务"])*2)
   Office1.SetBookMarkValue("单价",(row["单价"])/2  )
   Office1.SetBookMarkValue("户名一",row["户名"])
   Office1.SetBookMarkValue("收储站",row["收储站"])
   Office1.SetBookMarkValue("村一",replace(row["村"],row["乡镇"] ,""))
   Office1.SetBookMarkValue("组一",row["组"])
   Office1.SetBookMarkValue("编号一",row["订单编号"])
   Office1.SetBookMarkValue("编号二",row["订单编号"])
   Office1.SetBookMarkValue("订单数量",(row["生产任务"])*2 )
   Office1.SetBookMarkValue("订单面积",row["种植面积"])
   '设置word文档编辑类型为不可编辑
   Office1.EditType = "4,0"
end if
 
显示效果:
 

上一条订单:

知识点:
 
可以编辑,不可批注
Office1.EditType = "1,0"
word模板的书签插入值
Office1.SetBookMarkValue("[书签名]",[值])
可编辑,不可批注
Office1.EditType = "4,0"
获取第cur_count行的dataRow
row=rows[cur_count]
 
上一条订单代码事例:
if cur_count > 0  then
   cur_count=cur_count-1
  
   row=rows[cur_count]
  
   if isnull(row["组"]) then
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") + "____组" + row["户名"]
   else
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") & row["组"] & row["户名"]
   end if
   Office1.EditType = "1,0"
   Office1.SetBookMarkValue("乙方一",yifang)
   Office1.SetBookMarkValue("乡镇一",row["乡镇"])
   Office1.SetBookMarkValue("乡镇二",row["乡镇"])
   Office1.SetBookMarkValue("产量大写",replace(ConvertRMB((row["生产任务"])*2),"元",""))
   Office1.SetBookMarkValue("产量小写",(row["生产任务"])*2)
   Office1.SetBookMarkValue("单价",(row["单价"])/2  )
   Office1.SetBookMarkValue("户名一",row["户名"])
   Office1.SetBookMarkValue("收储站",row["收储站"])
   Office1.SetBookMarkValue("村一",replace(row["村"],row["乡镇"] ,""))
   Office1.SetBookMarkValue("组一",row["组"])
   Office1.SetBookMarkValue("编号一",row["订单编号"])
   Office1.SetBookMarkValue("编号二",row["订单编号"])
   Office1.SetBookMarkValue("订单数量",(row["生产任务"])*2 )
   Office1.SetBookMarkValue("订单面积",row["种植面积"])
   Office1.EditType = "4,0"
else
  ShowMessage("已经是第一条订单!")
end if
 
显示效果:
 

下一条订单:

知识点:
 
可以编辑,不可批注
Office1.EditType = "1,0"
word模板的书签插入值
Office1.SetBookMarkValue("[书签名]",[值])
可编辑,不可批注
Office1.EditType = "4,0"
获取第cur_count行的dataRow
row=rows[cur_count]
 
下一条订单代码事例:
if cur_count < dt_count - 1  then
         '获取下一条的INDEX
   cur_count=cur_count+1
   '获取下一条的dataRow
   row=rows[cur_count]
  
   if isnull(row["组"]) then
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") + "____组" + row["户名"]
   else
     yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") & row["组"] & row["户名"]
   end if
   Office1.EditType = "1,0"
   Office1.SetBookMarkValue("乙方一",yifang)
   Office1.SetBookMarkValue("乡镇一",row["乡镇"])
   Office1.SetBookMarkValue("乡镇二",row["乡镇"])
   Office1.SetBookMarkValue("产量大写",replace(ConvertRMB((row["生产任务"])*2),"元",""))
   Office1.SetBookMarkValue("产量小写",(row["生产任务"])*2)
   Office1.SetBookMarkValue("单价",(row["单价"])/2  )
   Office1.SetBookMarkValue("户名一",row["户名"])
   Office1.SetBookMarkValue("收储站",row["收储站"])
   Office1.SetBookMarkValue("村一",replace(row["村"],row["乡镇"] ,""))
   Office1.SetBookMarkValue("组一",row["组"])
   Office1.SetBookMarkValue("编号一",row["订单编号"])
   Office1.SetBookMarkValue("编号二",row["订单编号"])
   Office1.SetBookMarkValue("订单数量",(row["生产任务"])*2 )
   Office1.SetBookMarkValue("订单面积",row["种植面积"])
   Office1.EditType = "4,0"
else
  ShowMessage("当前已经是最后一条订单!")
end if
 
显示效果:
 
打印:
Office1.Print()
 

批量打印

知识点:
定义文件名
fileName="d:\aaa\"
组合定义文档名称
fileName=fileName+cstr(i)+".doc"
保存本地文件
Office1.SaveLocalFile(fileName) 
'打印文档
printFile(filename)
 
 
批量打印代码事例:
dim files=""
dim fileName
if  ShowQuestion("当前共计 "&dt_count&" 条农户种植订单,确定全部打印吗?") then
showmessage("正在执行批量打印,请勿进行其它操作。")
设置word允许编辑
  Office1.EditType = "1,0"
   for i= 0  to dt_count-1
            row=rows[i]
            fileName="d:\aaa\"
            if isnull(row["组"]) then
              yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") + "____" + row["户名"]
            else
              yifang=row["乡镇"]+ replace(row["村"],row["乡镇"] ,"") & row["组"] & row["户名"]
            end if
            Office1.SetBookMarkValue("乙方一",yifang)
            Office1.SetBookMarkValue("乡镇一",row["乡镇"])
            Office1.SetBookMarkValue("乡镇二",row["乡镇"])
            Office1.SetBookMarkValue("产量大写",replace(ConvertRMB((row["生产任务"])*2),"",""))
            Office1.SetBookMarkValue("产量小写",(row["生产任务"])*2)
            Office1.SetBookMarkValue("单价",(row["单价"])/2  )
            Office1.SetBookMarkValue("户名一",row["户名"])
            Office1.SetBookMarkValue("收储站",row["收储站"])
            Office1.SetBookMarkValue("村一",replace(row["村"],row["乡镇"] ,""))
            Office1.SetBookMarkValue("组一",row["组"])
            Office1.SetBookMarkValue("编号一",row["订单编号"])
            Office1.SetBookMarkValue("编号二",row["订单编号"])
            Office1.SetBookMarkValue("订单数量",(row["生产任务"])*2 )
            Office1.SetBookMarkValue("订单面积",row["种植面积"])
                   '指定文件名
                   fileName=fileName+cstr(i)+".doc"
           Office1.SaveLocalFile(fileName) 
           '打印文档
           printFile(filename)
   next
showmessage("打印完成。",1)
msgbox("批量打印结束。")
end if
1

路过

鸡蛋

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2018-10-23 06:58 , Processed in 0.159514 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部