【ActiveScript】RubyをWindowsで使うスレ【GUI】at TECH
【ActiveScript】RubyをWindowsで使うスレ【GUI】 - 暇つぶし2ch675:デフォルトの名無しさん
09/10/15 02:04:15
スレリンク(tech板:768番)
から誘導されてきました。

Windows XPでExcelを操作する際、
Excelが1つだけ起動しているときはwin32oleを使って
WIN32OLE.connect('ExcelApplication')
でうまくいくんですが
複数起動しているとどれかひとつしか操作できません。
どうすれば複数のExcelを操作できるでしょうか?

676:デフォルトの名無しさん
09/10/15 04:26:36
出来ないような気がするんだけど
該当するスレはこっちだと思う
スレリンク(tech板)
ここも過疎ってるから
こっちの方がいいかな
スレリンク(tech板)
スレリンク(tech板)

677:デフォルトの名無しさん
09/10/15 04:54:05
ファイルを開いている状態なら、

WIN32OLE.connect('D:\Book1.xls')

みたいに選択できるよ

678:675
09/10/15 23:14:01
>>677
タスクなどで各Excelが開いてるファイルを調べてそれを足がかりに
各Excelにconnectするわけですか。
試してみます。

679:デフォルトの名無しさん
09/11/17 21:37:43
64bit版Windows7では、Windows-On-Windows 64(WOW64)という機能
で、64ビット版のWindows OS上で32ビット版向けのソフトウエアを動作
できるようにしているらしいんだけど、Rubyの32bit版や拡張ライブラリ
も動作するんですかね?

680:デフォルトの名無しさん
09/11/17 22:58:14
試してないけど動くんじゃない?
64bitのバイナリから32bitのバイナリ呼んだりしなけりゃ問題ないはず。

細かい話だとこの辺とか。
URLリンク(d.hatena.ne.jp)


681:デフォルトの名無しさん
09/11/18 09:25:17
>>679
普通に動く。

>>680
バイナリつーかDLLね。
EXEを普通にプロセス起動する分には問題ない。

682:679
09/11/18 23:24:38
それはよかった。新しくPC買うときは64bitにしよう

683:デフォルトの名無しさん
09/11/19 09:09:39
Rubyと関係ないけど、x64版Windowsのまとめ。
* ドライバは32bit版は使えない。64bit版が必要。
 さらに、Vista以降は64bit版に限って署名のないドライバは禁止
* 16bitアプリケーションは動作しない
* 32bitアプリケーションからの64bitアプリケーションの起動、および、
 64bitアプリケーションからの32bitアプリケーションの起動は可能
* 32bitアプリケーションからの64bit DLL呼び出し、および、64bit
 アプリケーションからの32bit DLL呼び出しはできない
* 普通の32bitアプリケーションからは、システムフォルダの一部や
 レジストリの一部が見えなくなっている

684:デフォルトの名無しさん
09/11/26 14:38:35
Ruby 1.9 And Rails 3.0
URLリンク(www.slideshare.net)

685:デフォルトの名無しさん
09/12/20 16:09:54
WindowsでCairoライブラリ利用しようとしてるんですけど、
エラーが起きてしまって難儀してます。

1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]

1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
の両方で利用したいと思っています。

1.8.7だと
オフィシャルからダウンロードしてきた
cairo-1.8.1-x86-mswin32.gem
をgem installしようとすると
No definition for rb_cairo_satisfied_version


と言われてしまい
1.9.1ではgemは成功するのですが、
実行すると
[省略]/lib/ruby/gems/1.9.1/gems/cairo-1.8.1-x86-mswin32/src/c
airo.so: [BUG] Segmentation fault
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]

とスクリプト実行時に落ちてしまいます。


686:685
09/12/20 16:13:19
Rubyは1.8.7、1.9.1共々artonさんのビルドを利用しています。

URLリンク(jp.rubyist.net)

のhinomaru.rbをまず実行できるところまで持って行ければなのですが。
情報ありませんか?

687:デフォルトの名無しさん
10/01/17 10:35:49
>>685
No definitionなんちゃらはドキュメントがないよって言ってるだけだから問題ないよ
無視してhinomaru.rbが動かせるはず
ただし一般的に1.8でgemライブラリ使うにはRUBYOPTかrequireが必要なので、そこはぐぐってどうにかして

あとそのgemは多分1.8用のバイナリだから1.9では動かない
後々1.9が必要になったときは1.9バイナリの配布を待つか自分でコンパイルするかの二択
ってここまで書いて気づいたけど一ヶ月近くレスついてなかったのかよ、もう解決してるかな

688:デフォルトの名無しさん
10/02/08 23:28:27
1.8.7(p249)

689:デフォルトの名無しさん
10/02/19 20:32:06
rubyってruby.exeのパス求める方法ないのか?
perlならperl -e "print $^X"だな
まじ、which使えとか#!の行取り出せとかしかないわけ?

690:デフォルトの名無しさん
10/02/19 20:41:41
require 'rbconfig'
File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"])


うちでは "C:/Program Files/ruby-1.8/bin/ruby.exe" が返る

691:デフォルトの名無しさん
10/02/19 22:00:27
うちでは
perl -e 'print $^X'

perl
が返ってくるんだがそれでいいの?
/usr/bin/perl とかが返ってきて欲しいんだよね?


692:デフォルトの名無しさん
10/02/19 22:03:54
$^X <snip>
Depending on the host operating system, the value of $^X may be a
relative or absolute pathname of the perl program file

と書いてからスレがWindows用だったことに気付いた。ごめんなさい。


693:デフォルトの名無しさん
10/02/19 23:08:02
>>692
それでいいなら ENV["_"] でいい
$ ruby -e "p ENV['_']"
"/usr/local/bin/ruby"

シェル依存だからWindowsでは無論動作しない

