VB6-文件打印小工具

VB6-文件打印小工具。

Notes: 虽然说VB是一个古老的语言,有的人觉得早都应该淘汰了,但是个人觉得偶尔用来做一些便于工作的小工具还是很方便的,毕竟只需要一些大学计算机通用的二级基础知识就可以。

懒人目录

  1. 小工具的小目标
  2. 窗体结构
  3. Login.frm
  4. 简报.frm
  5. 简报示例.frm
  6. 文件.frm
  7. 文件示例.frm
  8. 文件预览.frm
  9. 信息.frm
  10. about.frm
  11. 引用
  12. 部件
  13. 文件资源管理器
  14. 打包发布
  15. 问题

小工具的小目标

为了便于制作好的模板生成打印文件稿纸和一些信息的审查表。

窗体结构

├──文件打印系统V1.0
│  ├──Login.frm				//用于登陆使用
│  ├──简报.frm				//用于填写简报的相关信息
│  ├──简报示例.frm			//用于显示填写示范
│  ├──文件.frm				//用于填写文件稿纸的相关信息
│  ├──文件示例.frm			//用于显示填写示范
│  ├──文件预览.frm			//用于打印前放入文件稿纸的提示
│  ├──about.frm				//软件关于信息
│  ├──信息.frm				//关于文件号的提示信息
│  ├──资源管理器的相关文档
│     ├── 102				//文件稿纸的模板excel文件
└     └── 103				//简报的模板excel文件

Login.frm

alt

# file: 代码

Option Explicit
Public LoginSucceeded As Boolean

Private Sub Command1_Click()
  '检查正确的密码
    If txtPassword = "1" Then
        '将代码放在这里传递
        '成功到 calling 函数
        '设置全局变量时最容易的
        LoginSucceeded = True
        Unload Me
        简报.Show
    Else
        MsgBox "无效的授权码,请重试!", , "授权失败"
        txtPassword.SetFocus

    End If
End Sub

Private Sub Command4_Click()
  '检查正确的密码
    If txtPassword = "1" Then
        '将代码放在这里传递
        '成功到 calling 函数
        '设置全局变量时最容易的
        LoginSucceeded = True
        Unload Me
        文件.Show
    Else
        MsgBox "无效的授权码,请重试!", , "授权失败"
        txtPassword.SetFocus

    End If
End Sub

Private Sub Command5_Click()
    '设置全局变量为 false
    '不提示失败的登录
    LoginSucceeded = False
    Me.Hide
End Sub

简报.frm

alt

# file: 代码

Dim xlApp As Excel.Application	'声明excel对象
Dim xlBook As Excel.Workbook	'声明book对象
Dim xlSheet As Excel.Worksheet	'声明sheet对象

Private Sub Command1_Click()
	Unload Me	’关闭当前窗口
	Login.Show	'打开Login窗口
End Sub

Private Sub Command2_Click()
	Set xlApp = CreateObject("excel.application")	'设置打开excel
	xlApp.Visible = False	'设置excel不可见
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\简报.xls")	'程序目录下的简报.xls文件
    With xlApp.ActiveSheet	'开始对简报.xls文件的单元格赋值
        .Range("d2") = DTPicker2.Value	'向单元格赋值日期
        .Range("b9") = DTPicker2.Value	'向单元格赋值日期
        .Range("b4") = Text2.Text	'向单元格赋值简报标题
        .Range("b10") = Text2.Text	'向单元格赋值简报标题
    End With	'结束赋值

    'xlApp.ActiveSheet.PrintPreview	'显示打印预览未启用
    xlApp.ActiveSheet.PrintOut	'直接打印简报.xls
    xlApp.DisplayAlerts = False	'不显示关闭确认页面
    xlBook.Close True	'关闭excel
       ' xlBook.Save	'保存excel未启用
    'xlBook.Close savechanges = False	
   
    xlApp.Quit	'退出excel程序
    'xlApp.DisplayAlerts = False
    Set xlApp = Nothing	'释放excel
    Set xlBook = Nothing	'释放book
    Set xlSheet = Nothing	'释放sheet
End Sub

Private Sub Command3_Click()
	Text2.Text = ""	'赋值为空
End Sub

