我正在尝试通过调用在我的 Word for mac 宏中返回活动文档的路径
strFolder = ActiveDocument.Path
这也给出了文件名。
是否有仅用于路径或字符串操作的命令来减去ActiveDocument.Name
?
FWIW 我认为这个问题是在 Word 2008 中引入的,其中“路径”和“全名”属性具有相同的值(在 Applescript 中,因为那里没有 VBA)。相同的 VBA 在 Word 2004 中运行良好。
您现有解决方案中的一个潜在问题是文件夹的名称可能与文档相同,例如您的文档全名可能是
Macintosh HD:Users:me:Documents:mydoc.docx:mydoc.docx
如果你需要处理这个问题,你可以考虑类似
strFolder = left(ActiveDocument.Path, len(ActiveDocument.Path) - len(ActiveDocument.Name))
(也许未保存的文档也需要一些不同的东西)。
我不知道为什么会这样,但下面有一个解决方案......
strFolder = Replace(ActiveDocument.Path, ActiveDocument.Name, "")
希望这可以在将来对其他人有所帮助!