|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 ugyun 于 2013-6-15 18:26 编辑
各位老师:
下面这段代码是将原工作薄中的“制单”表单独另存为一个新的工作薄,希望另存后的表中无代码、无控件,但下面的“ActiveSheet.DrawingObjects.Delete ”没起到作用,原表中的listbox和textbox仍保留在新工作薄中(VBA代码删除成功了)
- Sub daochu()
- Dim BF
- BF = MsgBox(" 制单导出必须信任“Visual Basic项目”的访问,否则导出数据时可能会提示:“不信任到Visual Basic Project的程序连接”的提示。" & Chr(13) & Chr(13) & " 解决方法:请先退出系统,再打开一个新的excel,在工具-宏-安全性-“可靠发行商”选项卡下勾选“信任对于‘Visual Basic项目’的访问”即可。" & Chr(13) & Chr(13) & " 确定要导出所有制单吗?", 289, "系统信息")
- If BF = 1 Then
- fileSaveName = Application.GetSaveAsFilename("批量制单导出" & Format(Now, "YYYY-MM-DD-HHmmSS"), filefilter:="Microsoft Office Excel 工作薄 (*.xls), *.xls", Title:="数据导出>>>请选择路径并命名")
- If fileSaveName <> False Then
- With Sheets("制单")
- Sheets("制单").Visible = True
- Sheets("制单").Activate
- ActiveSheet.Copy
- End With
-
- Set vc = ActiveWorkbook.VBProject.VBComponents("Sheet1").CodeModule '另存前删除“制单”中的代码
- X = vc.CountOfLines
- For I = X To 1 Step -1
- vc.DeleteLines I
- ActiveSheet.DrawingObjects.Delete '另存前删除“制单”中的控件
- Next
-
- ActiveWorkbook.Close SaveChanges:=True, Filename:=fileSaveName
- MsgBox "所有制单已成功导出到指定目录下!" & Chr(13) & Chr(13) & "数据文件名为:" & fileSaveName, 64, "批量制单导出"
- Sheets("制单").Select
- Exit Sub
- Else
- MsgBox "您未选择导出制单路径,导出中止!", 64, "制单导出"
- End If
- Else
- MsgBox "您已取消了制单导出!", 64, "系统信息"
- End If
- End Sub
复制代码
|
|