開いている文書のファイル名を変更する

提供: MeryWiki
ナビゲーションに移動 検索に移動
#title = "開いている文書のファイル名を変更する"

function main() {
    var fso = new ActiveXObject("Scripting.FileSystemObject");

    // パスを取得
    var dir = document.Path;
    var name = document.Name;
    var beforePath = dir + name;
    // 存在チェック
    if (!fso.FileExists(beforePath)) {
        alert("ファイルが存在しません");
        return;
    }

    // ファイルが保存されることを確認する
    var saveYes = false;
    if (!document.Saved) {
        if (Confirm("ファイルが変更されています。\nファイル名変更前に上書き保存する必要があります。\n保存しますか?")) {
            saveYes = true;
        } else {
            return;
        }
    }

    // 新しいファイル名を入力
    var rename = Prompt("変更後のファイル名を入力してください", name);
    if (!rename) {
        // 未入力の場合は何もしない
        return;
    }
    var afterPath = dir + rename;
    // リネーム後のファイルが存在する場合はエラー
    if (fso.FileExists(afterPath)) {
        alert("ファイルが存在します");
        return;
    }

    // ファイル名を変更する
    document.Save(afterPath);

    // 変更前のファイルを削除する
    fso.DeleteFile(beforePath);
}

main();
スポンサーリンク