[▲前のスレッド]

2010/7/1 (木) 12:21:14  
[497] サクラエディタからEvernoteに新規ノートを追加するマクロ

はじめまして。usami-kといいます。

サクラエディタからEvernoteに新規ノートを追加するマクロを作ってみました。
WindowsのEvernoteアプリに付属する「ENScript.exe」コマンドを使用しています。

だいたいうまく動作しているのですが、時々文字化けしてしまいます・・・。
そのため、Wikiのマクロ投稿のページに書き込むのを躊躇していましたが、
掲示板があると知ったので、ひとまず投稿してみます。

もし可能でしたら、どなたかアドバイスをいただけると嬉しいです。

**********

// 選択文字列をEvernoteの新規ノートとして追加するマクロ
// Evernoteアプリがインストールしてあることが条件
// Author : usami-k

var shell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");

// ENScriptのパス
var enscript = "C:\\PROGRA~1\\Evernote\\Evernote3.5\\ENScript.exe"

// サクラエディタの選択文字列を取得する
if( IsTextSelected() )
{
        // 一時保存用ファイル名
        var temp = shell.ExpandEnvironmentStrings("%TEMP%" + "\\temp-evernote.txt");

        // 選択文字列をファイルに書き込み
        var file = fso.CreateTextFile(temp);
        file.Write(GetSelectedString());
        file.Close();

        // ファイルをEvernoteに渡す
        shell.Run(enscript + " createNote /s " + temp, 7, true);

        // ファイル削除
        fso.DeleteFile(temp);

        // 完了通知
        shell.Popup("Evernoteにメモを追加しました");
}
else
{
        shell.Popup("選択文字列がありません");
}
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/1 (木) 12:24:03  
[498] Re:サクラエディタからEvernoteに新規ノートを追加するマクロ

書き忘れたので補足します。マクロはJScriptです。
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/5 (月) 12:03:15  
[499] Re:サクラエディタからEvernoteに新規ノートを追加するマクロ

多少、変更を加えました。
・一時ファイル名は日付と時刻を使用(YYYYMMDDhhmmss形式)
・一時ファイルを削除しない(文字化けが発生した時の保険)

**********

// 選択文字列をEvernoteの新規ノートとして追加するサクラエディタマクロ(JScript)
// 補足:Evernoteアプリ同梱のENScript.exeを使用している
// Author : usami-k

var shell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");

// ENScriptのパス
var enscript = "C:\\PROGRA~1\\Evernote\\Evernote3.5\\ENScript.exe"

// 一時保存用ファイル名
var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString());

// サクラエディタの選択文字列を取得する
if( IsTextSelected() )
{
        // 選択文字列をファイルに書き込み
        var file = fso.CreateTextFile(tempname);
        file.Write(Editor.GetSelectedString());
        file.Close();

        // ファイルをEvernoteに渡す
        shell.Run(enscript + " createNote /s " + tempname, 7, true);

        // Evernote同期
        //<同期を行うとマクロ処理が遅くなるのでコメントアウトしている>
        //shell.Run(enscript + " syncDatabase", 7, true);

        // ファイル削除
        //<ノートが文字化けする場合があるので保険のためコメントアウトしている>
        //fso.DeleteFile(tempname);

        // 完了通知
        shell.Popup("Evernoteにメモを追加しました");
}
else
{
        shell.Popup("選択文字列がありません");
}

// 現在の時刻をYYYYMMDDhhmmss形式で返す
function getCurrentDateTimeString()
{
        var date = new Date;
        var string = "";

        string += date.getFullYear();
        string += ("0" + (date.getMonth() + 1)).slice(-2);
        string += ("0" + date.getDate()).slice(-2);
        string += ("0" + date.getHours()).slice(-2);
        string += ("0" + date.getMinutes()).slice(-2);
        string += ("0" + date.getSeconds()).slice(-2);

        return string;
}

usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/6 (火) 12:11:00  
[500] Re2:サクラエディタからEvernoteに新規ノートを追加するマクロ

間違いがありましたので修正です。
(ファイル名に拡張子が必要)

> // 一時保存用ファイル名
> var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString());


// 一時保存用ファイル名
var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString() + ".txt");
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81