VBA:在Office for Mac下压缩文件

时间:2016-09-11 19:45:45

标签: excel macos vba excel-vba shell

我喜欢在Microsoft Excel 2016 for Mac Version 15.23.2(160624)下压缩文件。我编写了一个应用程序,它会压缩所有文件,这些文件作为命令行参数传递。现在我必须从VBA调用该应用程序并提供文件路径作为命令行参数。我从this answer开始,但遇到问题:

使用Shell命令时,我收到运行时错误53(找不到文件)。但是,既然该消息来源说,这个命令不是命令行参数,我无论如何都不能使用它。

使用MacScript命令时,我收到运行时错误5(无效的过程调用或无效的参数)。

所以我尝试使用标准C库中的system()函数,如链接答案中所建议的那样。在这里,我得到了以下测试结果:

Private Declare Function system Lib "libc.dylib" (ByVal command As String) As Long

Call system("open -a Safari --args http://www.google.com") 'Example 1: starts Safari, but does not load google
Call system("open -a Safari http://www.google.com")        'Example 2: starts Safari and loads google

Call system("open -a Zipper")                   'starts my application
Call system("open -a Zipper arg1 arg2")         'does not even start my application!
Call system("open -a Zipper --args arg1 arg2")  'starts my application, but without passing the parameters arg1 and arg2

我需要做什么,使用提供的命令行参数启动我的应用程序?

另一个想法是,在dylib库中提供压缩功能。但是我怎样才能创建这样的库?这对Xcode和Swift有可能吗?或者是否有可用的文件以及如何使用它(如果是这样的话)(我刚在这里找到了question without an answer

0 个答案:

没有答案