作成理由
- 秀丸でちょっとした計算ができれば便利かと思い作ってみる
前準備
- rubyをインストール
- TEXCELL Ruby用クリップボードライブラリをインストール
- clipboard_v100.7z をダウンロード
- lhaplusなどで解凍
- できたclipboard.rbをC:\Ruby\lib\ruby\site_ruby\2.X.Xとかにコピー
- マクロの保存
- マクロをコピペして名前をつけて保存(文字コードはUTF-8、BOM付き)
//数値計算
disabledraw;begingroupundo;
if(selecting){}
else{selectline 1;}
#px=seltopx;#py=seltopy;#dx=selendx;#dy=selendy;
moveto #px,#py;beginsel;moveto #dx,#dy;
copy2;
runsync2 "rubyw -x "+currentmacrofilename;
execmacro directory + "\\tmp.mac";
endgroupundo;enabledraw;
/*
#/
#! ruby
$stdout=open("tmp99m.txt","w")
$stderr=open("tmp_errm.txt","w")
include Math
require 'clipboard'
cbd = ClipBoard.new(__ENCODING__)
ar=cbd.getText.split(/\R/).reject{|e| e==""}.reverse
st="\uFEFFbegingroupundo;disabledraw;\n"
print "ar=";p ar
ar=ar.each{|e|
begin
if /([ -~]+)=(?![-0-9 ])/=~e
f=$1
a=eval(f)
st+=%Q|replaceup "#{f}=","#{f}=#{a}";\ngolineend2;\n|
end
rescue
st+=%Q|replaceup "#{f}=","#{f}=error";\ngolineend2;\n|
end}
st+="enabledraw;endgroupundo;\n"
st+="escape"
print "st=";p st
File.write("tmp.mac",st)
__END__
*/
使い方のポイント
- 計算は半角数字で入力し最後に”=”をつける
- ruby の eval の結果を出力しているだけなので割り算の場合、整数で割ったら答えも整数になってしまう。
/
コメント