オワコン

私が「オワコン」という言葉に苛立ちを覚えるのは、その言葉が発せられる文脈がたいてい、だらだらと客観的っぽい批判を書き連ねつつ、単に「俺はこれが嫌いだ」ということが言いたいんだというのが透けて見えるからだということに思い至った。そして自戒せねば、とも。



JScriptでExcelブックを操作

Windows Scripting Host では、デフォルトで VBAライクな VBScript と JavaScript ライクな JScript が動きます。ActiveXObject クラスを使うと、Excel.Application のようなOLEオブジェクトも扱えるので、JScript で Excel マクロ的なものも書けます。

Excel ブックと一体で扱いたい時は相変わらず VBA しか選択肢がないのですが、大量ファイルを一括処理するバッチなどは JScript で書いたほうが何かとやりやすいです。

というわけで備忘録的サンプル。 

/* WSH Script: JScriptからExcelブックを操作する例 */
/* 全シートのヘッダ/フッタを全部消す              */

/**
 * Operation for a worksheet
 * -- Erace all headers and footers of the sheet.
 */
function sheetOp(sheet) {
    var ps = sheet.PageSetup;

    ps.PrintArea = "";
    ps.LeftHeader = "";
    ps.CenterHeader = "";
    ps.RightHeader = "";
    ps.LeftFooter = "";
    ps.CenterFooter = "";
    ps.RightFooter = "";

}


/**
 * Get ActiveX Excel object
 */
function getExcelApplication() {
    var excel = new ActiveXObject("Excel.Application");
    return excel;
}

/**
 * main loop
 */
function main(filename, sheetOp) {
    var excel = getExcelApplication();
    var book = excel.Workbooks.Open(filename, true, false);
    try {
        var sheets = book.Worksheets;
        for (var i = 1; i <= sheets.Count; i++) {
            sheetOp(sheets.Item(i));
        }
    } finally {
        excel.DisplayAlerts = false;
        book.Close(true);
        excel.Quit();
    }
}

var args = WScript.arguments;
var filename = args(0);
main(filename, sheetOp);

Meadow + Gauche セットアップメモ

Windowsで、emacs(Meadow) 上で Gauche を使えるようにするためのメモ。 Meadow 3.01-dev と Gauche 0.9.2 の組み合わせで確認しています。

  1. Meadow をインストールする
    http://www.meadowy.org/meadow/
    Netinstall を利用する。
  2. Gauche をインストールする。
    http://practical-scheme.net/gauche/download-j.html
    Windows用バイナリインストーラを利用する。
  3. Meadow のインストールフォルダにある dot.emacs.ja を編集。以下の内容を追記する。
    追記したらファイル名を .emacs として保存
    ;;; Schemeの設定
    (setq process-coding-system-alist
          (cons '("gosh" utf-8 . utf-8) process-coding-system-alist))
    (setq scheme-program-name "gosh.exe -i")
    (autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
    (autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)
    
  4. Meadowを起動して、M-x run-scheme で gosh プロンプトが出てくればOK。

scheme-program-name の値は、Gauche をバイナリインストーラでインストールしていれば gosh.exe への Path は設定済のはずなので、ファイル名だけでいいはず。だめならフルパスを指定。

おまけ: emacs 操作メモ

  • M-x run-scheme : schme処理系開始
  • C-j : インデントつけて改行
  • C-/ : Undo
  • C-y : paste(yank)
  • C-@ : 範囲指定開始
  • M-w : コピー
  • C-x C-s : 保存
  • C-x C-w : 名前をつけて保存
  • C-c C-c : プロセスキル
  • C-c C-l : REPL処理系にロード

REPLのプロンプトでの操作

  • M-p : ヒストリ呼び出し(前)
  • M-n : ヒストリ呼び出し(次)

参考: