VBA实现不同模板WORD表格内容的批量转移

本文介绍如何使用VBA实现不同模板Word表格内容的批量转移。通过设计界面选择源文件、模板和目标路径,利用VBA代码自动完成转换,解决了手动操作慢的问题。虽然代码能成功转移数据,但存在模板依赖、乱码问题和格式设置不足等挑战。
摘要由CSDN通过智能技术生成

一、需求分析

随着电子化教案的普及,要求统一按照一个模板进行电子化教案的制作。
电子化教案是Word表格。如果之前已经做过别的模板的Word表格,
只是Word表格中各个单元格的位置与指定模板不同,
每次手动复制粘贴再调格式太慢了。
如何用VBA实现自动的内容转移呢?

既存的word内容

在这里插入图片描述
指定的word模板
在这里插入图片描述

二、实现思路构思

指定Word模板一个,既存的Word表格多个,
如何让这多个Word表格都按照模板自动作成模板样式的多个Word并生成到指定路径下呢?

序号 步骤
第一步 逐一打开既存Word表格
第二步 每打开一次既存的Word表格,把模板复制到指定目录一次,并改名为课题名
第三步 逐一读取既存Word表格指定单元格下的值,赋值给变量
第四步 打开改名后的Word模板,把变量值赋值到指定的位置
第五步 上述步骤每次赋值结束随时关闭该Word

三、设计界面

在这里插入图片描述

四、三个文本框的作用

第一个文本框选择既存Word表格所在的文件夹。1
第二个文本框选择指定模板的Word文件。
第三个文本框选择希望内容转移后出力的路径。

五、关键控件命名以及重要属性2

三个文本框依次是:
Ipath
MfileVal
Opath
它们的enabled属性都是false,让它们只能选择,不能输入
三个选择按钮命名依次是:
OpenIfolder
OpenMfile
OpenOfolder
实行按钮【Run】的命名是:
BtnRun
关闭按钮【Close】的命名是:
BtnClose

六、代码展示

Option Explicit
Option Base 1
'revision history
'2021/04/12 li xiaotuo first version
'-----------------------------------------------------------------------------------------------------------------------

Private Sub OpenIfolder_Click()
  Dim lc_Ifolder As Variant
     
  Ipath.BackColor = vbWhite
  
  lc_Ifolder = GetFolderName(msoFileDialogFolderPicker)
  
  Select Case VarType(lc_Ifolder)
    Case vbBoolean
    'do nothing
    Case vbString
       Ipath.Text = lc_Ifolder
    Case Else
       Ipath.Text = ""
 End Select
 
End Sub

Private Sub OpenMfile_Click()
Dim lc_Mfile As Variant
  
  MfileVal.BackColor = vbWhite
  
  lc_Mfile = Application.GetOpenFilename(FileFilter:="Word,*.doc*", FilterIndex:=1, Title:="Open File", MultiSelect:=False)
  
  If lc_Mfile = False Then
    Unload Me
  Else
    Select Case VarType(lc_Mfile)
        Case
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值