用vba打开word模板并修改后保存

如题,如图。请问各位,如果要将excel表格(图1)中的数据1~7,逐行逐行的,写入word模板(图2),并且另存为以“数据1”为文件名的DOC文件。存入自己设定的目录。... 如题,如图。
请问各位,如果要将excel表格(图1)中的数据1~7,逐行逐行的,写入word模板(图2),
并且另存为以“数据1”为文件名的DOC文件。存入自己设定的目录。
图1中有“张三,李四,王五,赵一,钱二,孙三”,
那就应该生成“张三.doc,李四.doc,王五.doc,赵一.doc,钱二.doc,孙三.doc“
然后”张三.DOC“这个文件的内容就是”1000,2000,3000,4000,5000,6000“

请问各位 VBA 代码怎么写?
展开
 我来答
轮回岂无边关3
2015-10-23 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1100
采纳率:100%
帮助的人:308万
展开全部

1、打开Word文件的 VBA编辑器,快捷键 Alt+F11,右击【ThisDocument】-》 【插入模块】;

  用VBA代码设置Word自动保存的步骤

  2、双击刚才插入的【模块1】,添加如下代码:

  Sub 自动备份()

  Dim NewTime

  NewTime = Now + TimeValue(“00:05:10”)

  Dim myPath$, myName$

  myPath = ActiveDocument.Path

  myName = Left$(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)

  ChangeFileOpenDirectory myPath

  ActiveDocument.SaveAs FileName:=myName & “_temp.doc”, ReadOnlyRecommended:=True

  ActiveDocument.SaveAs FileName:=myName & “.doc”, ReadOnlyRecommended:=False

  Application.OnTime NewTime, “自动备份”

  CreateObject(“Wscript.shell”).popup “备份成功,备份文件名为:” & myName & “_temp.doc”, 2, “提示!2秒后自动关闭!”

  End Sub

  用VBA代码设置Word自动保存的步骤

  用VBA代码设置Word自动保存的步骤

  3、双击【ThisDocument】并在其中 添加如下代码:

  Private Sub Document_Open()

  Call 自动备份

  End Sub

  用VBA代码设置Word自动保存的步骤

  4、默认自动备份时间为5min,如要调整请修改【模块1】中一句代码:如图中红框所示:

  时间格式为:HH : mm : ss

  用VBA代码设置Word自动保存的步骤

  5、保存代码及文件,且关闭word并重新打开,重新打开点击【选项】-》 【启用此内容】,如图:

  用VBA代码设置Word自动保存的步骤

  6、默认备份文件名为:【原文件名_temp,Lee.doc】且为只读,提示对话框2s后自动关闭。备份效果显示如下:

博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼word文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景... 点击进入详情页
本回答由博思aippt提供
zl998100
2014-04-16 · TA获得超过730个赞
知道小有建树答主
回答量:1067
采纳率:50%
帮助的人:1047万
展开全部
Sub 输出到WORD()
Dim arr, sr$, i!
Set wd = CreateObject("word.application")
wd.Visible = True

For i = 2 To [a65536].End(3).Row

Set doc = wd.Documents.Add
 arr = Range(Cells(i, 2), Cells(i, 7))
 sr = Join(Application.Transpose(Application.Transpose(arr)), ",")
 wd.Selection.TypeText sr   '写入
doc.SaveAs ThisWorkbook.Path & "\" & Cells(i, 1).Value & ".doc"
doc.Close True
Next
wd.Quit
Set wd = Nothing
Set doc = Nothing
End Sub
更多追问追答
追问
感谢zl998100 的回答

但是运行到STEP 6

就走不下去了,表达式太复杂。。。?这是什么意思?

另外,我的word模板并不是只有简单的7行,所以我是希望“输出数据1,输出数据2,输出数据3。。。” 相当于变量的功能。 类似于查找替换里面的“替换”。
追答
我远程看看 191180776

我这边测试过没问题的, 而且行数我用的就是变量, 有几行就会生成几个表的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式