694:デフォルトの名無しさん
10/02/19 23:31:34
dlかWin32APIでGetModuleFileNameでも呼び出せば

695:デフォルトの名無しさん
10/02/19 23:41:48
いやだからRbConfigに全部書いてあるって

696:デフォルトの名無しさん
10/02/20 00:08:21
ruby.exeを別のファイルにコピーしたらアウトじゃね?


697:デフォルトの名無しさん
10/02/20 00:09:55
そうだよ
インストール時の情報を読んでるに過ぎない

で、そこまで追随する必要はある?
ありそうな気もするが、そもそもそういう環境ではRubyライブラリ動かないと思うぞ

698:デフォルトの名無しさん
10/02/20 04:23:23
>>697
んなこたーない

699:689
10/02/20 06:14:59
RbConfigってのは
> perl -e "require Config; print $Config::Config{'perlpath'}"
と一緒なわけだよな
$^Xとかpythonのsys.executableみたいなのは
ない、でいいわけね
まあ他環境でも同じようにパス取れてると思ってると危険なんで
設定ファイル見た方がいいのかもな

700:デフォルトの名無しさん
10/02/23 12:06:01
>>697
Ruby入ってない環境に、ruby.exeとmsvcrt-rubyXX.dllだけコピーしたら一応Rubyとしては動くぞ
組み込みライブラリしか使えないけどな

701:デフォルトの名無しさん
10/02/23 12:07:06
exerb

702:デフォルトの名無しさん
10/02/23 12:07:36
…つか、よくよく考えたらインストーラー付きじゃないRubyもあるんだよな
単にzipにまとめただけのやつが移動して動かなかったらおかしいや

703:デフォルトの名無しさん
10/02/26 01:24:35
実行中なら自身のプロセス情報読み取ればパス取得できるんじゃなかろか

704:デフォルトの名無しさん
10/02/26 01:28:27
そうじゃない OS があるけど
ここは Windows スレだから
yes

705:デフォルトの名無しさん
10/02/26 08:55:39
今って、mingw32とVC6でビルドされたmswin32との差異って何になるんだろう?

・使用コンパイラがmingw32はgcc、mswin32はVC6
・前項に関連してRubyソースにgcc特有の最適化が入っているため性能が違う(mingwの方が速い)
・RUBY_PLATFORMの値が違う
ぐらい?

昔だと
・Ruby本体のDLL(今でいうmsvcrt-rubyXX.dll)が別名で拡張ライブラリのバイナリ共用不可(現在は可能)
・archdirが別
とかあったみたいだけど1.7の頃に統一されたみたいだし。

ruby-win32メーリングリストあたりに情報がありそうな気がするものの、
アーカイブが公開されてないみたいでどうしたもんかな。

706:デフォルトの名無しさん
10/02/26 09:30:23
>>705
ビルドされたrubyそのものの違いはあまり聞かないな

最大の違いは、開発環境を揃えるのが容易かどうか
というかVC6ってまだ手に入るの?


707:デフォルトの名無しさん
10/02/26 09:49:00
>>706
>というかVC6ってまだ手に入るの?
正式な形では無理と思われる。

msvcrt.dllへのリンクって観点だとWDKやDDKあたりからCRT.libを持ってくると
今時のVCでもmsvcrt.dll使わせることが可能ではあるみたい。

あと、Windows Server 2003 SP1 DDK は無料でダウンロードできて、
コンパイラもついてくる、と。
URLリンク(d.hatena.ne.jp)

性能と、拡張ライブラリ作るときの敷居の低さから
mswin32からmingw32への移行を考えてるんだけど、
特に差異もない感じなんだろうか。

Ruby自体のDLLやらシンボルやらも同じならASRとかも
インストールすれば動くんだろうしなあ。

708:デフォルトの名無しさん
10/03/11 13:58:22
VC9でもできるらしい。
URLリンク(www.garbagecollect.jp)
URLリンク(www.garbagecollect.jp)

709:デフォルトの名無しさん
10/03/30 01:22:45
>>707

この辺のファイルは今のうちにダウンロードしておくことをお勧め。

Windows Server 2003 SP1 DDK (VC6が入っている)
URLリンク(download.microsoft.com)

Windows Server 2003 Platform SDK Feb 2003 (VC6用PSDK)
URLリンク(www.microsoft.com)

Visual Studio 6.0 SP6 (DDKで不足しているライブラリの一部を入手可能)
URLリンク(www.microsoft.com)

DirectX 9.0 SDK Oct 2004 (Extrasを入れるとVC6で使用可能)
URLリンク(www.microsoft.com)

DirectX 9.0 SDK Oct 2004 Extras (DirectX SDKをVC6で使う場合に必要)
URLリンク(www.microsoft.com)


710:デフォルトの名無しさん
10/03/30 01:49:05
>>709

ちょっと間違い。DDKのコンパイラはVS2003相当なので,VC6を入手するにはeMbeded Visual C++が必要。

eMbeded Visual C++ 4.0 (ダウンロードページのプロダクトIDが必要)
URLリンク(msdn.microsoft.com)

eMbeded Visual C++ 4.0 SP4
URLリンク(www.microsoft.com)

711:デフォルトの名無しさん
10/04/13 20:04:27
IronRuby、結構イケルぞ!

712:デフォルトの名無しさん
10/04/13 22:27:20
IronRuby、MRI 1.8.7対応してほしいのう。

713:デフォルトの名無しさん
10/04/27 23:25:11
age

714:デフォルトの名無しさん
10/05/19 07:50:47
>>709
excpt.hが見つからなくてwindows.hをincludeできない。
なにか見落としてますか?


715:デフォルトの名無しさん
10/05/19 20:48:40
VC++が無い

716:デフォルトの名無しさん
10/05/20 23:38:27
>>714
DDKに入っている。
環境変数INCLUDEに(PSDK)\Includeと(DDK)\inc\crtが必要。
LIBには(PSDK)\Libと(DDK)\lib\crt\i386が必要。


