编者按:
今后,我们一起提高工作效率,高效完成工作任务。
视频加载中...需求概览
我们需要把excel对应的矩阵数据写入word表。
思路分析
- 窗体设计。窗体上放置三个控件,即文本框、文件选择按钮、文件执行按钮,文本框用于存放文件选择返回路径,文件选择按钮用于选择文件,文件执行按钮用于启动程序。
- 代码设计。excel数据读入数组,利用循环语句把数组数据写入word表。
- 调试运行。点击按钮,启动程序,比对目标效果和实际效果进行微调。
窗体设计
选择文件按钮设计
执行按钮设计
文件路径返回文本框设计
excel模块设计
声明excel公有对象
Public eap As Object excel //声明excel主程序
Public ebk As Object //声明excel工作簿
Public est As Object //声明excel工作表
Public column, row As Integer //声明excel已用区域行列值
创建启动excel过程
Sub excel_app()
eap = CreateObject("excel.application") //创建主程序
eap.visible = True //可见度为100%
创建打开excel过程
Sub excel_ebk(ByVal path)
ebk = eap.workbooks.open(path) //打开工作簿
创建获取excel已用区域行列值函数
Function excel_get_usedrange(ByRef column As Object, ByRef row As Object) //ByRef直传内存地址
est = ebk.worksheets(1).usedrange //记录工作表已用区域内存地址
column = est.columns.count //记录已用区域列值
row = est.rows.count //记录已用区域行值
Return 0 //不返回值
创建终止excel过程
Sub excel_quit()
ebk.close() //工作簿关闭
eap.quit() //主程序退出
ebk = Nothing //清理工作簿内存
eap = Nothing //清理主程序内存
word模块设计
声明word公有对象
Public wap As Object //声明word主程序
Public wdc As Object //声明word文档
创建启动word程序
Sub word_app()
wap = CreateObject("word.application") //创建主程序
wap.visible = True //可见度100%
创建新增word文档过程
Sub word_doc_add()
wdc = wap.documents.add() //新增word文档
wdc.paragraphs.add() //新增段落
创建新增表格过程
Sub word_table_add(ByVal a, ByVal b, ByVal c)
wdc.tables.add(a, b, c) //新增(表格区域,行值,列值)
创建写入表格过程
Sub word_table_write()
Dim i, j As Integer //定义局部变量i,j
Dim arr(,) As Object = est.value //定义动态数组赋予excel已用区域
For i = 1 To UBound(arr, 1) //行循环
For j = 1 To UBound(arr, 2) //列循环
wdc.tables(1).cell(i, j).Range.Text = arr(i, j) //数组写入word
创建表格美化过程
Sub word_table_format()
With wdc.tables(1) //with语句简化代码
.Borders.InsideLineStyle() = 1 //内表格线=>实线
.Borders.OutsideLineStyle = 1 //外表格线=>实线
wdc.tables(1).Rows(1).Range.Font.Name = "黑体" //表行改为黑体
With wdc.paragraphs(1).range
.ParagraphFormat.Alignment = 1 //居中对齐
.font.name = "黑体" //字体改为黑体
创建标题写入过程
Sub word_table_title()
With wdc.paragraphs(1).range
.text = ebk.worksheets(1).name //标题赋予excel标签名称
窗体模块设计
引用命名空间
Imports winform = System.Windows.Forms //引用winform空间
Imports path = System.IO.Path //引用path空间
创建获取文件路径函数
Function getfile_path()
Dim dialog As Object = New winform.OpenFileDialog() //完成打开文件对话框对象初始化
dialog.showdialog() //显示对话框
Dim path_file = path.GetFullPath(dialog.FileName) //获取全路径
Return path_file //返回全路径
事件设计
通过调用过程实现最终效果
excel_app() >>>启动excel
excel_ebk(Me.TextBox1.Text) >>>打开excel
excel_get_usedrange(column, row) >>>获取表格列、行数
word_app() >>>启动word
word_doc_add() >>>新增word文档
word_table_add(wdc.paragraphs(3).range, row, column) >>>绘制表格
word_table_write() >>>数组写入表格
word_table_title() >>>新增表头
word_table_format() >>>格式化表格
excel_quit() >>>终止excel程序
Me.TextBox1.Text = getfile_path() >>>获取文件路径
以上就是分享的全部内容,期待后续更新!