问题
I am using Excel for Mac 2011 which has VBA version 14.0.
I am trying to use this code which accesses the file system, which I know works on 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
However, when I run it in Excel for Mac 2011, it gives me this error:
Run-time error 429 Object creation with ActiveX component not possible
To fix this on Windows, I know I have to just reference a specific DLL under tools.
However on the Mac, when I go under tools | references it only gives me these:
And none of them allow me to use Scripting.FileSystemObject
.
What do I have to do in Excel 2011 for Mac so that I can use Scripting.FileSystemObject to read files from the hard drive from an Excel sheet via VBA?
回答1:
To my knowledge, this approach won't be valid on Mac, as the external library doesnt exist.
Don't know Office 11 VBA, but the Dir() function works accross platforms for '03.
回答2:
Mac doesn't support ActiveX (it's a Windows technology), so you can't create the Scripting.FileSystemObject; it doesn't exist. (Even if it did, it's based on FAT32 or NTFS file systems, so it wouldn't work on OS X anyway.)
回答3:
If you're just trying to enumerate all the files in a folder, Codematic have a pretty good VBA module which should work fine on the Mac. It's not free, though.
回答4:
What about...? Writing mac compatible file i o code in vba
来源:https://stackoverflow.com/questions/4670420/how-can-i-install-use-scripting-filesystemobject-in-excel-2010-for-mac