717:デフォルトの名無しさん
10/05/21 08:27:33
>>716
なるほど!
DDKの代わりに eMbeded Visual C++ 4.0 SP4 を入れて、
そちらの方を全く見てませんでした。
早速入れてみます。
>>715
多分同じ指摘をしてくれてたんだろうけど、意図を汲み取れずにいたんだ。
すまない。

718:デフォルトの名無しさん
10/05/21 08:32:43
蓮舫「そのブレーキバーは走ってるときにも使いますか?」
運転士「いえ、止まるときにしか使いません」
蓮舫「運行全体におけるブレーキの使用時間は短いと思いますけどどうですか?」
運転士「時間的には短いですが、大変重要な役割が・・・」
蓮舫「長いか短いかだけおっしゃってください」
運転士「・・・短いです」

枝野「今回、ブレーキバーについては根本からの折損という結果にしたいと思います」

719:デフォルトの名無しさん
10/05/22 14:14:10
Windowsで実用的なRails環境作るの難しすぎ
nmakeとかデフォルトで入ってないんだけど。
twitterのgemとかどうやって入れたらいいんだよ?

720:デフォルトの名無しさん
10/05/22 14:49:21
Windowsを使わない。


721:デフォルトの名無しさん
10/05/22 15:26:34
>>720
同感

>>719
UNIX(Linux, BSD, OSX,..etc)を使え。
開発が目的なら、仮想マシン(VirtualPCやVirtualBox)上にLinuxを入れるのが一番楽だ。

クライアントプラットフォームの大半がWindowsであるという現実があるから、
Windows上のRubyでGUIを使いたいという意図は分かる。
でもRailsみたいなWebサービス用途なら、迷わずUNIXを使え。

722:デフォルトの名無しさん
10/05/22 15:54:22
ちなみにそういう用途でのおすすめのディストリは?

723:デフォルトの名無しさん
10/05/22 15:56:58
どうせ/usr/localに入れるからRubyに関してはなんでもいい。

724:デフォルトの名無しさん
10/05/22 16:32:38
>>719
cygwinかmingw使え

725:719
10/05/22 17:26:02
ああ、レスくれた人すまん
俺はLinux(最近はMacに移行)で、それはそれはもう快適に開発してんだが、
職場のデザイナたちは、みんな素のHTML書いて渡してくるだけのWindows使いで、
Rails入れなきゃスムーズに共同作業できねーだろって
俺がRails環境をWindowsに入れてやろうとしたら思いの外大変だったという愚痴だ。>719は。

726:719
10/05/22 17:36:28
で、仮想マシンとか、cygwinかmingw使ったらいいの?
なんか…職場のデザイナのPCにRailsを入れようって話に
持っていくだけでも大変だったからもういいや。
twitterのgemとかなくても起動するようにアプリを変更したし。

727:デフォルトの名無しさん
10/05/22 19:14:50
動作確認用社内鯖(Linux)を用意。アプリはpassengerで動かす
Winscpでビューテンプレートやスタイルシートを上書きしてもらい
一通り置いたらtmp/restart.txtも置いてもらうという感じでやってます。
(概略)


728:721
10/05/22 23:37:07
>>726
相手がデザイナってことはPCに詳しくないだろうから、cygwinやmingwは無茶だと思われ。
無償で使えるVirtualBoxかVirtualPCがお勧め。(有償でもOKならVMWareがBest)

・VirtualBox -- オープンソースで開発されている比較的新しいソフト。Win/Mac/Linuxプラットフォームを選ばず。
・VirtualPC -- Microsoft提供で安定度は良いが、Windowsでしか使えない。(以前はMac版もあった)

で、>>721が自分のPCに上記のどちらかをインストールして(VirtualBoxならPCでなくてMacでもOK)、
仮想マシンを作る(数GBの空きディスクが必要)。その仮想マシン上でLinux、Rails、それにWebアプリを
インストールして動作を確認しておく。OKなら、その仮想マシンのイメージファイルをDVD-Rに焼いておく。

後は、相手のPCに同じ仮想マシンソフトをインストールし、DVD-Rに焼いたイメージファイルをPCにコピーして、
仮想マシンへ読み込ませる。これだけで、>>721が構築したLinux/Rails/Webアプリの環境が、
デザイナのPC上で完全に再現できる。デザイナが複数いても、PC台数分繰り返すだけで済む。

729:デフォルトの名無しさん
10/05/23 03:41:07
RubyをWindowsで使う香具師って馬鹿としか思えん (Matz伝)

730:デフォルトの名無しさん
10/05/23 10:19:04
rubyinstaller使えば簡単なパターンだな

731:719
10/05/23 16:49:22
>>727
素のHTMLを渡されるよりはましかもしれんが、
ローカルですぐに確認できない、バージョン管理が難しい、
デザイナが複数いた場合、同じファイルを上書きする可能性等、問題は多そうだ

>>728
デザイナにはDreamWeaverなどの使いなれたWindows上のツールで編集してもらって
Putty + Pageant + TortoiseSVN でコミットしてもらうようにしたんだが、
バーチャルPCの環境だとそのあたりの作業がうまく行くのかがちょっと心配なんだわ。
完全再現できる反面、Windows環境から隔離されてしまってデザイナが戸惑うんじゃないかと。
でも裏でsambaとかが作動して意識せずにバーチャルPCと行き来できるのかな??
まあいろんな方法があるってことがわかっただけでもよかった。ありがとう。
完全再現する必要がでてきたり、もし人が増えて手に終えなくなったりしたらVirtualBoxでやってみるわ

732:デフォルトの名無しさん
10/05/23 19:50:19
デザイナのこと考えるとやっかいなだな。

個人的なRails環境はcoLinuxとUbuntuにRails環境作って作ってるが(Portable Ubuntuが楽)、

