我使用此代码将文件夹中的所有文件压缩到新创建的.zip文件中:
Dim FileNameZip, FolderName
Dim filename As String, DefPath As String
Dim oApp As Object
(defining all paths needed)
'Create empty Zip File
NewZip (FileNameZip)
Set oApp = CreateObject("Shell.Application")
'Copy the files to the compressed folder
oApp.Namespace(FileNameZip).CopyHere oApp.Namespace(FolderName).items
'Keep script waiting until Compressing is done
On Error Resume Next
Do Until oApp.Namespace(FileNameZip).items.Count = oApp.Namespace(FolderName).items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
Run Code Online (Sandbox Code Playgroud)
只要我的目标文件夹与我的文件所在的文件夹不同,这就没有问题.
但是当我尝试从文件夹中取出所有文件,将它们放入并在同一文件夹中生成存档时,我遇到了问题 - 它创建了存档,然后尝试将其放入自身,这当然失败了..zip
我正在寻找一种方法来压缩文件夹中的所有文件,除了这个新创建的文件. …
这是我的测试代码
Sub dotask()
Dim qusub As String
qusub = Worksheets("Task List").Range("C2").Value
MsgBox qusub
Application.Run qusub
End Sub
Sub msg1()
MsgBox "sub msg1"
End Sub
Sub msg2()
MsgBox "sub msg2"
End Sub
Sub msg3()
MsgBox "sub msg3"
End Sub
Sub msg4()
MsgBox "sub msg4"
End Sub
Run Code Online (Sandbox Code Playgroud)
所有这些都包含在一个标准模块中.我已经阅读了尝试使用字符串调用Sub - VBA并根据我在那里找到的代码编写了我的代码(即使用Application.Run).任务列表工作表的单元格C2目前包含"msg3".当我执行sub"dotask"时,我首先得到一个消息框,说"msg3",但我得到以下错误消息:
运行时错误'1004':
无法运行宏'msg3'.宏可能在此工作簿中不可用,或者可能禁用所有宏.
我正在使用Excel 2010,文件是.xlsm- 我应该怎么做才能让我的代码按照我的意愿执行?
Dim testtext As String
testtext = Worksheets("Sheet2").Range("B6").Value
Worksheets("Sheet2").Range("B7").Value = testtext
Run Code Online (Sandbox Code Playgroud)
将一个单元格的内容简单复制到另一个单元格中.但是当B6的内容出现问题时我遇到了问题'02345- 在运行宏B7包含后2345,我不想失去前导零.我尝试在代码的第二行替换.Value,.Text这没有帮助.
在我的表中,我有两列包含以下类型的数据:yyyymmdd和hhmmddxx- 第一个包含日期,另一个时间精度为 0.01 秒。例如,我有20161102和17052349。
我想将其转换为显示某个时刻的单个值并以格式显示dd/mm/yyyy hh:mm:ss.xx,例如,我想将02/11/2016 17:05:23.49. 我想我需要使用DateSerial和TimeSerial函数,但是有两个问题我不知道如何解决:
我正在编写一个宏,它比较两组值并警告用户是否存在任何差异。当发现差异时,我希望用户输入他们的评论。为了让他们轻松理解我要问的内容,我想显示用于获取评论的输入框内的所有数字。我想要得到的示例输入框可能如下所示:
Difference between warehouse and accounting records! See details below, insert reason.
Product: Toyota Corolla
------------------------------
|Item |Warehouse|Accounting|
------------------------------
|Wheel | 3| 3|
------------------------------
|Engine | 2| 3|
------------------------------
|Door | 7| 7|
------------------------------
|Gearbox| 5| 5|
------------------------------
|Roof | 4| 3|
------------------------------
Run Code Online (Sandbox Code Playgroud)
在这种情况下,警报是由 Roof 和 Engine 的不同值引起的。填充表的数字存储在变量中。如何制作这样的表格,对于必须输入评论的用户来说看起来很清楚?