クリップボード内のテキストを新規ファイルに保存するスクリプト(UTF-8版)

2016-04-04

クリップボード内のテキストを新規ファイルに保存します。

var FV = GetFolderView(Ctrl, pt);
var base = new Date()
    .toLocaleString()
    .replace(/\u200e/g, '')
    .replace(/\b\d\b/g, '0$&')
    .replace(/(\d{4}).+(\d{2}).+(\d{2}).+(\d{2}).+(\d{2}).+(\d{2})/, '$1$2$3_$4$5$6');
var filename = base + '.txt';
var fullpath = fso.BuildPath(FV.FolderItem.Path, filename);
var text = clipboardData.getData("text");

var s = new ActiveXObject("ADODB.Stream");
try {
    s.Type = 2; // 2:text
    s.Charset = 'UTF-8';
    s.Open();
    s.WriteText(text);

    s.Position = 0;
    s.Type = 1; // 1:binary
    s.Position = 3; // skip BOM
    var bin = s.Read();

    s.Position = 0;
    s.SetEOS();
    s.Write(bin);
    s.SaveToFile(fullpath, 2); // 2:overwrite
} catch(e) {
    alert(e);
} finally {
    s.Close();
}

機能

  • ファイル名:yyyymmdd_hhmmss.txt
  • 文字コード:UTF-8

カスタマイズ

少し手を加えると保存されるテキストの加工もできます。 例えば9行目を下のようにすると、アルファベットがすべて小文字になります。

var text = clipboardData.getData("text").toLowerCase();

関連記事

Tablacus Explorer

JavaScript