1

次の呼び出しを使用して、Word for Mac マクロでアクティブなドキュメントのパスを返そうとしています。

strFolder = ActiveDocument.Path

これにより、ファイル名も指定されます。

パスまたは文字列操作からマイナスを引くコマンドはありActiveDocument.Nameますか?

4

2 に答える 2

1

FWIW この問題は Word 2008 で導入されたと思います。ここでは、「パス」属性と「フルネーム」属性が同じ値になっています (Applescript では、VBA がないため)。同じ VBA が Word 2004 で正常に動作しました。

既存のソリューションの潜在的な問題の 1 つは、フォルダーがドキュメントと同じ名前を持つ可能性があることです。たとえば、ドキュメントのフルネームが

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 に答える