编者按:

今后,我们一起提高工作效率,高效完成工作任务。

视频加载中...

需求概览

我们需要把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() >>>获取文件路径

以上就是分享的全部内容,期待后续更新!