1

我正在尝试通过调用在我的 Word for mac 宏中返回活动文档的路径

strFolder = ActiveDocument.Path

这也给出了文件名。

是否有仅用于路径或字符串操作的命令来减去ActiveDocument.Name

4

2 回答 2

1

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))

(也许未保存的文档也需要一些不同的东西)。

于 2012-05-22T09:36:01.693 回答
0

我不知道为什么会这样,但下面有一个解决方案......

strFolder = Replace(ActiveDocument.Path, ActiveDocument.Name, "")

希望这可以在将来对其他人有所帮助!

于 2012-05-22T00:38:29.737 回答