Private Sub 关于_Click()
	about.Show	'显示about
End Sub

Private Sub 示例_Click()
	简报示例.Show	'显示简报示例
	Me.Left = 简报示例.Width	'将简报窗口置于简报示例窗口右边
End Sub

简报示例.frm

alt

# file: 代码
'使用了工具=>菜单编辑器
Private Sub Form_Load()
	Me.Left = 0	'窗体启动时居屏幕左边
End Sub

文件.frm

alt

# file: 代码

Private Sub Command1_Click()
	Unload Me	'关闭文件窗口
	Login.Show	'显示login窗口
End Sub

Private Sub Command2_Click()
	文件预览.Show	'显示文件预览窗口
End Sub

Private Sub Command3_Click()	'将日期设置为当前日期
	Combo5.Text = Year(Date)
	Combo6.Text = Month(Date)
	Combo7.Text = Day(Date)
End Sub

Private Sub Command4_Click()	'赋值为空
	Text1.Text = ""
	Text2.Text = ""
	Text3.Text = ""
	Text4.Text = ""
End Sub

Private Sub Label2_Click()
	信息.Show	'显示信息窗口
End Sub

Private Sub 关于_Click()
	about.Show	'显示about窗口
End Sub

Private Sub 示例_Click()
	文件示例.Show	'显示文件示例窗口
	Me.Left = 文件示例.Width	'将本窗口放在文件示例窗口右边
End Sub

文件示例.frm

alt

# file: 代码
'使用了工具=>菜单编辑器
	Private Sub Form_Load()
	Me.Left = 0	'窗体启动时居屏幕左边
End Sub

文件预览.frm

alt

# file: 代码
'以下注释同简报.frm
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Private Sub Command2_Click()
    Unload Me
    Set xlApp = CreateObject("excel.application")
    xlApp.Visible = False
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\文件.xls")
    With xlApp.ActiveSheet
        .Range("ae7") = 文件.Combo1.Text
        .Range("ah7") = 文件.Combo2.Text
        .Range("ab14") = 文件.Combo3.Text
        .Range("aa18") = 文件.Combo4.Text
        .Range("aa22") = 文件.Combo5.Text
        .Range("ad22") = 文件.Combo6.Text
        .Range("ag22") = 文件.Combo7.Text
        .Range("f26") = 文件.Text2.Text
        .Range("z28") = 文件.Text3.Text
        .Range("e40") = 文件.Text4.Text
        .Range("ae51") = 文件.Text1.Text
    End With
    
    'xlApp.ActiveSheet.PrintPreview
    xlApp.ActiveSheet.PrintOut
    xlApp.DisplayAlerts = False
    xlBook.Close True
    'xlBook.Close savechanges = False
       
    xlApp.Quit
    'xlApp.DisplayAlerts = False
    Set xlApp = Nothing
    Set xlBook = Nothing
    Set xlSheet = Nothing   
End Sub

信息.frm

alt

# file: 代码

Private Sub Command1_Click()
	Unload Me	'关闭当前窗口
	文件.Show	'显示文件窗口
End Sub

about.frm

alt

# file: 代码
'使用了工具=>菜单编辑器
'使用vb内置关于窗体

引用

# file: 工程=>引用

'Microsoft Excel 11.0 Object Library

部件

# file: 工程=>部件

'Microsoft Windows Common Controls-2 6.0

文件资源管理器

将文件.xls和简报.xls两个模板文件放在资源管理中,

# file: 外接程序=>外接程序管理器=>VB6资源管理器=>加载/卸载

├──文件资源管理器
  ├──CUSTOM
     ├── 102				'文件稿纸的模板excel文件
     └── 103				'简报的模板excel文件

打包发布

  • 1.VB6==生成exe文件;
  • 2.Package&Deployment向导==发布;
  • 3.setup factor==打包,将”Package & Deployment 向导”生成的dll等文件加入,设置exe文件快捷方式。构建发布。

问题

  • 对于部分部件的list手工录入,没有数据库予以管理。
  • 因为包含了一些内部人员信息,所以加入了登陆窗口,同时不提供软件下载。

本站基于Github+Jekyll+Hydejack

Powered by Hydejack v8.4.0