テーマ:未分類(甘党)

日々、思いついたことを記録します。

CreateCybozuAppo.mac v.0.01のバックアップ

2007年10月31日 06時25分13秒 | 秀丸エディタ Tips
// CreateCybozuAppo.mac v.0.01
// 秀丸エディタからサイボウズの予定作成画面に移行する秀丸エディタ用マクロ
//
// Copyright (C) 2007 甘党のプログラマ, All rights reserved.
//
// 同じフォルダに、以下のファイルを置いてください。
// HidemaruWithCybozu.ini, CreateCybozuItem.vbs

///////////////////////////
// 各種初期化
///////////////////////////
$INI_FNAME = currentmacrodirectory + "HidemaruWithCybozu.ini";        // iniファイル名
$vbs_func_options = " ";        // 追加オプション保持用

///////////////////////////
// iniファイルの処理
///////////////////////////
//デバッグモード(0:通常モード、1:デバッグモード)
#DEBUG_FLAG = getininum($INI_FNAME, "HidemaruControl", "DEBUG_FLAG");
if (#DEBUG_FLAG == 1) {
    $debuginfo_title = "[" + currentmacrobasename + "]";    // debuginfo出力のタイトル
    debuginfo 1;        // debuginfo出力の有効化
    debuginfo $debuginfo_title + "Debug Mode : On";
    $run_options = " //X";          // デバッガでスクリプトを実行する
}
else
    $run_options = " ";

//新規(ファイル名なし)の場合の一時ファイルを作成するディレクトリ(「%..%」で環境変数)
$TMP_DIR = getinistr($INI_FNAME, "HidemaruControl", "TMP_DIR");
if ((leftstr($TMP_DIR,1)=="%") && (rightstr($TMP_DIR,1)=="%"))
    $TMP_DIR = getenv(midstr($TMP_DIR,1,strlen($TMP_DIR)-2));
debuginfo $debuginfo_title + "$TMP_DIR : "" + $TMP_DIR + """;

//クローズ処理の有無(0:オープンのまま、1:クローズ)
#FILE_CLOSE_FLAG = getininum($INI_FNAME, "HidemaruControl", "FILE_CLOSE_FLAG");
debuginfo $debuginfo_title + "#FILE_CLOSE_FLAG : " + str(#FILE_CLOSE_FLAG);

// (無題)のときのために作成する一時ファイル名のプリフィックスと拡張子
$TMP_FNAME_PREFIX = getinistr($INI_FNAME, "HidemaruControl", "TMP_FNAME_PREFIX");
debuginfo $debuginfo_title + "$TMP_FNAME_PREFIX : "" + $TMP_FNAME_PREFIX + """;
$TMP_FNAME_EXT = getinistr($INI_FNAME, "HidemaruControl", "TMP_FNAME_EXT");
debuginfo $debuginfo_title + "$TMP_FNAME_EXT : "" + $TMP_FNAME_EXT + """;

// WSHのEXEファイル名
$WSH_EXE_FNAME = getinistr($INI_FNAME, "VBScriptControl", "WSH_EXE_FNAME");
debuginfo $debuginfo_title + "$WSH_EXE_FNAME : "" + $WSH_EXE_FNAME + """;

// VBSファイル名
$VBS_FNAME = currentmacrodirectory + "" + getinistr($INI_FNAME, "VBScriptControl", "VBS_FNAME");
debuginfo $debuginfo_title + "$VBS_FNAME : "" + $VBS_FNAME + """;

// VBS機能名
$VBS_FUNC = getinistr($INI_FNAME, "VBScriptControl", "APPO");       // Appointment
debuginfo $debuginfo_title + "$VBS_FUNC : "" + $VBS_FUNC + """;

//$VBS_FUNC_OPT_DEL = " " + getinistr($INI_FNAME, "VBScriptControl", "OPT_DEL") + " ";  // /DEL
//debuginfo $debuginfo_title + "$VBS_FUNC_OPT_DEL : "" + $VBS_FUNC_OPT_DEL + """;



///////////////////////////
// メイン処理部スタート
///////////////////////////

// CreateCybozuItem.vbsに引き渡すファイルの作成
if (filetype == "new") {
    // 新規(ファイル名なし)の場合

    // 一時ファイル名の作成と保存
    $content_fname = $TMP_DIR + "" + $TMP_FNAME_PREFIX + year + month + day + hour + minute + second + $TMP_FNAME_EXT;
    saveas $content_fname,sjis;

    debuginfo $debuginfo_title + "Saving as "" + $content_fname + """;

    // サイボウズ画面を表示したら、ファイルを削除するために、VBSに/DELオプションを付加
    $vbs_func_options = $vbs_func_options + $VBS_FUNC_OPT_DEL;

//  #FILE_CLOSE_FLAG = 1;   // マクロ実行終了直前に、ファイルをクローズ
}
else {
//  if (charset != 1) {
//      message currentmacrobasename + "は、Shift-JISモードのみ対応です。nShift-JISモードに変換後、再実行してください。";
//      endmacro;
//  }

    if (updated == 1) {
        //  更新されているため、保存
        save;
        debuginfo $debuginfo_title + "Saving for updated";
    }
    $content_fname = filename;
}

debuginfo $debuginfo_title + "$content_fname=" + $content_fname;


// クリップボードのファイルの内容をコピーする。(VBScriptでは困難に操作)
selectall;
copy;


// CreateCybozuItem.vbsの呼び出し
$run_commandline = """ + $WSH_EXE_FNAME + "" "" + $VBS_FNAME + "" " + $VBS_FUNC + " "" + $content_fname + "" " + $vbs_func_options +" " + $run_options;
debuginfo $debuginfo_title + "$run_commandline=" + $run_commandline;

run $run_commandline;


// 終了処理
if (#FILE_CLOSE_FLAG == 1) {
    exit;
}

endmacro;


最新の画像もっと見る

コメントを投稿