高分求助满足下列要求的Excel宏命令编辑

[来源:网民提供 | 浏览:5098520 | 收藏这网页]

生活小百科网:1:打开该Excel文件后能自动运行
2:设置该Excel文件宏的安全性为中
3:在C盘根目录建立Tomming文件夹
4:复制“\\server\production aug\production_*.xls" 到 "C:\Tomming"文件夹,production_*.xls只有一个,因为production_*.xls的*部分经常变化
5:将复制后的该文件改名为production.xls
6:因为\\server\服务器复制文件比较慢,所以整个命令运行有一定的时间,这个宏最好能显示该命令的处理进度
7:最好做成宏文件,以便我可以直接插入文件


条件2如果无法满足可忽略,条件6需要满足,因为我要复制的不止那一个文件,没有进度指示的话不知道什么时候算结束,如果实在没办法满足6也可以忽略。

高手出马,高分献上!!
补充条件:该表有其他数据连接,要求该文件运行后自动更新,不用手动选择。

要求采用某种方式使该宏能够运行,否则有宏也形同虚设这里专家的回答会让您满意

尝试回答LZ的问题,首先打开EXECL,打开"工具"->"宏"->"Visual Basic 编辑器",将下面代码直接粘贴在EXECL中的"ThisWorkbook"中。
可以实现LZ要求的1、3、4、5及自动运行的功能。

对于要求2的代码,偶不会,想通过录制宏得到代码,也未能实现。
想显示进度的要求6也很难,主要是文件系统对象的fs.CopyFile方法,在完成拷贝一个文件后,无法得到一个可以表示进度的标志。
要求7,偶是没看明白,还请LZ示下。
另外,在重命名文件时,对于唯一的目标文件名,源文件也只能是唯一,是不可能支持通配符的,而LZ说要复制的不止那一个文件。


以下代码仅供参考:
Private Sub Workbook_Open()

Set fs = CreateObject("Scripting.FileSystemObject") ' 声明文件系统对象

If Not fs.FolderExists("C:\Tomming") Then ' 判断目录是否存在
MkDir "C:\Tomming" ' 建立新文件夹
End If

Dim SourceFile, DestinationFile
SourceFile = "\\server\production aug\production_*.xls" ' 指定源文件名
DestinationFile = "C:\Tomming" ' 指定目标文件夹

fs.CopyFile SourceFile, DestinationFile, True ' 将源文复制到目标文件夹

Name "C:\Tomming\production_1.xls" As "C:\Tomming\production.xls" '命令不支持*号,所以原文件名只能固定

End Sub

  • 如果您发现我们的文章侵犯了您的权利,请告诉我们.
  • 本站所选文章由网民提供,文章内容观点不代表本站立场.