coLinuxのcofsでNTFSのドライブをUbuntu側からマウントしてWindowsのIDEでファイル編集してる
Windows側からTortoiseSVNでコミットとかマージとかしてた。
ただし、coLinuxはUbuntuは9.04までの対応だったと思うので注意。9.10以降にアップグレードすると死ぬ

VirtualBoxとかの仮想マシン環境でもホストマシンのWindowsとの
ファイル共有的な仕組みでWindows側から使い慣れたエディタでシームレスに編集みたいなやり方はあると思うよ。

coLinuxもイメージコピーして動かすことができるし、
というかPortableUbuntuならディレクトリごと丸ごとコピペでうごくw
coLinuxは初回インスコ時に、PortableUbuntuだと動作ごとに管理者権限は必要なのがちょっと癌かな

まあ制限が許せば選択肢の一つとしてはありかと。

733:デフォルトの名無しさん
10/05/23 19:53:47
ついでにこんなのあったのでさらしておくわ

BitNami :: RubyStack
URLリンク(bitnami.org)


Ruby 1.8.7とRails 2.3.5の環境一式の各環境向け(Win,Linux,Mac)のインストーラーとか、
VMWareの仮想環境用イメージもあった(openSUSE 11.1, Ubuntu 10.04)

試してないので人柱キボンw

734:デフォルトの名無しさん
10/05/23 20:18:59
どんどん面倒な方向へ

735:721
10/05/24 01:33:49
WinXP上のVirtualBoxでLinux(Ubuntu)を試しに触ってみた。
永くDebianを触っているが、Ubuntuは今回が初体験。参考にしたのは以下のサイト。

・VirtualBoxの使い方 - 仮想化ソフトVirtualBoxのインストール、使い方、設定方法
 URLリンク(virtual-soft1.nnn2.com)

上記サイトのとおりにVirtualBoxをインストールして、Linux(Ubuntu8.04)の仮想マシンを起動。
違いはVirtualBoxの最新バージョンが3.2.0に更新されていたのでそれを試した点くらい。

仮想マシンだけど、クライアントとしての環境はほぼ完璧にそろっている。
日本語環境、ブラウザ(Firefox)、ファイルマネージャ、ターミナルがあるし、OpenOfficeも入ってる。
ネットワークもファイルマネージャでURLを入力することで、MacOSX(10.5)のFTP/SMBサーバヘ接続できた。
おそらく少しだけ努力してもらえれば、普通のWindowsユーザにも使ってもらえるだけの環境は整っていると思われ。

開発環境としては、Perl/Pythonは入っているが、肝心のRubyが無いから、自分でRubyと関連する
パッケージ(Gem, Rake, Rails,...etc)をインストールする必要がある。また、SSH/Web/FTP/SMB/AFPといった
サーバ関連も一切入っていないみたいだから、それらも自分でインストールする必要がある。
ただし、言い換えると自分の好みのサービス構成を組める訳で、決して問題や欠点という訳ではないだろう。

他に気になったのは、仮想マシンのサイズがZIP圧縮で730MB、解凍すると2.51GBと巨大な事。
仮想サーバとしてはOpennOfficeはもちろんGNOMEデスクトップ環境すら不要だから、
Ubuntuのサーバ版(ubuntu-8.04.4-server-i386.iso)を試す予定。こちらなら最小構成でX11サーバすら
インストールせずにすむから(ディスクだけでなくメモリやCPUパワーも)軽くなるはず。
現在、Virtual DAEMON(仮想CDドライブ)からブートして、インストーラが起動できるところまで確認できた。

736:デフォルトの名無しさん
10/05/24 03:03:47
それならcoLinuxのがいいんじゃね?サクサクだよ

737:721
10/05/24 23:14:08
(昨日の続き)
Ubuntuのサーバ版(ubuntu-8.04.4-server-i386.iso)を試した結果、必要なディスク容量はかなり減った。
公式配布のDesktop版が2.51GB(圧縮:730MB)だったのに対して、Server版だと919MB(圧縮:327MB)。
ベースシステム以外の追加パッケージはOpenSSHサーバのみ。RubyやらApacheなどは含んでいない。

遭遇したトラブルは、インストール終了後の再起動中に「未サポートCPU」みたいな意味のエラーでコケル事。
これは以下のサイトなどを参考にして、サーバ向けカーネル(server)を汎用カーネル(generic)に
入れ換えることで回避できた。

COMPNET - VirtualBox 1.6でubuntu 8.04 server
URLリンク(compnet.jp)

>>736
coLinuxとかcygwinみたいなのは、UNIXの知識がある人が本人のPCにインストールして使う環境。
(デザイナ屋さんのような)PCに不慣れな人でも手軽に試してもらうとしたら、仮想マシンのほうが適切だと考える。
うっかり環境を壊したとしても、マスターからコピーし直すだけですむのだから。(慣れればスナップショットも活用)
一昔前では考えられないが、PCパワーの進化とオプソの展開が仮想マシンという富豪的環境を身近な物にした。


738:デフォルトの名無しさん
10/05/24 23:42:20
>>737
あれ?ごめんサーバー版うんぬんってあったからどうせCUIにするなら、と思って言ったんよ
GUIで使うならその通りだね

ちなみにデザイナはプログラマに比べて全然富豪的だから、イラレ、フォトショ、DWなど立ち上げながら仮想マシン使うと今時のマシンでも結構きついお


739:デフォルトの名無しさん
10/05/29 19:33:51
仮想マシンでもRails動かすなら最低512MBはメモリ割り当ているからな…。
スワップも割り振っとかんと、RubyGemsこけるw
今ならメモリ潤沢だから64bit OSはいいが32bitの環境使い続けていると
けっこうカツカツなんだよな

740:デフォルトの名無しさん
10/07/07 00:10:42
1.8.7(p299)

