我正在编写一个使用 VBA 从 Excel 生成文件的工具。生成的文件将写入用户的 Documents 文件夹中的文件夹(如果存在)。
e.g. C:\Users\<username>\Documents\Some Folder\
如果最后一个文件夹不存在,则 VBA 将创建它。我使用以下行来确保该文件夹的位置适用于组织中分布的不同 Windows 用户:
If Len(Dir(Environ("USERPROFILE") & "\Documents\Some Folder", vbDirectory)) = 0 Then
MkDir Environ("USERPROFILE") & "\Documents\Some Folder"
End If
Open Environ("USERPROFILE") & "\Documents\Some Folder\" & "file.php" For Output As #1
Print #1, output
Close
但我现在的问题是我还必须迎合 Mac OSX 用户的需求。目前我无法使用 Mac 进行测试,但我假设上述方法不起作用。
我可以使用什么来指向用户文档中的子文件夹,以及如何包含有条件地使用 Windows 行或 Mac 行的代码?
有条件编译允许您根据您使用的操作系统编译不同的代码。看这一页 https://msdn.microsoft.com/en-us/library/office/gg264731.aspx用于条件编译。
在您的情况下,您需要将适用于 Mac 或 Windows 的特定代码附在以下内容中:
#if Mac then
'here Mac only code
#else
'here Windows only code
#end if
我自己没有Mac来测试,但根据这个网站 http://www.rondebruin.nl/mac/mac007.htm你可以使用MacScript 函数 https://msdn.microsoft.com/fr-fr/library/office/gg264812.aspx获取请求的文件夹路径,并在参数中传递正确的脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)