即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿。下面是关键代码:
'======================================================================
'各班名单保存为单个xls文件
ActiveSheet.Move
ChDir myPath
'忽略对话框,覆盖保存
Application.DisplayAlerts = False '班级名称增加“考生号处理”vba模块
Dim iCodeLines As Integer
Dim sCode As String
iCodeLines = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.CountOfLines '取得模块中代码行数
sCode = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.Lines(, iCodeLines) '取得第1至iCodeLines行代码 ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "各班考号处理" '新文件中添加“各班考号处理”模块
ActiveWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.AddFromString sCode '把thisworkbook的“各班考号处理”模块代码添加到activeworkbook的模块中
ActiveWorkbook.SaveAs Filename:=myPath & "\2017级" & dickey & classTeacher & ".xls", FileFormat:=xlExcel8 '文件另存为2003版(xlExcel8)xls文件 ActiveWindow.Close
即将下图中的“各班考号处理”模块拷贝至新工作簿