741:デフォルトの名無しさん
10/08/31 14:36:57
1.8.7(p302)

742:デフォルトの名無しさん
10/10/09 00:18:01
質問です。
win32ole経由でexcelを操作してます
rubyから実行すると、Excelが最前面に立ち上がりますが、
これを背面での立ち上げに切り替える方法はないでしょうか?
#新たなWindowsが最前面に表示されると、ほかの作業が邪魔されて鬱陶しいので。

obj.Visible = 0
とすると、画面表示なしでバックグラウンド実行できるのは知っていますが、
それだと進行状況が把握できないので背面に表示させたいです。


743:デフォルトの名無しさん
10/10/09 13:10:59
どうしても、netbeans のjrubyに

warblerのgemをインストールできない。

jruby 1.53を単独でインストールしてwarblerもインストールできたけど
netbeansではrakeが一切できない。。。
どうしようもない。

744:デフォルトの名無しさん
10/10/11 21:41:23
>>742
むりぽ

745:デフォルトの名無しさん
10/11/19 16:24:15
Rubyのwin32oleからExcelのAutoFilterコマンドの発行の仕方を教えていただけないでしょうか?
3つ以上の引数の書き方が分かりません。

2つ以上(0,1でフィルタリング)なら、Excelのマクロで記録してみた内容が以下のようになり、
    ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=”=0”, _
     Operator:=xlOr, Criteria2:=”=1”
下のRubyスクリプトで実行できるのですが、
    range = sheet.range(sheet.cell(1,1),sheet.cell(5,100));
    range.AutoFilter(5, 0, 2, 1) #← Ruby OK

3つ以上の(3,4,5でフィルタリングする)場合、Excelのマクロが以下のようになります。
    ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=Array( _
     ”3”, ”4”, ”5”), Operator:=xlFilterValues
Array( _ ”3”, ”4”, ”5”)表記の仕方が分からず、下のようにしてもエラーとなります。
    data_range.AutoFilter(5, 3,4,5, 7) #← Ruby NG
                   ~~~~~
Win32OLEで実行する場合の、エクセルマクロ中の Array( _ ”3”, ”4”, ”5”) と同じことをさせるRubyの書き方を教えてください。
よろしくお願いします。

746:デフォルトの名無しさん
10/11/19 23:16:12
>>745
range.AutoFilter(5, ['3', '4', '5'], 7)
でいいんじゃないの?

最初の例も
sheet.range('A1:E100').AutoFilter(5, '=0', 2, '=1')
の方が素直な気がする

747:745
10/11/19 23:52:39
>>746
それでうまく行きました。とても助かりました。ありがとうございます

748:デフォルトの名無しさん
10/12/23 14:37:30
質問よかとですか
vruby + FormDesigner で、ウインドウ?フォーム?のサイズをマウスで変更すると
中のボタンその他もフォームのサイズに追従するようなスクリプトを作りたいのですが
そういうレイアウトをするための、FormDesigner の操作方法が分からず困ってます

FormDesigner は、20040323版と20060501版を試してみました
前者は、レイアウトマネージャの部品がツールバー上に無いですが
後者は、レイアウトマネージャの部品がツールバー上にあるので
後者を使えばそういうこともできるのかなと思ったんですが…
相変わらず位置やサイズを決め打ちした状態でしか部品の配置・レイアウトができません

vrubyのサンプルを見ると、layouttest.rb や gridtest.rb など、
フォームのサイズを変更すると中の部品のサイズも追従するソレがあっさりできているようなのですが…
もしかして、FormDesigner を使わずに、エディタでシコシコとレイアウトを書いていくしかないんでしょうか?
部品が結構たくさん並ぶUIになる予定なので、できれば FormDesigner でレイアウトしたいのですが…

749:デフォルトの名無しさん
10/12/27 23:22:04
1.8.7(p330)

750:デフォルトの名無しさん
11/01/13 06:48:35
質問です。
Windows7 64bitにActiveScriptRubyをインストールしました。
ruby-openglをfreeglutを用いて使用したいのですが
freeglutをインストールしたのち
gem install ruby-openglとすると
C:/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-opengl-0.60.1/ext/glut内でのコンパイルにおいて
LINK : fatal error LNK1181: 入力ファイル 'glut32.lib' を開けません。
rake aborted!
Command failed with status (157): [link -nologo -incremental:no -debug -opt:r...]
と、glut32.libがないため失敗してしまいます。
freeglut.libを使用するように変更するにはどうしたらよいのでしょうか?
よろしくお願いします。


751:750
11/01/13 09:40:52
ruby-openglのOHPから
ruby-opengl-0.60.1-x86-mswin32.gemをダウンロードしてきて
インストールすることで、glut32.dllをパスの通った
ruby-1.8/binなどに置いておけば動くことはわかりました。

引き続きWindows上でruby-openglをfreeglutを使ってビルドする方法を質問します。

752:デフォルトの名無しさん
11/01/14 08:22:02
freeglut.libをglut32.libにリネームする

753:750
11/01/15 13:45:13
>>752
なるほど、ありがとうございました。

754:デフォルトの名無しさん
11/01/18 04:13:33
このスレ生きてたのか

755:デフォルトの名無しさん
11/01/31 16:34:46
win32oleでクリップボードにSetTextしたデータを
ペーストアクション(C-V)させたいのですが、win32oleから呼び出せますか?
動作を実現する関数なりあれば、教えてください

756:デフォルトの名無しさん
11/01/31 16:36:51
sendkey

757:デフォルトの名無しさん
11/01/31 18:10:13
>>756
サンクス!

758:デフォルトの名無しさん
11/03/02 10:00:54.12
コマンドプロンプトを出さずに外部プログラムを実行する方法はないでしょうか?
VBだとpsInfo.CreateNoWindow = trueとすれば、表示を抑制できるみたいなので、
Rubyで同じような方法はないかと。

