我正在使用 Excel for Mac 2011 ,其中包含VBA版本14.0。
我正在尝试使用此代码来访问文件系统,我知道这可以在Windows上运行:
Function qfil_GetDirectory(strDirectoryName As String)
Dim objFSO As Variant
Dim objDirectory As Variant
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDirectory = objFSO.GetFolder(strDirectoryName)
Set qfil_GetDirectory = objDirectory
End Function
然而,当我在Excel for Mac 2011中运行它时,它给了我错误:
运行时错误429对象创建 不能使用ActiveX组件
要在Windows上修复此问题,我知道我必须在工具下引用特定的 DLL 。
然而,在Mac上,当我使用工具|时参考 仅给我这些:
并且他们都不允许我使用Scripting.FileSystemObject
。
我在Excel 2011 for Mac中需要做什么才能使用Scripting.FileSystemObject通过VBA从Excel工作表中读取硬盘驱动器中的文件?
答案 0 :(得分:2)
据我所知,这种方法在Mac上无效,因为外部库不存在。
不知道Office 11 VBA,但Dir()函数适用于'03的平台。
答案 1 :(得分:0)
Mac不支持ActiveX(它是Windows技术),因此您无法创建Scripting.FileSystemObject;它不存在。 (即使它确实如此,它基于FAT32或NTFS文件系统,因此无论如何它都无法在OS X上运行。)
答案 2 :(得分:0)
如果您只是想枚举文件夹中的所有文件,Codematic有一个非常好的VBA模块,它可以在Mac上正常工作。但这并不是免费的。
答案 3 :(得分:0)
怎么样......? Writing mac compatible file i o code in vba