迭代mac上的文件夹

时间:2012-05-21 05:15:18

标签: ms-word word-vba-mac

我有一个Word宏来迭代Word文档的指定文件夹的内容。我无法获得以下函数来返回我的Microsoft Word文档。

strFolder = MacScript("return (path to desktop folder) as string") & "docs:"
MsgBox strFolder
strFile = Dir(strFolder, MacID("MSWD")) 'this is the line that returns nil!!!
MsgBox strFile

我在指定文件夹中有文档,在.docx,.doc和.txt中,当我更改MacID("TEXT")

时,只有文本文档有效

我注意到,如果我将.docx个文件保存为.doc的旧格式,则可以使用设置MacID("W8BN")

2 个答案:

答案 0 :(得分:2)

如果您确定仍需要处理多种文件类型,可以考虑使用更多的Applescript来发现文件夹中每个文件的文件类型 - 对于单个文件,您可以根据

tell application "System Events"
    set p to the properties of ("Macintosh HD:Users:me:Documents:Document2.doc" as alias)
    return the file type of p
end tell

在我的10.6系统上,.doc返回“W8BN”,。。docx返回“WXBN”,而.docm返回“WXBM”,所以我可能需要找出.dotx,.dotm等。

即。我的看法是,在这种情况下,“支持被取消”意味着“由你来决定你可以依赖这些东西的程度”,而不是“所有相关的设施已经消失”

OP评论说“我尝试了函数strFile = Dir(strFolder,MacID(”WXBN“))并且它没有返回任何内容”

我的回答是我不希望MacID(“WXBN”)返回任何内容 - 我提到的值是从我提供的Applescript返回的。如有必要,您可以通过使用更多AppleScript来解决“Dir”的限制,可能会完全替换Dir功能。

答案 1 :(得分:0)

好的,所以我根据以下链接显然无法做到这一点

http://www.microsoft-word-answers.com/microsoft/MAC-Office-Word/36053797/macro-for-combining-word-documents-into-one-converting-pc-macro.aspx

Mac osx 10.6及更高版本已停止支持Type和Creator代码!

所以我正如文章所说的那样,目录中只有.docx文件