759:デフォルトの名無しさん
11/03/02 11:58:46.15
>>758
全部にあるかは知らないけど、rubyw.exe ってない?
cygwin版だけだったかなぁ…


760:758
11/03/03 06:21:41.99
>>759
ありがとうございます。rubyw.exeを知らなかったので試してみました。
たしかにrubyw.exeによって走らせるrubyスクリプト自体のコマンドプロンプトは出なくなりました。

ですが、相変わらずrubyw.exeから呼び出されている
`コマンド内容` や system("コマンド内容")
からはコマンドプロンプトが開いてしまいます。
なんとかこれを開かずに済む良い方法はないでしょうか。

761:デフォルトの名無しさん
11/03/03 15:02:43.14
ViualuRubyのVRListviewで
フォーカスが外れた状態でも、選択している項目の色を反転させたままにしておく方法はないでしょうか?
VRListviewで実行する項目を選択するようにしているのですが、
フォーカスをGUI内の別のアイテムに移すと、VRListviewでどの項目を選択したか分からなくなります。

C++のMFCでいうところのAlways Show Selectionをtrueにするのと同じ処理をさせたいのですが。

762:デフォルトの名無しさん
11/03/03 20:55:54.27
>>760
require 'win32ole'
shell = WIN32OLE.new('WScript.Shell')
shell.Run("cmd /c dir /b /s 2>&1 > dir.txt", 0, true)

これでウィンドウが開かなくなるとは思う
出力をファイルハンドルで受けられないのが不便だが


763:760
11/03/04 06:15:50.66
>>762
出来ました! ありがとうございます。

764:761
11/03/07 17:39:04.42
どなたか、よろしくお願いします。 >>761
VRListViewの一覧からファイル選択して、それからオプション項目を設定してもらいたいんですけど、
オプション項目を設定するときに、どのファイルが選択されているか分からなくなるので困ってます。

765:デフォルトの名無しさん
11/03/10 15:06:21.98
スタイルにLVS_SHOWSELALWAYSを加える

766:761
11/03/10 19:32:21.32
>>765
ありがとうございます

767:デフォルトの名無しさん
11/03/10 19:44:00.60
VisualuRubyで、読み込んだ画像の上から(上位のレイヤーみたいな感じで)
線で加工する範囲を指定したいのですが、良いサンプルはないでしょうか?
とりあえず、VRCanvasPanelで(VRBitmapPanelのように)
画像ファイルを読み込ませられないかなと調べているのですが、やりかたが分かりません。。

768:デフォルトの名無しさん
11/03/11 09:07:22.88
むり

769:デフォルトの名無しさん
11/03/11 23:49:14.12
IronRubyで何が不満なん?

770:767
11/03/12 13:36:22.18
うーむ。そうですか。IronRubyを調べてみます。

771:デフォルトの名無しさん
11/03/12 14:07:37.15
何でそこまでRubyにこだわるかねー
C#なら何でもできるのにw

ライブラリの仕様が標準化されていない
バグだらけの糞Rubyなんてやる気せんわw

772:デフォルトの名無しさん
11/03/13 02:48:45.20
>>771
環境の問題でしょ。
C#使ってるとバカになるよ。

773:デフォルトの名無しさん
11/03/13 03:32:28.66
お前みたいなバカだとな

774:デフォルトの名無しさん
11/03/13 04:21:14.39
もうmicrosoftには未来が無いし
C#なんぞに手を出すならObjectiveCの方が良くね

775:デフォルトの名無しさん
11/03/13 04:29:56.54
シェア1%のRuby信者は言うことが違うなぁww

776:デフォルトの名無しさん
11/03/13 07:01:24.13
バカがそれ以上バカになるとはどういうことだろう

777:デフォルトの名無しさん
11/03/14 22:29:48.50
スレチ
Rubyアンチスレでも逝け

778:デフォルトの名無しさん
11/03/23 14:27:27.24
VisualuRubyで、ウィンドウサイズを固定する方法を教えてください。
よろしくお願いします。

779:778
11/03/24 14:13:01.97
self.w = 816; self.h = 628
として固定したまま変更を許可しないようにしたいのですが。。

780:デフォルトの名無しさん
11/03/27 19:35:21.81
暇だったんで調べてみた
どうも、VisualuRubyを使いこなすにはWinAPIの作法を勉強しないとだめみたいですな
WindowStyleってので「リサイズできる枠」とかのフラグがあるのでそれをオフにするといいようだ
require 'vr/vruby'
frm=VRLocalScreen.newform
frm.move 100,100,300,300
frm.caption="サイズ固定Window"
frm.style= frm.style ^ WStyle::WS_THICKFRAME ^ WStyle::WS_MAXIMIZEBOX ^ WStyle::WS_MINIMIZEBOX
frm.create.show
VRLocalScreen.messageloop


781:778
11/04/03 21:19:01.21
>>780
できました。ありがとうございます!
お礼が遅くなって申し訳ないです。

>どうも、VisualuRubyを使いこなすにはWinAPIの作法を勉強しないとだめみたいですな
はい、精進します。

782:デフォルトの名無しさん
11/04/03 22:32:20.48
WinAPI絡みの質問なのですが、
vrubyによるダイアログによるファイル指定で、以下のように単一の拡張子PDFのファイルを表示するだけでなく、
  file = openFilenameDialog [ ['pdf', '*.pdf'] ]
複数の拡張子による絞り込みはできるんでしょうか?たとえばPDFとZIPのみを表示したいのですが。
よろしくお願いします。

783:デフォルトの名無しさん
11/04/04 00:04:19.38
vrubyは知らんけど、WinAPI的には
file = openFilenameDialog [ ['pdf', '*.pdf'], ['zip', '*.zip'] ]
もしくは
file = openFilenameDialog [ ['pdf/zip', '*.pdf;*.zip'] ]
を試してみたら?

