用vba打开word模板并修改后保存
请问各位,如果要将excel表格(图1)中的数据1~7,逐行逐行的,写入word模板(图2),
并且另存为以“数据1”为文件名的DOC文件。存入自己设定的目录。
图1中有“张三,李四,王五,赵一,钱二,孙三”,
那就应该生成“张三.doc,李四.doc,王五.doc,赵一.doc,钱二.doc,孙三.doc“
然后”张三.DOC“这个文件的内容就是”1000,2000,3000,4000,5000,6000“
请问各位 VBA 代码怎么写? 展开
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后自动关闭。备份效果显示如下:
2024-07-20 广告
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
我这边测试过没问题的, 而且行数我用的就是变量, 有几行就会生成几个表的
广告 您可能关注的内容 |