◀マクロトップへ
  • 35 ActiveScriptRubyのマクロ
    • 36 RE: ActiveScriptRubyのマクロ
    • 52 Re:ActiveScriptRubyのマクロ
  • [35] ActiveScriptRubyのマクロ 佐野剛史 2003年09月02日 00:21

    サクラエディタの開発に携わっておられる皆さん、
    はじめまして&ありがとうございます。いつも快
    適に使わせていただいております。

    本題ですが、WSH経由でActiveScriptRubyによるサ
    クラエディタ用マクロを作ってみました。そして
    動きました!(感激)

    しかし、マクロを一回目に実行したときには何事
    もなく無事終了するのですが、2回目に実行すると
    サクラエディタごと落ちます。

    WSHはまだ推奨されていないのはわかっているので
    すが、どうしてもrubyが使いたくて…。原因と解
    決法がお分かりでしたら教えていただきたく存じ
    ます。

    環境は
    - ActiveScriptRuby1.8.0.4
    - WindowsXP SP1
    です。

    ちなみに、作成したスクリプトは次のものです。

    # Word count macro for Sakura Editor
    # Ruby Version
    # Created by Takashi Sano

    $KCODE = 's'

    shell = WIN32OLE.new("WScript.Shell")

    file = Editor.GetFileName

    words = chars = 0
    IO.foreach(file) {|line|
    words += line.split.length
    chars += line.gsub(/\s/,'').length
    }

    shell.Popup "単語数:#{words}\n" +
    "文字数:#{chars}\n",
    0, '文字・単語数カウント', 64

    shell = nil

    • [36] RE: ActiveScriptRubyのマクロ すい 2003年09月03日 00:01

      >WSHはまだ推奨されていないのはわかっているので
      >すが、どうしてもrubyが使いたくて…。原因と解
      >決法がお分かりでしたら教えていただきたく存じ
      >ます。

      別に「WSHはまだ推奨されていない」というわけじゃないです。
      単に「WSHは正常に動作しないから使えない」というだけの お話しで。
      つまり「推奨する/しない」以前の状態、「正常動作しない」だけなのです。

      現状、サクラエディタでWSHは

      ・Win95系(Win95/98)では全く正常動作しない。

      ・WinNT系(WinNT4/2000/Xp) では一応動作するように見えるけど、
       (同じOSであっても)パソコンごとに挙動が異なる。
       同一のマクロがこっちのパソコンでは動くけど、同じ環境(だと思える)の
       あっちのパソコンでは動かない、とか。色々とってもぁゃιぃ。

      という状態のようです。

      ですから原因もへったくれも何もないですね。
      「万が一、動いちゃったらラッキー。動かなかったらそういう物だと思って諦めてくれ。はっはっは。」なのです。

      「解決法」はサクラエディタのソースをみてWSH関連の不具合箇所を探し出して
      修正して頂くしかないです。
      ↑これが出来る方がいないので、ず~っと そのままになっているのですよ。

      残念ながらそういう事で。
    • [52] Re:ActiveScriptRubyのマクロ DClock 2003年11月30日 02:04

      > しかし、マクロを一回目に実行したときには何事
      > もなく無事終了するのですが、2回目に実行すると
      > サクラエディタごと落ちます。
      試してみました。
      msvcrt-ruby18.dllの中でStackOverFlowしてますね。二回目
      というのがひっかかりますが、evalかな...。
      サクラというか、ActiveRuby側を調べる必要があるかも。