784:782
11/04/04 00:57:24.56
>783
とても助かりました。ありがとうございます。

785:デフォルトの名無しさん
11/04/07 01:54:29.84
vrubyについて教えてください
  path = saveFilenameDialog([["*.pdf","*.pdf"]])
のように開くときに、
デフォルトで開かれるフォルダの初期位置を変えることはできるのでしょうか?
ついでにファイル名も与えたいのですが。。よろしくお願いします。

786:デフォルトの名無しさん
11/04/09 02:59:56.94
Twitter、検索結果表示が“3倍速く”なったと発表―フロントエンドの切り替えで
Twitterは、フロントエンドをRuby on RailsからBlenderに切り替えた結果、検索結果の待ち時間が大幅に改善されたと発表した。

URLリンク(www.itmedia.co.jp)
-----------------
急成長する検索ニーズに対処するために検索エンジンを書き換え、リアルタイム検索エンジンを立ち上げた。
その際にバックエンドをMySQLからJavaベースのテキスト全文検索エンジンLuceneに移行した。
また先週、フロントエンドをRuby on RailsからBlenderと呼ばれるJavaサーバに切り替えた。
待ち時間の短縮は、こうした取り組みの成果だという。

787:デフォルトの名無しさん
11/04/09 12:27:34.96
まるち

788:デフォルトの名無しさん
11/04/09 14:13:52.93
はわわ


789:デフォルトの名無しさん
11/04/20 17:30:01.97
Windows版Ruby1.9.0~1.9.1のRuby/Tkは
起動したときに何も無いウィンドウが表示されてから
ウィジットが配置されていくのが見えるという変な動作だったけど
1.9.2になってスパッとウィンドウが表示されるようになった
Ruby1.9でネイティブスレッド化したのが原因だったのかな

Windowsではファイルを読み込むときにテキストモードだと
ユニバーサル改行変換のせいで遅かったのが
1.9.2でかなり速くなった
それでも1.8よりは遅くなるけど

ところでMacの世界では今でも改行がCRなんだろうか
そうならばCRとLFの変換とかするのかな
それともMac界も改行がLFになってるのかしら?


790:デフォルトの名無しさん
11/04/20 17:40:27.93
>>789
OSXになった時点でUNIXになったので基本的にLFよ。


791:デフォルトの名無しさん
11/04/22 16:38:11.26
gem install opencv -- --with-opencv-include=C:\OpenCV2.2\include;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
と設定したいのですが
mkmf.logでは、-IC:\apps\OpenCV2.2\include -IC:\Program となってしまっていて、パス設定が途中で欠けてしまいます。
間にスペースが入る場合のパスの書式を教えてください。
ダブルクオートで囲むなどいろいろ試行錯誤しているものの、うまく行かず困っています。

792:デフォルトの名無しさん
11/04/22 21:35:55.77
>>791
たしかmswinにはショートネームってのがあるんじゃなかったっけ
dirコマンドを実行してみたら良いんじゃない

793:デフォルトの名無しさん
11/04/23 10:43:03.43
>>789
標準のターミナルとシェルで cat > hoge.txt して開いたら UTF-8/LF だった

794:デフォルトの名無しさん
11/04/23 15:47:05.43
>>791
"\"C:\OpenCV~\""みたいにエスケープしてダブルクォートを二重にするんじゃなかったかな
上手くいかなかったらエスケープを適当に増減してみてくれ

795:791
11/04/23 21:31:07.56
>>791
アドバイスありがとうございます。
>>794
とりあえず二重に囲むやりかたでうまく行ったように思います。ありがとうございました。

796:791
11/04/23 21:35:51.73
>>795
>>791>>792氏でした。失礼しました。

797:デフォルトの名無しさん
11/04/24 17:18:33.89
1.9.2はいろいろと1.9.1よりよくなっているんだが
なぜだか Dir.globは遅くなっている
1.8や1.9.1より2倍遅い

うーむ


798:デフォルトの名無しさん
11/06/11 02:03:50.24
VisualuRubyのVREditとフォーカスについて教えてください。
実現したいのはEditBoxにフォーカスした時にEditBox内を空にするということです。

VREditを継承したMyEditクラスで、
VRFocusSensitiveをincludeしました。

self_gotfocusメソッド内で text="" としたのですが、ダイアログ上の表示は変わりません。
メソッド内でputs text で出力させてみるとtextの内容は変わっているようです。

他に何か必要なのでしょうか。
あるいは、根本的に何かおかしいのでしょうか。

部分的ですが、コードは下のようになっています。

class MyEdit < VREdit
include VRFocusSensitive

def self_gotfocus
text = ""
puts text
end
end

class MyDialog < VRModalDialog
def construct
addControl(MyEdit, "number", Kconv.tosjis("数字を入力"), 90, 120, 200, 25, WStyle::WS_TABSTOP)
end
end

799:デフォルトの名無しさん
11/06/11 03:01:16.00
知らないけど、self.text = "" じゃないの?

800:798
11/06/12 21:01:57.31
>>799
ありがとうございます。

self.text=""
で意図したとおりに動きました。

それにしてもselfかぁ、なんて恥ずかしい見落としを。

801:デフォルトの名無しさん
11/06/29 00:01:41.13
VisualuRubyで、
$frm=VRLocalScreen.showForm VRMainForm
$frmsub=VRLocalScreen.newform($frm,style,VRSubForm)

とかで複数生成したとき、$frm終了させたら$frmsubも終了するのは作れたんですけど
メッセージウィンドウを表示させた時の後ろのウインドウみたいに
$frmsubが表示されてる時$frmをクリックしても忠告音?を出して$frmsubを閉じるまで
行けなくするやり方わかりますか?

802:デフォルトの名無しさん
11/06/29 00:16:28.59
自己解決しました
$frm.enabled = false
でいけるのか・・・・・・

