用宏代码可以实现,把模板路径替换进去,直接运行就可以得到复制结果
Sub 批量复制()
Dim 模板路径, 模板扩展名, 文件路径
模板路径 = "D:\1.xls"
模板扩展名 = "." & Split(Right(模板路径, 5), ".")(1)
Workbooks.Open 模板路径
文件路径 = ActiveWorkbook.Path & "\"
Dim fi As Long
模板路径 = Replace(模板路径, "X", "x")
模板路径 = Replace(模板路径, "L", "l")
模板路径 = Replace(模板路径, "S", "s")
For fi = 1 To 100
Application.DisplayAlerts = False
If 模板路径 = ".xls" Then
ActiveWorkbook.SaveAs Filename:=文件路径 & fi & 模板扩展名, FileFormat:=xlExcel8
Else
ActiveWorkbook.SaveAs Filename:=文件路径 & fi & 模板扩展名
End If
Application.DisplayAlerts = True
Next: fi = 0
End Sub
假设你的模板文件名字为:"模板.xls;"
可以按照如下步骤操作:
复制如下代码:
@echo off
for /l %%I in (1,1,100) do (copy 模板.xls %%I.xls)
echo 已经复制完成100份
pause
在模板目录下,新建一个txt文件,将以上代码拷贝到文件内,并将txt文件保存并重命名为: "复制100份.bat"。
双击:“复制100份.bat”
然后关闭cmd命令窗口。
你就可以看到100个文件已经生成。
【1】打开模板,在表格下方有个表名称“sheet1"(如没改过名一般默认是这个名),双击”sheet1"改名为“1”。
【2】按住“ctrl”键,右手鼠标左键按住“1”表往右一拉,就会生成“1(2)”这个表名,如此类推可以生成100个与模板相同的表格。
EXCEL自动生成100个与模板相同的文件,这个就跟另存为方法一样,可以使用VBA编程来完成。
介绍个简单点的,但是中途生成后出错了的话,需要删除后重新运行。
1、打开你的模板文件,按Alt+F11组合键进入VBA编程界面,单击“插入”菜单--“模块”;
2、在模块中输入代码:
sub auto()
dim i,fpath
fpath=“E:\”
for i=1 to 100
thisworkbook.savecopyas fpath & i & “.xls”
next i
end sub
其中fpath等于的是自己设定的文件保存位置,这个可以自己修改。
在模板EXCEL中运行以下代码,在模板的相同文件夹下生成文件
Sub newbooks()
Dim i&, p$, temp$
On Error Resume Next
p = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
ActiveWorkbook.Copy
For i = 1 To 100
temp = i & ".xls"
ActiveWorkbook.SaveAs Filename:=p & temp, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Next
'ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub