20/09/18 00:10:02.15 r2nA4eRN0.net
>>87,91
OpenFile()でエンコード指定して開けるのだから、SaveAs()があってもよさそうだよね
引数なしでのDocument.Save()の動作は、現状およびこれまでのところ
ファイル名あり →「上書き保存」
無題/非実在 →「名前を付けて保存」ダイアログ
(ファイル名がタブ名に表示されていても、削除/移動/リネームされていて非実在ファイルの場合はダイアログ)
で、マクロリファレンス3の説明が間違っているんだとおもう
また、マクロリファレンス3の構文では
document.Save([fileName]);
となっているけど、引数を入れる場合はファイル名ではなくフルパス推奨
× Document.Save("hoge.txt");
○ Document.Save("c:\\hoge.txt");
× Document.Save(Document.Name);
○ Document.Save(Document.FullName);
×印の書きかたでもエラーにはならないし、もともと実在するファイルなら上書き保存されるが
タイトルバーの表示がファイル名だけになり、親フォルダまでのパスが表示されなくなる
これにより、マクロのDocument.Pathプロパティも空になり
Document.FullName = Document.Nameという状態になってしまうため
以後、他のマクロからDocumentオブジェクトを利用するときに支障をきたすことがある
----
Document.Save(Document.Name);
Alert('"'+Document.Path+'"'); // "" だけが表示される
----
Document.Save(Document.FullName);
で再実行すれば正常な状態に回復できる
これも作者さんが修正してくれるかな?