803:デフォルトの名無しさん
11/06/29 00:25:32.61
>>802
VisualuRubyは知らんが、そのやり方は間違ってる気がする

URLリンク(vruby.sourceforge.net)
の「モーダルダイアログを開く」あたりがお望みの機能じゃないかと思う


804:デフォルトの名無しさん
11/08/01 11:17:26.14
1.8.7は、win32.cのwinnt_statを直してくれんのかね
でかいファイルサイズ扱えないままなんだけど

805:デフォルトの名無しさん
11/11/23 21:15:41.01
rubyinstaller 1.9.3-p0 でrubyをインストールして、

File.chmod(0777, '日本語.txt')

とすると、

in `chmod': No such file or directory - (文字化け)txt (Errno::ENOENT)

となってしまいます(日本語.txtは実際には存在します)。
これ、1.9.2になってからずっとこのままなのですが、自分の環境だけでしょうか…?
スクリプトファイル上でcoding指定もしているので、指定間違いではないと思うのですが…

806:デフォルトの名無しさん
11/11/24 13:32:40.37
>>805
そのcodingに指定した文字コード名と、実際のコードの文字コードは一致してる?


807:デフォルトの名無しさん
11/11/24 21:06:56.97
>>806
文字コードはShift_JISで、スクリプトには
# coding: Windows-31J
と書いてます。

メニューから「Start Command Prompt with Ruby」でRuby用のコマンドプロンプトを開いて、
ruby -e "File.chmod(0777, '日本語.txt')"
としても同じです。

OSはWindows7 Ultimate 64bitです。
自分の環境だけなんでしょうか…。

808:デフォルトの名無しさん
11/11/25 19:29:53.31
>>807
WindowsXPのMingw版Ruby 1.9.3でも日本語が通りませんね

プログラミングは不得手ですが
Rubyのソースを追ってみると
パスをUTF-8に変換しているのにもかかわらず
それをSJISとみなしてUTF-16に変換しているように見えます

で、その文字化けしたUTF-16のパスをWindowsAPIに渡しているので失敗していると思われます

ユニコード版WindowsAPIに切り替えた際の、対応漏れのような感じです
7bitASCIIの範囲では問題が起こらないので気づかれなかったのでしょうか


809:デフォルトの名無しさん
11/11/25 21:43:25.18
win32/win32.cの5704行目を修正してコンパイルしなおしたところ
正常にFile.chmodできるようになりました

どなたかRuby開発者のRedmaineに報告してください
私はAnonymous Cowardなので無理です


810:デフォルトの名無しさん
11/11/25 22:03:10.98
フリーメールの捨てアドレスで報告すれば?


811:デフォルトの名無しさん
11/11/26 01:11:50.23
ありがとうございます。そんなに簡単に追えるものなんですね。うらやましすぎる…というかプログラマのくせに自分がしょぼすぎる(´Д`)

自分の環境の問題でないことがわかっただけでも助かりました。気が向いたらアカウント取って報告します
(どなたかやってくださる奇特な方がいらっしゃいましたらやっていただいて構いません)

812:デフォルトの名無しさん
11/11/26 09:33:14.34
報告しなきゃ…と思ってアカウント取っていたらどなたかが報告してくださってた
感謝です!(゚∀゚)

813:デフォルトの名無しさん
12/01/03 09:31:48.12
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い

美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので
バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、
とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕

身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる


814:デフォルトの名無しさん
12/01/29 14:26:32.76
Win7(64bit)で ActiveScriptRuby 1.9.3-p0 をインストールしましたが、
ActiveScript として動作しません。
ruby hoge.rb で実行できているものが、cscript hoge.rb だと

C:\>cscript hoge.rb
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

CScript エラー: スクリプト "C:\hoge.rb" のスクリプト エンジン "GlobalRubyScript" が見つかりません。

となり、GlobalRubyScript の登録がうまくいっていないような気がしますが、
Ruby-1.9.3.msi のインストール以外に何か作業は必要でしょうか?

XP(32bit)では同じことをやって正しく動いています。


815:デフォルトの名無しさん
12/01/29 15:30:48.91
>>814
同じ環境(win7 64bit)で、今1.9.2アンインストール=>19.3インストールしてみた
自分のとこだと、ActiveScript としては問題なく動作してるけど、
拡張子の関連付けだけができてないように見える
# cscript.exe, ruby.exe ともに .rb が関連付けされてない

作業が足りないというよりインストーラの問題に見えるけど、>>814と挙動が違うのが気になる
他の環境でも試してみるか

816:デフォルトの名無しさん
12/01/31 12:29:44.08
>>814
64ビット版cscript.exeが動いているんじゃね?
64ビット版からは32ビットActiveXコンポーネントは呼び出せないよ。
32ビット版(C:\Windows\syswow64\cscript.exe)で実行してみたら?


817:814
12/02/01 23:45:40.64
>>816
あぁっ、そういうことでしたか。
32bit版cscriptで動作しました。どうもです。

やりたかったのは、Paper Plane xUI, 秀丸エディタから
rubyを使うことだったのですが、どちらも64bitアプリでした。
32bit版でrubyスクリプトが使えるようになりました。


818:デフォルトの名無しさん
12/03/03 08:50:23.56
Rubyの話と言うよりWin32OLE(COM)の話になるのですが
Excelの名前付き範囲を取得する方法ってありますか?
VBAだと

Range('name')

ってやるだけで取れるのですが、Win32OLEで取得する方法が分からない状態です。

819:デフォルトの名無しさん
12/03/03 18:06:24.07
>>818
同じように sheet.range("ほげ") とかで取得できるっぽいよ
名前が間違ってるとか文字コードがシフトJISじゃなかったとかいう落ちはないよね

820:デフォルトの名無しさん
12/03/05 10:10:36.79
それです


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch