管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 19日 21時 41分 33秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

唐突ですが、皆さんの中に、Primal Scriptをお持ちの方はいらっしゃいませんか?
なんか、突然痛烈に欲しくなってきたのですが、使用感などお聞かせいただけると
幸いです。とくに、Shift-JISがちゃんと表示できるかが気になります。
(UNICODEには対応しているようですが…)
# それにしても、なんか値上がりしてません? (^^;

http://www.primalscript.com/


To: いちにい さん

> IEのツールバーに、ツールボタンを追加するなら、某VBサイトで見ましたが。

あ、コンテキストメニューの話とごっちゃにしてました。
コンテキストメニュー(Winユーザー的には右クリックメニューの方がなじみがあるけど、
oncontextmenuイベントがあるし、IEに限ってはこちらが正式名称かな)を追加する
方法は、ドキュメント化されていますし、サンプルもあちこちにあるので(有名な例ではIriaとか
Googleバーとか)、こちらは割と簡単に情報が得られるでしょう。

>で、例のツールの場合は、ツールバーから、「dnab.dll」を呼んでるみたいなので、
>それ以降の、エクスプローラバー等は、自前で遣ってるんじゃないですか?
>システムHOOKを掛けてるし。

ここまでくると、さすがにWSHでは手も足も出ないですね(^^;

たしか、MSDNライブラリに、ツールバーやエクスプローラバーの仕様書みたいなのがあったと思います。
(まあ、仕様がオープンだからこそ、こういうツールが存在するわけですが)

> エクスプローラバーって、htmlの表示程度なら、CLSID とアイコンファイルが、
> 有れば出来る様なことを、某サイトで見ました。

そうなんですか。それだけなら簡単に用意できそうなきがしないでもない、かも。
差し支えなければ、某サイトのURLを教えていただけませんか?


To: 松島 さん

> でも、「やまだ」で「山田」と入力した後に、
> 山と田の間で「なか(中)」と入力すると、
> 「やまなかだ/山中田」となります。
> どの漢字とどのカナが対応しているのかが分かっているみたいです。

この辺は、IMEと連携してないと不可能な動作であるような気がするんですが、
ATOKとか使った場合でもOKなんでしょうか。

> > \h\s4キーワードが見つからないよ…\nマニアックすぎるし…\uGoogleで見つからないのは相当だな。\e
>
> いいなぁ、それ(笑)。

意外とGooは最新情報に強いことに気づきました。
Googleでは拾えない単語は、Gooで探すといいみたいです。

> でも、スクロールバー付きのブロック要素は、CSSの
> overflow:scroll と width/height などで作れます。

そうですね。
最近のIEだと、ちゃんとスクロールバーつきブロック要素でも、
ホイールでスクロールできます(^^;

> 「ドキュメントの特定の要素をURLの内容と置き換える」
> みたいな仕掛けがスマートに規格化されて実装されたら、
> 現在フレームを使ってやっているようなレイアウト/ページ構成を
> うまく移行できると思うんですけども…。

<include href="hoge.html" />

とか?
(ん、これだとframeと変わらんか…)

> #XLinkとかXPointerあたりにそれっぽい仕掛けが
> #規定されていたよううな気がするようなしないような(^^;;

XLinkとXPointerって、多対多のリンクを可能にする仕組みかな、と
思っていたんですが、それっぽい仕組みもあるのかもしれませんね。

> そうですね。事前にコンパイルせずに、インタプリタで逐一処理をするのは、
> 重い処理のはずのことですからねぇ。(^^;

なるほど、そう考えると実に贅沢な話だ。

ちなみに、なんか一つの処理(AというファイルをBフォルダにバックアップする、とか)の
自動化を考える際、ファイル名指定やオプション指定などまったくつけず、他の目的には
流用できないような、まさにそれだけの目的のスクリプトを逐一作る(汎用性のあるコードを
別ファイルでモジュール化して共有するとかもせず、毎回コピーアンドペースト!)ということが、
私には「富豪的」だなあ、と思い当たった点です。
そういう富豪的というか横着なスクリプトを書くのは、私くらいかもしれませんけどね(^^;

> '任意'って、プログラム的に見ても面白いんですよね。
> 色々オブジェクトが分かれていて無駄が多いように見えるんですけど、
> 冗長性というか、階層化指向があって。

モジュール化されていて、仕様が公開されているため、一部または全部が置き換え可能、
というのも魅力ですね。

# あの各種dll名の元ネタがさっぱりわからないです(^^;だれか教えてください。

> やねうらおさんの「オブジェクト指向の次は、設計あたりの革命ではないか」
> http://www.sun-inet.or.jp/~yaneurao/YGSDX/
> っていう言葉や、.NETの階層的な疎結合、W3Cの意味と表現の分離、
> データベースの3層スキーマ、やらなにやらをまとめると、
> 「階層化指向の設計」ってのが大きな鍵になるんじゃないかなと思っているんですが、

なにやら壮大な話ですが、なんとなくわかる気がします。

オブジェクト指向というかオブジェクトという考え方に限界があるのかも
しれませんね。COMの衰退を見るにつけても(^^;
(って、なんも理解せずに適当に言ってますけど)

ただ、階層化っていうとディレクトリ構造を連想しますけど、ファイルシステム的には
ディレクトリ構造での管理は行き詰まってますよね(^^;
未来のファイルシステムは、やっぱりハイパーリンクで時間軸管理な世界になるんでしょうか。
(これまた適当なこと言ってすみません)

> .BAT(バッチファイル)は今でも立派に生き抜いてます。

それどころか機能増強までされていたりして、WSHの存在理由が危ぶまれていたりして(^^;

> WSHから.NET/SOAPを利用することが出来るようになるんじゃないでしょうか(笑)。

ん、なんかそういう話、前にありましたね。
COMを通じて.NETのオブジェクトを扱うとか、その逆とかの話。
28-20 ONO さん 2001/01/15 09:23
29-41 SIGNAL9 さん 2001/01/30 11:52

WSH5.6ではSOAPじゃなくDCOMを使ってリモート操作をやるそうですが、
いかにもな感じですよね(^^;
ほんとうはSOAPにしたかったんだけど…とかいう開発者のつぶやきがありますね(^^;
http://www.asia.microsoft.com/japan/developer/workshop/languages/clinic/scripting11132000.asp
>
> > (IEとかだと、文字種単位で選択されますよね。たとえば、漢字部分とかアルファベット部分とか
> > いうように。これがまた、うざいのですが。)
>
> 日本語だと「単語単位での文字列選択」が、アルファベット圏の言語と比べて
> 非常にややこしい(というか無理?)なので、私は嬉しいです。

無理なのに無理やりやろうとするところに無理があると私は思うんですけどね。

「私はこのスクリプトを書きました。」という文を、
「私/はこの/スクリプト/を/書/きました/。」と分割することに何の意味があるのか、
ということです。「はこの」じゃなくて、「このスクリプト」を選択したいんだー、という
時にこの機能は非常に鬱陶しいです。できないならやらない方がマシだと個人的には思います。
(あ、これってダブルクリック時の選択の話ではなくて、ドラッグしたときの選択の話です。
ごっちゃに書いてましたね、私(^^;)

が、WORD2000ではちゃんと文節を認識しますので価値があると思います。

> #もちろん、URL/URIの精神から外れるものだと思うのですが(^^;)。

uniformなものではないし、resourceをlocateしたりidentifyするものではないですしね(^^;


To: 【おじさま】 さん

> onclick くらい知ってますってばぁ(^^;)。

【おじさま】さんがonclickを知っていることくらいわかってますってばぁ(笑)

> ただ実際に試して見ますと Netscape 4.75 では
>
> <a onclick="hogehoge">hoge</a>
>
> が動いてくれませんでした(同じソースで IE だと動きます)。同じ事を
> やろうと思うと

a要素におけるonclickイベントのデフォルト動作を殺してやる必要がありませんでしたっけ。
つまり、「href属性のURLにジャンプする」という動作を、falseをreturnすることで殺すことになります。


To: まはろ さん

> ウィルス定義ファイル(差分)があるフォルダに定期的にダウンロードするようになっています。そのフォルダに差分ファイルが肥大化しないように定期的に古い差分ファイルを削除したいと考えてます。しかし、最新のファイルだけを残し、古いファイルを削除するようなスクリプトが分かりません。または10ファイルたまったら11個目のファイルは消すとか・・・。

ファイルの更新日時は、FileオブジェクトのDateLastModifiedプロパティでわかるので、
そのフォルダ内にあるすべてのファイルの更新日時を調べ、一番新しいものを探し、
他をdeleteするようにすればいいと思います。
(ファイル名,更新日時)という2次元の変数を用意し、フォルダ内の全ファイルの情報を
格納した後、更新日時でソート(というか最大値抽出)したらOKでしょう。


To: dietcoke さん

> Do文でまわして、経過時間をチェックしたら処理を実行するように
> したんですが、CPUの占有率が結構たかいのでもっといい方法が
> あればと思い、投稿させていただきました。

自己解決されたようで何よりですが、何らかのスケジューラを併用するという
手もあるんじゃないでしょうか。
メールチェックソフトで「メールチェック時に同時起動するプログラム」とかが
指定できる場合、このスクリプトを登録してやるといい感じかもしれません。

また、IE4か5が入っていれば、タスクスケジューラが使えるんじゃないでしょうか。

個人的には、WSHで常駐モノを作るのは、なかなか制約が多くて大変だと思います。

と、ここまで書いて気づいたんですが、WSH-MLにも同様の解答がありますね(^^;


To: サトー さん

> WSHでフォルダをつくり,その作ったフォルダを共有させることは
> 可能でしょうか?

フォルダを作成するだけなら、FileSystemObjectのCreateFolderメソッドで簡単におこなえます。
Lesson13などをご覧ください。
また、「ダウンロード」に、WMIを使ってフォルダを共有させるスクリプトがありますので、
参考にしてください。WMIを使わないとなると、ちょっといい方法が思いつきません。

サトー さん 2001年 04月 19日 14時 00分 25秒

こんにちは。ひとつ質問があります。
WSHでフォルダをつくり,その作ったフォルダを共有させることは
可能でしょうか?
また,どうすれば共有できますか?
教えてください。

まはろ さん (maharo@hkg.odn.ne.jp) 2001年 04月 18日 19時 59分 13秒

はじめて、質問させていただきます。
ウィルス定義ファイル(差分)があるフォルダに定期的にダウンロードするようになっています。そのフォルダに差分ファイルが肥大化しないように定期的に古い差分ファイルを削除したいと考えてます。しかし、最新のファイルだけを残し、古いファイルを削除するようなスクリプトが分かりません。または10ファイルたまったら11個目のファイルは消すとか・・・。お分かりになる方がいらしましたら、教えてください。お願いいたします。

さん 2001年 04月 18日 13時 02分 34秒

こんにちわ。
私もいろいろなHPを調べて、解答を見つけることができました。
WScript.Argumentsでした。
またよろしくです。m(_"_)m

dietcoke さん (kyokuyo@osk2.3web.ne.jp) 2001年 04月 18日 10時 57分 53秒

自己レスです。^^;
WScript.Sleepメソッドを使用することで解決しました。
じっくり調べてから質問するべきでした。
本当に申し訳ありませんでした。

dietcoke さん (kyokuyo@osk2.3web.ne.jp) 2001年 04月 18日 09時 44分 27秒

はじめまて質問させていただきます。
WSHで定期的にメールを見て、そのメールにExcelの添付ファイルが
添付されていた場合にプリンタに印字するツールを作っています。
BASP21を使ってExcel添付ファイルを印字するところまではできたん
ですが、定期的な処理をどうしようか悩んでおります。
Do文でまわして、経過時間をチェックしたら処理を実行するように
したんですが、CPUの占有率が結構たかいのでもっといい方法が
あればと思い、投稿させていただきました。
プラットフォームは、Windows95です。

スクリプト実行開始時刻:起動時から
       間隔  :5分(任意に指定可)
       終了時刻:シャットダウン時

よろしくお願いいたします。

【おじさま】 さん (tomiyama@seagreen.ocn.ne.jp) 2001年 04月 18日 03時 29分 13秒
URL:http://homepage1.nifty.com/~tomiyama/

管理人むたぐちさん

>それにしても、<a href="javascript:hogehoge">hoge</a>というのは、私にはちょっと
>古風な書き方だなあという気がします。(そうでもないかな?)
>DHTML的な発想だと、<a onclick="hogehoge">hoge</a>になりますね。

onclick くらい知ってますってばぁ(^^;)。javascript:void(0) という
書き方を解説書などで見た事があるということです。好きで古風な事書い
たわけではありません(^^;)(^^;)(^^;)。

ただ実際に試して見ますと Netscape 4.75 では

<a onclick="hogehoge">hoge</a>

が動いてくれませんでした(同じソースで IE だと動きます)。同じ事を
やろうと思うと

<a href="javascript:hogehoge">hoge</a>

こう書かなければなりませんでした。でも有名な「とほほのWWW入門」
を拝見しますと、Netscape 4.x で <a onclick="hogehoge"> は動く事
になっています。どっちなんだろう。今更 Netscape 4.x なんて考慮し
たくもないのですが、6.0 が出た今でも 4.x のユーザーは案外多いです
し、英語版はつい最近 4.x の最新版も出てますし、無視するわけもいき
ません(実は今、自分のサイトを全面的に書き換え中なので)。

 * <layer> って onmouseover とかあるのに onclick がないんですね。
  古いから仕方がないですが Netscape 4.x の DHTML 書いてみて、IE
  のありがたさが分かりました。で、Netscape 6.0 での進化(という
  か全然別物)も少し分かりました。

松島 さん、Lib30 さん

cursor:pointer; 教えていただいてありがとうございます。今ここには
Netscape 6.01 がないので、明日職場のマシンで試してみます。実は今
日、これが分からなくて <div> で <a href=url> を挟むというそれこ
そ古風な手でとりあえず逃げていたのでした。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 18日 01時 28分 09秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: 【おじさま】 さん

> に <a href="javascript:void(0)">ほにゃらら</a> という書き方をする
> んだそうですが、これがそうでしょうか。だとしたら IE 固有の機能ではな
> いと思います(上記の理由で、むしろネットスケープの解説で見掛けます)。

多分、同じものだと思いますが、ネットスケープでも、「アドレス」欄に
javascript:が使えるんでしょうか?

それにしても、<a href="javascript:hogehoge">hoge</a>というのは、私にはちょっと
古風な書き方だなあという気がします。(そうでもないかな?)
DHTML的な発想だと、<a onclick="hogehoge">hoge</a>になりますね。


To: いちにい さん

> > お気に入りから実行しないと駄目ですよ。
>
> はい。それで遣ったんですが、駄目なんですよ。

あ、そうでしたか。どうも失礼しました。

> だから、無くても良いって事なんですね。
> こういう情報は、どっから拾って来るんでしょう?

以前、個人的な興味で調べたような気がします。
でも、あまりはっきりと覚えてないので、もしかしたらまったく別の意味を
持っているのかもしれません(^^;

> > たぶん、IEを外からではなく内から操作しているからだと思います。
> > 内とか外とか、ちょっと説明しづらいのですが、感覚的にわかってください(^^;
>
> 取り敢えず、そう言うもんだと言うことで、納得します。(笑)

もうちょっとやる気のある書き方をすると、
ブラウザオブジェクトをCreateObjectして、そこからドキュメントオブジェクトに
アクセスするものを「外から」、
すでにあるブラウザオブジェクトを取得して、そこからドキュメントオブジェクトに
アクセスするもの、あるいは、ドキュメントオブジェクト内でアクセスするものを「内から」、
という感じでしょうか。

> 辞書を作る方のが、難しかったりして。(笑)
> VB5には、Replaceとか無いしぃ。

え、そうだったんでしたっけ?
InStrRevなんかもなかったですね、そう言えば。

アクロバティックに(?)文字列を置換したりするのには、正規表現が大活躍するんですが、
正規表現はVB6にすらないですね。
その点、VBSは大きなアドバンテージを持っているといえます。

任意ナビの次なる展開では、正規表現を駆使して、ドキュメントからワードを拾う仕組みを
考えてます。まあ、そんなにおおげさなもんでもないですけどね。

あ、Evalもないんだった。< VB6

> 取り敢えず、癒し系?と言うことで、心に秘めておきます。(って、笑)

癒し系…じゃないと思う。
むしろ、殺伐としてるかもです(謎)

> 「HTMLで定義」と言うと、IEのコンテキストメニューなんかに追加するアレですか?
> IEのツール舗阿法▲帖璽襯椒織鵑鯆媛辰垢襪覆蕁∨ソVBサイトで見ましたが。
> HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
> に、情報を追加するらしいです。(IE4では、不可?)

# たしかIE4では不可ですね。

この話については、過去に出てました。
21-15 Makoto さん 2000/08/30 01:57 等



とまあ、今日はここで力尽きました。続きは明日。

いちにい さん 2001年 04月 18日 00時 10分 47秒

●松島 さん。

> 残念ながら、それは「さんた」です(^^;)。

よく考えたら、その方が親切なのかも。
仮に、「さんた」って言う読みの人なら、「ヤマダ」に、わざわざ変換されるのも、
ウザイですしね。

> どの漢字とどのカナが対応しているのかが分かっているみたいです。

その辺は、賢いです。
APIで遣った場合だと、そうはいかなかったと思います。


●むたぐち さん。

エクスプローラバーって、htmlの表示程度なら、CLSID とアイコンファイルが、
有れば出来る様なことを、某サイトで見ました。
ツールバーとかは、乗せられないのかな?イベント捕れないか。(笑)

↓この程度なら出来るとか。
http://www.watch.impress.co.jp/headline/exbar/

Lib30 さん (lib30@write-off.f2s.com) 2001年 04月 17日 21時 03分 57秒
URL:http://www.ob.aitai.ne.jp/~kazoo/

> あれを書いた後、実際に試してみたら Netscape6 では cursor が使えました
> ・・・が、cursor:hand; が有効にならないようです。これって CSS の標準
> ではないのでしょうか。一番使いそうなのに残念です。

cursor:pointer とやると手になるようです。
ちなみに *-resize はIEと違う表示がされます。

松島 さん (matsushima@popup.org) 2001年 04月 17日 20時 51分 44秒
URL:http://www.popup.org/ai/

To: おじさま さん
> ・・・が、cursor:hand; が有効にならないようです。これって CSS の標準
> ではないのでしょうか。一番使いそうなのに残念です。

"cursor:pointer;" で「リンクを指し示す時のポインタ」となるようです。
CSS2では、「hand」は定義されていないみたいです。(知らなかった…^^;)
#物理的な形状を意味する「hand」は不適切と見なされたんだと思います。

Netscape6インストールディレクトリの resディレクトリ内の html.css を見ると、
Netscape6で表現している見栄えが記述されてます。
CSSで規定されていない見栄えを表現するための -moz-〜〜 の記述が見れたりして面白いです(笑)。

> <A> 以外にも使えるので onmouseover や onmouseout でスクリプトを書く必
> 要がなくなるわけですね。

そうなんですよ〜。
IE6正式版では、CSS2は是非とも対応して欲しいです。
でないと、メジャーバージョンのアップは許せません(笑)。

#MSXMLみたいに、CSS処理やDOM処理も独立してバージョンアップさせて
#いくのもいいかもしれません。

自己レス
> #XLinkとかXPointerあたりにそれっぽい仕掛けが
> #規定されていたよううな気がするようなしないような(^^;;

完全に的外れだったかもしれません(汗)。

【おじさま】 さん (tomiyama@seagreen.ocn.ne.jp) 2001年 04月 17日 19時 34分 02秒
URL:http://homepage1.nifty.com/~tomiyama/

松島さん

いろいろ教えていただきありがとうございます。

>Netscape6は、CSSのcursorが任意の要素に使えます。

あれを書いた後、実際に試してみたら Netscape6 では cursor が使えました
・・・が、cursor:hand; が有効にならないようです。これって CSS の標準
ではないのでしょうか。一番使いそうなのに残念です。

>余談ですが、Netscape6では、:hover疑似クラスも任意の要素で使える(CSS2準拠)ので、
>CSSの記述だけで、クールバー(フラットボタン)の動きが作れてしまいます。

<A> 以外にも使えるので onmouseover や onmouseout でスクリプトを書く必
要がなくなるわけですね。

さん 2001年 04月 17日 17時 46分 07秒

たびたびお世話になっております。
Perlから引数を渡して、VBSを実行したいのですが、
このときVBSでどのように、Perlの引数をもらって良いのか解りません。
いつもお聞きして恐縮なのですが、よろしくお願いします。

松島 さん (matsushima@popup.org) 2001年 04月 17日 15時 04分 45秒
URL:http://www.popup.org/ai/


To: いちにい さん
> 後、↓にあった、Access2000のフリガナ機能って、
> 確定後の漢字に合わせた、フリガナを吐くんですか?
> 例えば、「さんた」と入力して、「山田」で確定したときに、
> フリガナが、「やまだ」に為るとか。
> だとしたら凄いかも。

残念ながら、それは「さんた」です(^^;)。
でも、「やまだ」で「山田」と入力した後に、
山と田の間で「なか(中)」と入力すると、
「やまなかだ/山中田」となります。
どの漢字とどのカナが対応しているのかが分かっているみたいです。

To: むたぐち さん
> Googleの検索結果を"任意"にしゃべらせてみようかな。
> \h\s4キーワードが見つからないよ…\nマニアックすぎるし…\uGoogleで見つからないのは相当だな。\e

いいなぁ、それ(笑)。

> > #font要素とかじゃないですよねぇ…(^^;;>width属性
> spanです。

spanですか。あんまり実害がなさそうで、ほっとしました(^^;;;)。

> > そう言えば、XHTML1.1では、Transitionalな規格が全廃されて、
> となると、frameもなくなっちゃうわけですか。

そうなんです。
でも、スクロールバー付きのブロック要素は、CSSの
overflow:scroll と width/height などで作れます。
ところがXHTML1.0Strictではtarget属性が使えません。

「ドキュメントの特定の要素をURLの内容と置き換える」
みたいな仕掛けがスマートに規格化されて実装されたら、
現在フレームを使ってやっているようなレイアウト/ページ構成を
うまく移行できると思うんですけども…。

#XLinkとかXPointerあたりにそれっぽい仕掛けが
#規定されていたよううな気がするようなしないような(^^;;

> ついに、スタイルシートは完全に別ファイルに、ということですか。

ヘッダ中のstyle要素は、現在勧告案になっているXHTML1.1でも生きています。
http://www.kanzaki.com/docs/html/xhtml11.html
でも、XMLの仕様にも則って解釈されるので、
古いブラウザ対策に<!-- -->で囲っていたりすると、
「記述通りにコメント扱いされてしまう」ようです。
やっぱり別ファイルにするのがよさそうです(^^;;)。

> ところで、HTML4.0x系はもう打ち止めなんだろうか。

みたいです。
W3Cは、パーサが単純で他のDTDに基づく文書と簡単に組合せられる、
XMLベースの文書(XHTML)に移行させたがっているみたいです。
HTMLもCSSも、規格のモジュール化が採り入れられてきてますし、
いつの間にかにパラダイムシフトが進んで来ている感じです。

#各メーカーがXMLの規則に反しない限り、自由に拡張して利用してOK
#ということになりますので。

> スクリプトの世界は、富豪的なプログラムの考え方に近いものがありますね。

そうですね。事前にコンパイルせずに、インタプリタで逐一処理をするのは、
重い処理のはずのことですからねぇ。(^^;

> でも、貧乏性なプログラムも嫌いではありません(^^;

適切な効率化と、汎用性を失いがちな過度の最適化の違いを見抜ければ、
無駄を省くこととと富豪的なプログラムは矛盾しないと思いますよ。(笑)

'任意'って、プログラム的に見ても面白いんですよね。
色々オブジェクトが分かれていて無駄が多いように見えるんですけど、
冗長性というか、階層化指向があって。

やねうらおさんの「オブジェクト指向の次は、設計あたりの革命ではないか」
http://www.sun-inet.or.jp/~yaneurao/YGSDX/
っていう言葉や、.NETの階層的な疎結合、W3Cの意味と表現の分離、
データベースの3層スキーマ、やらなにやらをまとめると、
「階層化指向の設計」ってのが大きな鍵になるんじゃないかなと思っているんですが、
そういう視点から'任意'の設計を見てみるとかなり興味深いものがあります。(笑)

> でも、これってIMEの再変換機能としてすでに現存してますので、
> やりようによっては実現できるのではないですか?

IME2002 では、IMEのオン/オフのモードの区別がない方式もあるみたいですね。
http://www.ascii24.com/24/news/soft/article/2001/04/07/624980-000.html

> まだまだWSHで遊べそうで、私的にはうれしいのですが、これが最後の機能追加かも
> しれないかと思うと、ちょっとさびしかったり。
> .NET時代もがんばって生き抜いて欲しいです。

.BAT(バッチファイル)は今でも立派に生き抜いてます。
Windowsに特化したクライアント処理を満足に行うには、
やっぱりCOM系の技術が不可欠だと思ってます。
WSHから.NET/SOAPを利用することが出来るようになるんじゃないでしょうか(笑)。

> (IEとかだと、文字種単位で選択されますよね。たとえば、漢字部分とかアルファベット部分とか
> いうように。これがまた、うざいのですが。)

日本語だと「単語単位での文字列選択」が、アルファベット圏の言語と比べて
非常にややこしい(というか無理?)なので、私は嬉しいです。
#テキストボックスの CTRL+左右 とかも。

ちなみに、トリプルクリックをすると、親要素が選択されるようです。
<p>〜〜</p> での段落分けのページと、<br>の連続での段落分けのページで
試してみると、挙動の違いが分かります。

To: おじさま さん
> ネットスケープってスタイルシートの cursor が使えないので(4.x の話。
> 6 は使えるのかどうか存じませんが)、マウスポインタを持っていった時に
> カーソルを指の形にしたいけどクリックしてもリンクはしたくないなんて時
> に <a href="javascript:void(0)">ほにゃらら</a> という書き方をする
> んだそうですが、これがそうでしょうか。だとしたら IE 固有の機能ではな
> いと思います(上記の理由で、むしろネットスケープの解説で見掛けます)。

Netscape6は、CSSのcursorが任意の要素に使えます。
でもって、<a href="javascript:ほにゃらら">〜</a> の書き方は、
onclick属性が任意の要素で使えなかった時代の慣習だと思います。(^^;
#javascriptスキームはNetscapeでも昔から使えていました。
#もちろん、URL/URIの精神から外れるものだと思うのですが(^^;)。

余談ですが、Netscape6では、:hover疑似クラスも任意の要素で使える(CSS2準拠)ので、
CSSの記述だけで、クールバー(フラットボタン)の動きが作れてしまいます。

#CSS3にビヘイビアが含まれるという噂を見たんですが、微妙な記述で怪しい(^^;)
#http://www.hotwired.co.jp/webmonkey/2001/15/index5a.html

いちにい さん 2001年 04月 17日 15時 02分 54秒

訂正。

IEのツール舗阿法▲帖璽襯椒織鵑鯆媛辰垢襪覆蕁∨ソVBサイトで見ましたが。



IEのツールバーに、ツールボタンを追加するなら、某VBサイトで見ましたが。


いちにい さん 2001年 04月 17日 15時 00分 35秒

管理人むたぐち さん 。

> お気に入りから実行しないと駄目ですよ。

はい。それで遣ったんですが、駄目なんですよ。
やっぱ、古いからですね。
でも、環境破壊が怖くて、UPDATEしたくない。


>> 「Modified=00F0BA314251C0012F」って、何でしょう?何かの更新?

> 表示ページの情報を保持していると思われます。
> 最終表示日時、とか。
> お気に入りフォルダを詳細表示したときのあれですね。
> # Win2000では表示されないようだが?

そうなんですね。
だから、無くても良いって事なんですね。
こういう情報は、どっから拾って来るんでしょう?
VBでは、使えない情報ですが。


>> でも、例の懸賞ソフト(AIBAR2000)は、フレームでも、
>> 入力できるんです。

> たぶん、IEを外からではなく内から操作しているからだと思います。
> 内とか外とか、ちょっと説明しづらいのですが、感覚的にわかってください(^^;

取り敢えず、そう言うもんだと言うことで、納得します。(笑)
しかし、あのソフト、全ての入力フォームに対応するとは、
チャレンジャーですねぇ。


>> 個人的には、ああ言う応用の方がスキです。
>> アレをパクッて、色んな辞書を付けて見ようかな?(笑)

> ぜひ作ってください(^^;
> 語尾を変えるだけでも、結構いい感じかもしれません。

VBで試してみて、遣ってみようかな?
辞書を作る方のが、難しかったりして。(笑)
VB5には、Replaceとか無いしぃ。
いっそのこと、全然関係ない格言とか寒いジョークとか、
挿入したりして。(笑)



>> で、どういう作用が有るんですか?何かジョークソフトの様な?

> いえ、私は本気で作ってますよ(^^;
> 作用については、ちょっと一言では説明しにくいのですが、とあるデスクトップ
> アクセサリーに、IEで生じたイベントに応じて何らかのメッセージを表示させるツール、
> という感じです。

それは、失礼しました。
ソースの読める部分で、大体想像して判ったような、判らないような・・・。
取り敢えず、癒し系?と言うことで、心に秘めておきます。(って、笑)



>> ただ、再変換なので、変換候補ウインドウが出たりするので、
>> それを出さずに、読みだけを取り出す方法が判らないんです。

> 関係ありそうな話だと、Word2000で単語をダブルクリックすると、文節単位で文字列が
> 選択されますね。
> これって、おそらく再変換の機能を応用していると見ているのですが、どうでしょうか。

そうなんですか?> Word2000。
実は、Wordとか、使ったこと無いんです。
Excelは、チョットだけ有りますが。
再変換の機能を応用ですかねぇ?チョット判りません。
変換時にも、文節単位で遣ったりするので、そう言う、
ロジックを共用してるんでしょうか?
ATOKなんかは、APIとか公開されている物もあるので、
良い物が見つかるかも?



>> でも、教えて貰ったソフトの方が大丈夫だったので、コレで行きます。
>> フレームでも行けるし、色々機能付いてるし。

> 便利な機能搭載のツールバーといった感じですか。
> なるほど、こういう真似はWSHにはできないなあ(^^;
> # エクスプローラバーとかは、HTMLで定義されているっぽいんですが、ねえ。

「HTMLで定義」と言うと、IEのコンテキストメニューなんかに追加するアレですか?
IEのツール舗阿法▲帖璽襯椒織鵑鯆媛辰垢襪覆蕁∨ソVBサイトで見ましたが。
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
に、情報を追加するらしいです。(IE4では、不可?)
それしか書いてなかったので、詳細は不明ですが。(笑)

で、例のツールの場合は、ツールバーから、「dnab.dll」を呼んでるみたいなので、
それ以降の、エクスプローラバー等は、自前で遣ってるんじゃないですか?
システムHOOKを掛けてるし。
作者に聞いてみるかな。(笑)


【おじさま】 さん (tomiyama@seagreen.ocn.ne.jp) 2001年 04月 17日 11時 38分 19秒
URL:http://homepage1.nifty.com/~tomiyama/

管理人むたぐちさん

>IEの固有の機能かもしれませんが、
>http:やmailto:とかの他に、
>javascript:というスキームが使えるんです。

ネットスケープってスタイルシートの cursor が使えないので(4.x の話。
6 は使えるのかどうか存じませんが)、マウスポインタを持っていった時に
カーソルを指の形にしたいけどクリックしてもリンクはしたくないなんて時
に <a href="javascript:void(0)">ほにゃらら</a> という書き方をする
んだそうですが、これがそうでしょうか。だとしたら IE 固有の機能ではな
いと思います(上記の理由で、むしろネットスケープの解説で見掛けます)。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 17日 01時 18分 40秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: いちにい さん

> が、しかし、家の環境が悪いのか、動きませんでした。(泣

お気に入りから実行しないと駄目ですよ。

> 更には、JavaScriptもVBSも、DHTMLも判りません。

IEの固有の機能かもしれませんが、
http:やmailto:とかの他に、
javascript:というスキームが使えるんです。
javascript:スクリプト
で、開いているウィンドウに対してJavaScriptが実行されます。

> wshとの関連もよく判らない。(死)

あまり関係ないようで、根はつながっていると言えます。
(ActiveX Scriptつながりで)

> 「Modified=00F0BA314251C0012F」って、何でしょう?何かの更新?

表示ページの情報を保持していると思われます。
最終表示日時、とか。
お気に入りフォルダを詳細表示したときのあれですね。
# Win2000では表示されないようだが?

ちなみに、表示回数というパラメータはレジストリで保持されていたりして、結構複雑です。

> でも、例の懸賞ソフト(AIBAR2000)は、フレームでも、
> 入力できるんです。

たぶん、IEを外からではなく内から操作しているからだと思います。
内とか外とか、ちょっと説明しづらいのですが、感覚的にわかってください(^^;

> ありゃ、面白いですねぇ〜。>desyu。

たまには堅苦しい文章も気楽に読むのもいいんじゃないでしょうか。

> 個人的には、ああ言う応用の方がスキです。
> アレをパクッて、色んな辞書を付けて見ようかな?(笑)

ぜひ作ってください(^^;
語尾を変えるだけでも、結構いい感じかもしれません。

> 家の環境では、動きませんでした。

readme.txtにいろいろ条件を書いてありますんで…。

> で、どういう作用が有るんですか?何かジョークソフトの様な?

いえ、私は本気で作ってますよ(^^;
作用については、ちょっと一言では説明しにくいのですが、とあるデスクトップ
アクセサリーに、IEで生じたイベントに応じて何らかのメッセージを表示させるツール、
という感じです。

> ただ、再変換なので、変換候補ウインドウが出たりするので、
> それを出さずに、読みだけを取り出す方法が判らないんです。

関係ありそうな話だと、Word2000で単語をダブルクリックすると、文節単位で文字列が
選択されますね。
これって、おそらく再変換の機能を応用していると見ているのですが、どうでしょうか。
(IEとかだと、文字種単位で選択されますよね。たとえば、漢字部分とかアルファベット部分とか
いうように。これがまた、うざいのですが。)

> > それ以前に、VBSはAPIが呼び出せないので(Declareが使えないので)、
> > 無理ですね…。
>
> それは、知りませんでした。

そういうことを可能にするCOMコンポーネントである、DynaCallってのがあるんですが、
それについてはログを参照していただくことにしましょう(^^;

> でも、教えて貰ったソフトの方が大丈夫だったので、コレで行きます。
> フレームでも行けるし、色々機能付いてるし。

便利な機能搭載のツールバーといった感じですか。
なるほど、こういう真似はWSHにはできないなあ(^^;
# エクスプローラバーとかは、HTMLで定義されているっぽいんですが、ねえ。


To: Lib30 さん

> うちのWin95+IE4の環境で実行したところ、固まってしまいました。
> なぜでしょうか?ちなみにIE4ではruntimeStyleオブジェクトはサポートされて
> いないようなので、runtimeStyleを単なるstyleに書き換えてください。

まあ、環境自体が少し古いせいもあるんでしょうが、固まるのはいただけませんねえ(^^;



えっと、後一つ、これはspamっぽいので返信はなし。
まあ、うちのページもspammerが宣伝効果ありと思うほどのページになったかと思うと、
それはそれでいろいろ思うところもあるのですが。
(単なる無差別書き込みスクリプトとかかもしれないが)
まあ、信用を失う前に、まともな宣伝媒体を早く見つけてください。
# それはそうと、この書き込み、AKiOSさんの検索スクリプトでは
# 表示されないんです。強力なspamフィルタでも実装してくださったんだろうか(^^;

(株)エージェント さん (agent@agent-japan.com) 2001年 04月 16日 14時 52分 05秒

《《エンジニア大募集》》〜導入・開発・運用〜

あなたの技術・能力を適正に評価します。

◆大至急募集中!即採用!◆
* Lotus Notes SE/PG *

Q,プロのエンジニアを目指していますか
Q,今の待遇に不満はありませんか
●私どもは大手企業(SI・ハードメーカー・金融・流通・外資等)と
 直接取引きをしております。

〓〓Web、Network、SE、PGのエンジニアを募集しております。〓〓

・契約社員 :40万〜80万以上
・応募資格 :20才以上
・対象スキル:UNIX・Linux・SOLARIS・AIX・HP-UX・WinNT
       C・C++・COBOL・VB・VC・JAVA・JAVA Servret・JSP・EJB
       SAP・Siebel・NOTES
・勤務地  :都内近郊
・休日 :週休2日制(土日)祝日
・勤務時間 :9:00〜17:00(勤務先により多少異なります)
・作業形態 :受託業務の客先での作業です。

お気軽にお問い合わせ下さい。
mail : agent@agent-japan.com

(株)エージェント

いちにい さん (petmail_@orihime.net) 2001年 04月 15日 23時 27分 35秒

Lib30 さん。

> うちのWin95+IE4の環境で実行したところ、固まってしまいました。
> なぜでしょうか?ちなみにIE4ではruntimeStyleオブジェクトはサポートされて
> いないようなので、runtimeStyleを単なるstyleに書き換えてください。

構文エラーが出て、Styleでも駄目でした。
でも、教えて貰ったソフトの方が大丈夫だったので、コレで行きます。
フレームでも行けるし、色々機能付いてるし。
フォントは、駄目だったけど、IEのショートカットで良いし。

お陰で、webを探し回る手間が省けました。

Lib30 さん (lib30@write-off.f2s.com) 2001年 04月 14日 20時 46分 22秒
URL:http://www.ob.aitai.ne.jp/~kazoo/

To: いちにい さん


> が、しかし、家の環境が悪いのか、動きませんでした。(泣)

うちのWin95+IE4の環境で実行したところ、固まってしまいました。
なぜでしょうか?ちなみにIE4ではruntimeStyleオブジェクトはサポートされて
いないようなので、runtimeStyleを単なるstyleに書き換えてください。

Modifiedはよくわかりません。何かの更新日を入れておくものだと思われますが。
なくても動作するようです。


また、Dnab-bandというソフトを使うと、同じようなことができます
(ただし、これもIE4で動作するかは未確認)

http://plaza15.mbn.or.jp/~trueff/dnab.html



いちにい さん (petmail_@orihime.net) 2001年 04月 14日 14時 26分 53秒

●Lib30 さん。

> ちょっとWSHとアプローチが違いますが、次のコードをエディタに貼り付けて
> IEの「お気に入り」フォルダの中に拡張子 .url で保存しIEの「お気に入り」メニューから
> 実行してみてください。

[InternetShortcut]
URL=javascript: var id = (window.length > 0) ?
eval("for(i=0;i<window.length;i++){for(j=0;j<window[i].document.all.length;j++){window[i].document.all[j].runtimeStyle.color=\"black\";window[i].document.all[j].runtimeStyle.background=\"white\";}}")
:
eval("for(j=0;j<document.all.length;j++){document.all[j].runtimeStyle.color=\"black\";document.all[j].runtimeStyle.background=\"white\";}")
Modified=00F0BA314251C0012F

わざわざ、有り難うございます。
が、しかし、家の環境が悪いのか、動きませんでした。(泣)
更には、JavaScriptもVBSも、DHTMLも判りません。
wshとの関連もよく判らない。(死)
(よく判らないけど、取り敢えず弄ってる。)
VisualBasicしか使ったこと無いんです。
cをチョットかじっているので、JavaScriptの基本的な、分岐や、繰り返しなどは、
判ります。
「Modified=00F0BA314251C0012F」って、何でしょう?何かの更新?


●管理人むたぐち さん。

>> For Each oFrameDocument In oDocument.frames
>> は、エラーが出てしまい、うまく動かなかったので、
>> For I=0 To oDocument.frames.length - 1
>> の形で書きました。

フレームの方は、やっぱり駄目でした。
駄目と言われても試しちゃう奴。(笑)
でも、例の懸賞ソフト(AIBAR2000)は、フレームでも、
入力できるんです。
って事は、色も変更できるんですよね?


> 無印Win98で動いたような記憶があるんですが、駄目でしたか。
> うーん、何でだろう。

動きました。
勘違いでした、すいません。
効果がよく判らないページで試したため見落としてました。(笑)
ありゃ、面白いですねぇ〜。>desyu。
個人的には、ああ言う応用の方がスキです。
アレをパクッて、色んな辞書を付けて見ようかな?(笑)



>> 使い方が判れば、色々考えてみたいですね。>応用。

> 任意ナビ for IEが、私なりの応用だったりします。

家の環境では、動きませんでした。
やっぱ、IE4なんて今時使ってちゃ、駄目って事ですね。
以前、IE5を入れて重くなったんで、消しました。
後、何か不安定になったような記憶が・・・。
数年前なんで忘れました。
で、どういう作用が有るんですか?何かジョークソフトの様な?


> でも、これってIMEの再変換機能としてすでに現存してますので、
> やりようによっては実現できるのではないですか?

もしかしたら出来るかも知れないですね。
VBから、再変換機能を呼び出すことは、出来ますので。
ただ、再変換なので、変換候補ウインドウが出たりするので、
それを出さずに、読みだけを取り出す方法が判らないんです。
自分のスキルじゃ無理です。


> それ以前に、VBSはAPIが呼び出せないので(Declareが使えないので)、
> 無理ですね…。

それは、知りませんでした。
と言うか、VBS自体を良く把握してない次第です。(笑)
色々便利そうだと判っているんですが・・・。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 14日 01時 49分 19秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

こんなページを見つけました。↓
http://hp.vector.co.jp/authors/VA006065/scripts/vbsidx.htm

私好みのページです(笑)

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 14日 01時 20分 33秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

とりあえず、覇猫(http://niratama.haun.org/)で紹介されたので良かったです(^^;
まあ、直メール送ったんですけど(^^;

SSTPLibにある問題というのは、私にもよくわからないんですが、SSTPLib.dllが原因で
WSHが落ちることがあるのは確かなようです。
おそらく、SSTPLibに過剰な通信を強いているのが原因だと思うんですが(^^;

あと、J-oさんのアレ(http://www.remus.dti.ne.jp/~j-o/skin/skin.htm)で自薦しておいたんですが、
連鎖的にMoonPhase(http://cyan.maid.to/)に登録されたんで、さらなる利用者増加が望まれる…
といいなあ。

ついでに、任意ナビ for IEの元ネタというか、パクリ元である某タブブラウザというのは、
かのDonut-R(http://tds.sourceforge.net/)の、お正月あるいはバレンタイン限定バージョンの
ことなんですけど、この作者さんである犬屋さんが、うちのページをご存知であったという
ことをふぃふさんという方のサイト(http://dx.sakura.ne.jp/~fbrand/fifnel/)で知り、
なんか嬉しかったです(^^;
# スクリプトホストの実装かあ…。
# ActiveX Script Controlなんてのがありましたね。確か。ライセンスを取得しないと公開できない、
# とかでしたっけ?
# Ruby256邪道編にも記述があったような。

ちなみに、私が常用するタブブラウザはDonut-Rバレンタイン限定バージョンだったりします。
実は、最近は、任意ナビ実行時以外は、たいていこれを使っています。
Googleバーと、履歴バーが使えれば言うことなしなんですけどね。

履歴バーは、お気に入りの整理で使われているコントロール(clsid:55136805-B2DE-11D1-B9F2-00A0C98BC547)
と同一のもののはずなので、これを利用すれば簡単に実現できそうなんですが、どうですか?
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/src/sh_ns.lzh で、サンプルも公開してます。
# とか、こんなところで書いても駄目かあ。

なんか、勝手に逆リンク的な話でまとめてみました。
たまには、自分のサイトを外部から眺めてみるのも面白いです。


To: いちにい さん

> コレ、いいっすねぇ〜。
> 凄く便利です。

Googleは、純粋にサーチエンジンとしての機能追求をしていて、好感が持てます。
ポータルには食傷気味なのです。

# GoogleのPageRank、なかなか4から上がらないねえ(苦笑)
# この掲示板は、なんか以前より低くなってるし(苦笑2)

> こういう使い方があるとは、知りませんでした。
> コレなら、ログをDLしなくってもいいですし。
> コレも、自家用ツール作成のネタにします。(笑)

Googleのロボットが巡回している、ということが条件になりますので、
どのサイトでも、というわけにはいかないでしょうね。
うちのページ、なんだかんだ言ってもう2年くらいやってるんで、さすがに
いろんなサーチエンジンで引っかかりますね(^^;

> 後、↓にあった、Access2000のフリガナ機能って、
> 確定後の漢字に合わせた、フリガナを吐くんですか?
> 例えば、「さんた」と入力して、「山田」で確定したときに、
> フリガナが、「やまだ」に為るとか。
> だとしたら凄いかも。

でも、これってIMEの再変換機能としてすでに現存してますので、
やりようによっては実現できるのではないですか?

> VBの場合は、APIの、「ImmGetCompositionString」を使って、IMEの
> 確定前の入力文字列を取得します。
> VBSは、よく判らないんですが、TextboxのhWndが取得できれば、

それ以前に、VBSはAPIが呼び出せないので(Declareが使えないので)、
無理ですね…。

> でも、「さんた」と入力して、「山田」で確定したら、
> フリガナは、「さんた」に為りますけど。(爆)

ここは、人工知能を搭載しましょう!
「○田」は、訓・訓で読む、とか一つずつ学習させるのです。
(ていうか、日本人の苗字は、たいてい訓読みか…)


To: 【おじさま】 さん

> 日本語版を含むスクリプトエンジン 5.5 と英語版だけですが 5.6 ベータ
> が 4/11 でマイナーバージョンアップしてます。日本のサイトのページは
> 古いままですが最新版がダウンロードされます。

本当に、正式バージョンが5.6で出るのか、興味深いところですね。
私は、6.0になると踏んでるんですが。
だって、WSH5.5から5.6で追加される機能群は、0.1どころの差ではないでしょ?

まだまだWSHで遊べそうで、私的にはうれしいのですが、これが最後の機能追加かも
しれないかと思うと、ちょっとさびしかったり。
.NET時代もがんばって生き抜いて欲しいです。


To: ヤクシカ さん

> ちょっと参考になるページを見つけました。
> http://www.microsoft.com/japan/support/kb/articles/JP200/5/13.htm
> VIsual Basic で MSMQ を使って Excel ブックを送信する方法

これを読んで、ちょっと驚いたんですが、オブジェクトが異なった系(Excel-MSMQ)で
しっかりと連携されていますね。
FileSystemObjectは駄目みたいですけど、「IPersistStream および IPersistStorage を
サポートするシリアライズされたオブジェクト」なら、bodyプロパティに指定できるんですね。
Excelブックの他には、どういったものがこれに当たるんでしょうか。


To: Lib30 さん

> とうとう受験生になってしまったLib30です。ああ、この一年どうなることか。

もと受験生の私が、僭越ながらアドバイスさせていただきますと、
あれやこれやと手を出すと自滅するので、的を絞った方がいいです。
私は、予備校とか行かずに、高校で与えられた課題だけをやってました。
以上、体験談でした。聞き流してください。

> ちょっとWSHとアプローチが違いますが、次のコードをエディタに貼り付けて
> IEの「お気に入り」フォルダの中に拡張子 .url で保存しIEの「お気に入り」メニューから
> 実行してみてください。
>
>
> [InternetShortcut]
> URL=javascript: var id = (window.length > 0) ? eval("for(i=0;i<window.length;i++){for(j=0;j<window[i].document.all.length;j++){window[i].document.all[j].runtimeStyle.color=\"black\";window[i].document.all[j].runtimeStyle.background=\"white\";}}") : eval("for(j=0;j<document.all.length;j++){document.all[j].runtimeStyle.color=\"black\";document.all[j].runtimeStyle.background=\"white\";}")
> Modified=00F0BA314251C0012F

凄い!
これは素直に感動してしまいました。
いったいどうなってるの!?

# そう言えば、ニュースグループに、「アドレスバーの使い方」という題で、いろいろなURIを
# 列挙したのを思い出しました。
# Newsgroups: microsoft.public.jp.win2000,microsoft.public.jp.windowsme
# Subject: Re: [TIPS] タスクバーに「アドレス」−便利ですよ。
# Date: Mon, 26 Mar 2001 16:18:47 +0900
# Message-ID: <3abeed57.9636%mutaguchi@roy.hi-ho.ne.jp>
# これ、そのまま「urlファイルの作り方」に流用できるなあ。

> .url (インターネットショートカット)ファイルの仕様?で
> スクリプトを一行でかく必要があるため見にくいですが、
> アルゴリズムを移植してやればWSHからでも利用できるようになるかもしれません。

windowオブジェクトが、コレクション的に要素を持っていて、それが各フレームのwindowオブジェクトに
相当している…ようですね。全然知りませんでした。

というわけで、WSH的実装を作ってみました。
前回作成したスクリプトと、挙動は同じです。
ただ、このスクリプトがどういう環境で動くかはわかりません。
一応、Win2000+IE5.5sp1では動作します。
でも、urlファイルでここまで凄いのを見せられると、あえてWSHで実装する必要性を
感じなくなるなあ。

Dim s
Set IE = WScript.CreateObject("InternetExplorer.Application")
IE.Visible = True

IE.Navigate InputBox("URLを入力してみてください")
While(IE.busy):Wscript.Sleep 100:Wend
Set oMainWindow=IE.Document.parentWindow
Set oWindow=IE.Document.parentWindow.Open("about:blank","links","height=200,width=400,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes")

MakeLinkStr oMainWindow

For I=0 To oMainWindow.Length - 1
MakeLinkStr oMainWindow(I)
Next

oWindow.document.writeln "<html><head><title>Links</title></head><body>" & s & "</body></html>"

Sub MakeLinkStr(Window)
For Each oLink In Window.Document.all.tags("A")
If oLink.href<>"" Then
s=s & "<a href=""" & oLink.href & """ target=""" & oLink.target & """>" & oLink.innerText & "</a><br>"
End If
Next
End Sub

Lib30 さん (lib30@write-off.f2s.com) 2001年 04月 13日 22時 23分 26秒
URL:http://www.ob.aitai.ne.jp/~kazoo/

とうとう受験生になってしまったLib30です。ああ、この一年どうなることか。


To: いちにい さん


> フレームの処理については、辞めモードかも。
> 作成するツールは、色使いの性で読みにくいページのカラーを、
> 変更する物なんですが、自家用なので(笑)フレームページには、
> 今まで通り、「CTRL+A」で反転させて見ることにします。(笑)


ちょっとWSHとアプローチが違いますが、次のコードをエディタに貼り付けて
IEの「お気に入り」フォルダの中に拡張子 .url で保存しIEの「お気に入り」メニューから
実行してみてください。


[InternetShortcut]
URL=javascript: var id = (window.length > 0) ? eval("for(i=0;i<window.length;i++){for(j=0;j<window[i].document.all.length;j++){window[i].document.all[j].runtimeStyle.color=\"black\";window[i].document.all[j].runtimeStyle.background=\"white\";}}") : eval("for(j=0;j<document.all.length;j++){document.all[j].runtimeStyle.color=\"black\";document.all[j].runtimeStyle.background=\"white\";}")
Modified=00F0BA314251C0012F


# ボタンの背景まで白くなります。

ちなみに私はこのスクリプトを少し改造して(というかこちらが元)
文字を18pxにして行間を120%あけさせるというのを使っています。

.url (インターネットショートカット)ファイルの仕様?で
スクリプトを一行でかく必要があるため見にくいですが、
アルゴリズムを移植してやればWSHからでも利用できるようになるかもしれません。

ヤクシカ さん 2001年 04月 13日 20時 21分 06秒

こんにちは。

TO 管理人むたぐちさん、松島さん

ありがとうございます。参考になりました。
エラーの意味がだいたいわかり、原因がだいたいどのようなことなのかわかっただけでも大変ありがたいです。
どうも私や、私のまわりの人たちが考えているほど簡単ではないようです。
もう少し調べてみます。
(と言ってもほとんど資料もない。本にも載っていない (T_T))

ちょっと参考になるページを見つけました。
http://www.microsoft.com/japan/support/kb/articles/JP200/5/13.htm
VIsual Basic で MSMQ を使って Excel ブックを送信する方法

工夫してみます。


【おじさま】 さん (tomiyama@seagreen.ocn.ne.jp) 2001年 04月 13日 14時 13分 23秒
URL:http://homepage1.nifty.com/~tomiyama/

日本語版を含むスクリプトエンジン 5.5 と英語版だけですが 5.6 ベータ
が 4/11 でマイナーバージョンアップしてます。日本のサイトのページは
古いままですが最新版がダウンロードされます。

英語版 5.6 ベータは IE6 Public Preview に含まれている日本語版の 5.6
より新しいので、結局 IE6 Public Preview の中の日本語版もベータだった
んですね。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 13日 01時 53分 21秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: ヤクシカ さん

> MSMQとは Microsoft Message Queue と言いまして、非同期(相手のマシンがつながっていない状態)でも
> 情報を伝えることができるような機能で、WindowsNT OptionPack にある機能です。

詳しいご解説、どうもありがとうございました。
なんとなく、データベース関係の用語かなあ、と思っていました(^^;
# ↑知らないものはなんでもデータベースかい。

> というようにやれば、指定したファイルがオブジェクト化され、それを msg.Body にセットすれば
> メールの添付ファイルのようにファイル自体そのものが送信されるのかな?と(ここが自信なし)

FileSystemObjectのオブジェクト(ここではFileオブジェクトを使っています)は、
FileSystemObjectの世界で完結しており、オブジェクト自体を他の系(この場合、MSMQオブジェクト)に
渡すことはできません。
残念ながら、そこまで高度なものでもないんです(^^;

> あとエラーメッセージの
> ”クラスはオートメーションをサポートしていません。”
> の意味もなんだかわかりません。何かMSMQの設定が足りないのかもしれませんね。

えーと、エラー内容に関する考察および対策に関しては、松島さんとまったく
同一の意見なので、省略させていただきます。

追加するとすれば、OLE/COM Object Viewer等で、MSMQのオブジェクトの仕様を調べ、
ファイル添付の機能を持つメソッド/プロパティを探すといいかもしれません。


To: いちにい さん

> 記事番号を、わざわざすいません。
> むたぐち さんにとっては、何度も質問されて、もう辟易な質問だったようで・・・。

いえいえ、私が辟易としているのは、そういうわけのわからない仕様を持ったIEです(^^;

> フレームの処理については、辞めモードかも。
> 作成するツールは、色使いの性で読みにくいページのカラーを、
> 変更する物なんですが、自家用なので(笑)フレームページには、
> 今まで通り、「CTRL+A」で反転させて見ることにします。(笑)
> とは、言え過去ログにあった、↓コードで出来ないか気になりますが。

このコードは26-14 管理人むたぐち 2000/12/14 22:53 ですが、その
一つ後の記事で、なんか訂正してますね。

> WinMe+IE5.5sp1で動作確認しました。

> For Each oFrameDocument In oDocument.frames
> は、エラーが出てしまい、うまく動かなかったので、
> For I=0 To oDocument.frames.length - 1
> の形で書きました。

だ、そうで。(自分でも忘れてるし)
今、Win2000+IE5.5sp1でも試してみましたが、最初のコードではやはりエラーが出ます。
IE6ではどうでしょう?

> ブラウザの設定を変えましたが、やっぱり駄目でした。

無印Win98で動いたような記憶があるんですが、駄目でしたか。
うーん、何でだろう。

> 「オブジェクトでサポートされていないプロパティまたはメソッドです。: 'document.body'」
>
> と言うエラーが出ます。

たしかに、desyu.vbsは、フォルダウィンドウのHTMLも取得しようとしてしまいますので、
フォルダが開いていると、エラーになってしまうのですが、
On Error Resume Nextがあるので大丈夫なはずなんですが。

(本来なら、window.Documentのクラス名を判別して、Webなら実行、フォルダならやめる、
という処理が必要なんですが、横着してます。というか当時は知らなかった。
そのやり方は
18-43 管理人むたぐち 2000/07/29 02:38
18-42 管理人むたぐち 2000/07/29 01:32
18-39 管理人むたぐち 2000/07/27 12:27
あたりに書いてます)

> 使い方が判れば、色々考えてみたいですね。>応用。

任意ナビ for IEが、私なりの応用だったりします。

> > shell32.dllが4.72以上なら動作します。
>
> ッてことは、「.3612.1700」は、関係なく駄目って事ですね。(笑)

4.72.3612.1700は4.72以上ってことになりませんか?
# すいません、いまいち意味がわかりません。


To: 松島 さん

> googleで、ドメインを限定して検索したりすると、サイト内検索代わりに使えたりします。
> http://www.google.com/search?safe=off&q=site%3Awww.roy.hi-ho.ne.jp+VB+IE+shell32.dll

Googleはいいですねえ、そんなこともできるんですか。

Googleの検索結果を"任意"にしゃべらせてみようかな。
\h\s4キーワードが見つからないよ…\nマニアックすぎるし…\uGoogleで見つからないのは相当だな。\e

> img要素とかobject要素とかもだったら、大混乱ですね(^^;
> #というより、元々どのインライン要素で設定できていたんだろう。
> #font要素とかじゃないですよねぇ…(^^;;>width属性

spanです。
>
> そう言えば、XHTML1.1では、Transitionalな規格が全廃されて、

となると、frameもなくなっちゃうわけですか。

> 更に、style属性は非推奨になるそうです。
> HTML文書中にstyle属性でスタイルシートの記述をしていては、
> widthやalignなら特に「書き方が変わった」だけでパラダイムシフトと言うか、
> 意味/構造と表現指示を分離して記述する考え方の変化には至らないんですよね。

たしかに。style属性でのスタイルシート記述は、既存の記述方法(width属性など)から
できるだけスムーズに移行できるような書き方ができるようにしてありますからね。
ついに、スタイルシートは完全に別ファイルに、ということですか。

ところで、HTML4.0x系はもう打ち止めなんだろうか。

> 同時に操作しないように、同期的に(順番に)操作してみると…。(振りだしに戻る(汗))

ええ、このスクリプトの場合、非同期的に動作しないと困るわけなんです。
ソケットの応答が返ってくるまでIEの動作を待つ、とかだと、ブラウジングに
支障が出てしまいます。

結局、WScript.CreateObjectでイベントのバインドをした場合でも、非同期的な動作は擬似的にしか
実現できていない、ということなんでしょうね。
SSTPLibは、なぜか非常に短時間で通信が完了し、IEのイベントが短期間で終了するため、
それでも問題が起きないわけですが。

> ちょっぴりマイブームなのが、次の「富豪的プログラミング」
> http://www.csl.sony.co.jp/person/masui/fugo.html
> 1997年の文書なのですが、4年経った今でも新鮮さを失っていないように感じます。
> プログラム(スクリプト)は、シンプルで美しくありたいものですね(^^;

スクリプトの世界は、富豪的なプログラムの考え方に近いものがありますね。
でも、貧乏性なプログラムも嫌いではありません(^^;
節約には頭を使いますが、それはそれで楽しいものです。趣味でやっている私なんかにしてみれば。


To: アオタ さん

> 自動的にかなの入るように、いろいろと研究してみました
> で、研究成果を発表したいと思います
> http://www1.kcn.ne.jp/~no_tak/index.html

拝見しました。
興味深い研究成果ですね。
IME経由のキー送出も、ちゃんとテキストボックスに送られたキーコードとして
検出できるんですね。

> ただ、しょぼしょぼです
> "n"を"ん"に変換できません
> それ以外にも出来ないのはまだまだあります

BackspaceやDelete、方向キー、Shiftキーによる選択等々、
いろいろありますけど、そういうのを一つずつつぶしていくと、
それはそれで楽しいかもしれませんね。
「お前の打ったのはこうだろう!」的な。実用性はないと思いますけど(^^;

# マウスを使ったり、コピーアンドペーストされたときは、「それだけはやめてねお願い」とか表示して
# 許してもらいましょう(^^;

いちにい さん (petmail_@orihime.net) 2001年 04月 13日 00時 00分 16秒

松島 さん、こんにちは。

>> 過去ログ検索が、IE5用だったので、つい手抜きしちゃいました。

> googleで、ドメインを限定して検索したりすると、サイト内検索代わりに使えたりします。
> http://www.google.com/search?safe=off&q=site%3Awww.roy.hi-ho.ne.jp+VB+IE+shell32.dll
> ↑こんな感じ。

コレ、いいっすねぇ〜。
凄く便利です。
こういう使い方があるとは、知りませんでした。
コレなら、ログをDLしなくってもいいですし。
コレも、自家用ツール作成のネタにします。(笑)

後、↓にあった、Access2000のフリガナ機能って、
確定後の漢字に合わせた、フリガナを吐くんですか?
例えば、「さんた」と入力して、「山田」で確定したときに、
フリガナが、「やまだ」に為るとか。
だとしたら凄いかも。

VBの場合は、APIの、「ImmGetCompositionString」を使って、IMEの
確定前の入力文字列を取得します。
VBSは、よく判らないんですが、TextboxのhWndが取得できれば、
コレでも出来るかも知れないです。
でも、「さんた」と入力して、「山田」で確定したら、
フリガナは、「さんた」に為りますけど。(爆)

アオタ さん (no_tak@kcn.ne.jp) 2001年 04月 12日 19時 55分 15秒
URL:null

To: ほんどう さん

はじめまして アオタと申します

自動的にかなの入るように、いろいろと研究してみました
で、研究成果を発表したいと思います
http://www1.kcn.ne.jp/~no_tak/index.html

上のページにある上がわのテキストボックスに日本語で、
入力すると、下に振り仮名を出せるようにしました

ただ、しょぼしょぼです
"n"を"ん"に変換できません
それ以外にも出来ないのはまだまだあります

なので、Scriptでやるよりも、その他の技術を使ったほうが
もっと楽に出来ると思います

というよりもほかの方がおっしゃっているように
無謀です
素直に入力してもらうほうがよいと思います
キーだけでは、本当のところはわからないからです

松島 さん (matsushima@popup.org) 2001年 04月 12日 18時 19分 58秒
URL:http://www.popup.org/ai/

To: いちにい さん

> 過去ログ検索が、IE5用だったので、つい手抜きしちゃいました。

googleで、ドメインを限定して検索したりすると、サイト内検索代わりに使えたりします。
http://www.google.com/search?safe=off&q=site%3Awww.roy.hi-ho.ne.jp+VB+IE+shell32.dll
↑こんな感じ。


To: ヤクシカ さん

> msg.Body = f
> のところで
> ”クラスはオートメーションをサポートしていません。”
> とエラーとなってしまいました。しかし、
> msg.Body = "Test"
> というように、文字列だと簡単に送れます。

msg.Bodyは、メッセージの本文を指定する文字列型のプロパティなのではないのでしょうか。(予想)
FSOのGetFileメソッドの戻り値は、Fileオブジェクト(型)なので、(ここまで事実)
スクリプトエンジンが自動的に強引に型変換して格納しようとして失敗して、
そのようなメッセージが出たのだと思います。(予想)
添付するファイルのパスを指定して添付ファイルに加えるメソッド等が別にある
ような気がします。(これは完全に予想)

#ほとんど予想なので間違いだらけかもしれません。


To: むたぐち さん

> XML関係のRFC策定にも、MS関係者が関係している(意味不明だなあ(^^;)そうですね。

関係していると表現すると裏で糸を引いているかのように読めてしまいますね(^^;)。
W3Cの会員にはMicrosoftの人だけでなく、Netscapeの人も居ますし、
他にもOracle、HP、Adobe、Sun、富士Xerox、IBM、などなど、いろんな会社の人が
加わっているので、Microsoftだけの都合で規格が決まることはないと思いますよ。
#XML関係はHTML同様にW3Cで策定されているようです。

> インライン要素のwidth属性が設定できなくなったとか。

あらー。
img要素とかobject要素とかもだったら、大混乱ですね(^^;
#というより、元々どのインライン要素で設定できていたんだろう。
#font要素とかじゃないですよねぇ…(^^;;>width属性

そう言えば、XHTML1.1では、Transitionalな規格が全廃されて、
更に、style属性は非推奨になるそうです。
HTML文書中にstyle属性でスタイルシートの記述をしていては、
widthやalignなら特に「書き方が変わった」だけでパラダイムシフトと言うか、
意味/構造と表現指示を分離して記述する考え方の変化には至らないんですよね。
きちんと適合するように記述するのは少し大変ですけども。

>その意味で、今回のバージョンアップは、評価が高いんじゃないかという気がします。
>バージョンアップの方向性が、ずいぶん昔と違ってきていますよね。
>ようやく、そういうところに手をつけられるほど余裕が出てきたというか。

「消費者の利益が自社の利益につながる」という考えからのものなら嬉しいですよね。
「自社の利益が消費者の利益につながる」と思って失敗していたのが今までですから。

>> IEが固まってしまうのはたぶん、BASP21と '同期的に' 動いていからではないでしょうか…。
>そうだと思います。
>IEとソケットを同時に操作しようとしているところに、そもそもの無理があるんです。

同時に操作しないように、同期的に(順番に)操作してみると…。(振りだしに戻る(汗))

非同期にすると、プログラムがややこしくなりがちなのが悩ましい問題ですね。

ちょっぴりマイブームなのが、次の「富豪的プログラミング」
http://www.csl.sony.co.jp/person/masui/fugo.html
1997年の文書なのですが、4年経った今でも新鮮さを失っていないように感じます。
プログラム(スクリプト)は、シンプルで美しくありたいものですね(^^;

いちにい さん (petmail_@orihime.net) 2001年 04月 12日 16時 35分 44秒

> shell32.dllが4.72以上なら動作します。

ッてことは、「.3612.1700」は、関係なく駄目って事ですね。(笑)

ゴミレス、すいません。

いちにい さん (petmail_@orihime.net) 2001年 04月 12日 16時 22分 33秒

早速のレス、有り難うございます。


>↑あ、1,2,3ってわけですか!

そうです。
馬鹿なHNに反応頂き、どうもです。(笑)


>> フレームの場合は、どのように処理するのでしょうか?

> document.framesが、各フレームのwindowオブジェクトのコレクションになります。

> For Each subwindow In document.frames
>   subwindow.document.body.innerHTML="hoge"
> Next

> という感じでしょうか。
> ただ、framesプロパティの、WSH等からの外部からの呼出しには致命的な
> 問題があって、詳しくは・・・・。
> # こうやって並べて見ると、毎回毎回同じぼやき方ですね(^^;
> ## "任意"がフレーム嫌いなのもそのためなのです(謎)

記事番号を、わざわざすいません。
むたぐち さんにとっては、何度も質問されて、もう辟易な質問だったようで・・・。
過去ログ検索が、IE5用だったので、つい手抜きしちゃいました。
有り難うございます。


> 少なくとも、Win2000+IE5.5なら正常に動作しますが、駄目な環境も
> 多いってことです。

フレームの処理については、辞めモードかも。
作成するツールは、色使いの性で読みにくいページのカラーを、
変更する物なんですが、自家用なので(笑)フレームページには、
今まで通り、「CTRL+A」で反転させて見ることにします。(笑)
とは、言え過去ログにあった、↓コードで出来ないか気になりますが。

Sub GetAllLinks(oDocument)

 For Each oLink In oDocument.tags("A")
  s = s & oLink.innerHTML & "(" & oLink.href & ")" & vbCrLf
 Next

 For Each oFrameDocument In oDocument.frames
  Call GetAllLinks(oFrameDocument)
 Next

End Sub


>> 後、ここで公開されている、「desyu」に付いてですが、
>> IE4では、だめですよね?
>> IE4環境で、既に起動したIE4のページ内容を、
>> 操作する方法は、有るのでしょうか?

> IE4が統合されている環境、つまりshell32.dllが4.72以上なら動作します。
> Win98なら問題ありません。
> ただし、設定次第です。
> ブラウザを異なるプロセスで起動させる設定にしていると駄目だったと思います。
> (逆かもしれません)

ブラウザの設定を変えましたが、やっぱり駄目でした。
DLLのバージョンは、4.72.3612.1700 でした。

「オブジェクトでサポートされていないプロパティまたはメソッドです。: 'document.body'」

と言うエラーが出ます。


> 外部からCOM経由でIE(Webブラウザコントロール)のHTMLのDOMをいじくるソフトって、
> あまりないですよね。
> 結構いろいろ応用ができそうな世界なんですが。

IEをコントロールできること自体を知りませんでした。(笑)
VB使いが知ってるのは、せいぜい、「ナビゲート」、「Openurl」とか・・・。
下手すれば、APIでコントロールしようと考えたり。
使い方が判れば、色々考えてみたいですね。>応用。
自分みたいな、ヘッポコには、よく判りません。(爆)

取り敢えず、頂いた情報で遣ってみます。


ヤクシカ さん 2001年 04月 12日 11時 07分 04秒

TO 管理人むたぐちさん

アドバイスをありがとうございます。

MSMQとは Microsoft Message Queue と言いまして、非同期(相手のマシンがつながっていない状態)でも
情報を伝えることができるような機能で、WindowsNT OptionPack にある機能です。

MSMQで送信するデータを「メッセージ」として扱い、「キュー」というところにメッセージを送ります。
その際にメッセージを伝えたい相手のマシンはつながっていなくてもよいです(非同期)。
相手のマシンは都合のいいときにキューに接続しメッセージを受け取ることができる、と言ったところでしょうか。
メッセージは文字列だけでなく、ファイル等も送れる機能があるそうです。
(しかしネット上を探しているのですが、ファイルを送る場合の例となるようなソースがありません)

イメージ的にはメールの送受信に似ていると思います。
AさんがBさんにメール(メッセージに当たる)を送るとします。Aさんがメールを送信したときに、当然ですがBさんはメールソフトを
立ち上げている必要はありません。Aさんのメールは直接Bさんのメールソフトに届くわけではなく、
Bさんのメールのメールサーバーに届きます(これがキューに当たる)。
Bさんは都合のいいときにメールソフトを立ち上げれば、メールソフトはメールサーバーを見に行ってメールを
受け取ってくる、というイメージです。

さてメールは当然ながらメール自体に文章(文字列)を書いて相手に送れますが、
添付ファイルとして指定したファイルを相手に送ることもできます。
添付ファイルを送るということは、ファイルの中身を送るということではなく、
ファイルそのものを送ってくれます。

MSMQでも同じようにメッセージに文字列を指定してキューに送ることができますが、
メールの添付ファイルのように、ファイルそのものも送る機能があるようなんです。
それで昨日ご質問させていただいたように

> const filename = "d:\test\hello.txt"

> Set q = qinfo.Open(MQ_SEND_ACCESS, MQ_DENY_NONE)
> Set msg = WScript.CreateObject("MSMQ.MSMQMessage")
> Set f = file.GetFile(filename)
>
> msg.Label = "My Message"
> msg.Body = f
> msg.Send q

とやれば、"d:\test\hello.txt" にあるファイルを msg.Body(メッセージ本体)に指定することによって
メッセージとして飛んでいってくれるのかな?と初心者ながら思ったわけです。

>「msg.Bodyというプロパティに、"d:\test\hello.txt"という文字列を代入している」ことに
>なりますが、それはお望みの動作でしょうか?

違います(^o^) 上記のソースだとそうなってしまうんですか。あらら。

>もし、hello.txtの「中身」を代入したいのであれば、TextStreamを開く必要があります。

やりたいこととしましては、"d:\test\hello.txt" というファイル自体そのものを
メッセージとして送信したい、ということです(メールでいう添付ファイルのように)。
ファイルの中身を読み込んで中身の情報をメッセージとして送信したいということではありません。

> const filename = "d:\test\hello.txt"
> Set f = file.GetFile(filename)
> msg.Label = "My Message"
> msg.Body = f
> msg.Send q

というようにやれば、指定したファイルがオブジェクト化され、それを msg.Body にセットすれば
メールの添付ファイルのようにファイル自体そのものが送信されるのかな?と(ここが自信なし)

> msg.Body = f.path

とやると、"d:\test\hello.txt" がメッセージ本体に記述されて送信されてはいるので、
msg.Body にオブジェクトをセットすることが無理なのかな?

あとエラーメッセージの
”クラスはオートメーションをサポートしていません。”
の意味もなんだかわかりません。何かMSMQの設定が足りないのかもしれませんね。

オブジェクト、メソッド、プロパティの考え方がよくわかっている方に、
「あなたはオブジェクトとかプロパティとかがよくわかっていない。上記のような場合は○○○のように記述するのです。」
みたいなアドバイスをしていただけるとありがたいのですが。

みなさま、よろしくお願いいたします。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 12日 02時 00分 11秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: アオタ さん

> いまさらながらで申し訳ないのですが
> VBScriptで二次元配列を扱うようにする方法を思いついたので、
> お知らせします

おお、こういうフォローは大変ありがたいです。

> Arrayのネストで二次元配列が出来ます
> そのときむたぐちさんがかかれたソース
> ///////////////////
> a=array(array(1,2),array(3,4),array(5,6))
> msgbox a(1,1) 'エラー
> msgbox Join(a(1)) '"3 4"を返す
> ///////////////////
>
> ただむたぐちさんが書いていらっしゃった
> a(1,1)
> ではなく
> a(1)(1)
> というように書くことによって
> ちゃんと希望の値を得ることが出来ます

なるほど!
ちょっと視点を変えると、こういう優れたアイデアになるわけですね。

この方法で、三次元配列もどきとかもできる…かも。

> ただ、VBScriptで二次元配列を使うことがあるのか?という問題もあります

二次元配列自体は、結構使うことがあります。
ただし、Dim aHoge(○,○)のように宣言しないと使えないし、
配列サイズを変更するのに、わざわざReDimとかしないといけないので
面倒です。
その点、一次元配列ならArray関数で簡単に作れるので、利用頻度は高かったのですが、
アオタさんの方法を使えば、その恩恵を多次元(もどき)配列でも使えるという意味で、
利用価値が高いと思います。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 12日 01時 37分 10秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: 松島 さん

> Access2000 の機能では、あるフィールドを
> 漢字入力用のフィールドから「ふりがな」として関連付けると、
> 理想的な形でカタカナのふりがなが自動入力できます。

あらま、技術の進歩ってすごいんですね。

これって、やはりIME2000と連携して辞書データを取ってきているんですかねえ。
それとも、独自に辞書を持っているのかな?

> Access2000のActiveXコントロールにそういう機能が利用できるものがあれば、
> なんとかなるかもしれません。

どっちにしても、Windows版IE(で、Access2000がインストールされている環境)に限定されて
しまいそうですね。


To: いちにい さん

↑あ、1,2,3ってわけですか!

> VB5で、IE4のインスタンスを作成して、
> .body.innerHTMLで、ページ内容を動的に書き換えるまでは、
> 何とか判ったのですが、フレームページにコレを適用すると、
> エラーが出ます。
> エディタの補間機能でプロパティなどを見ると、HTMLFrameElement
> 等があるので、それらを使うみたいなんでが、判りません。
> フレームの場合は、どのように処理するのでしょうか?

document.framesが、各フレームのwindowオブジェクトのコレクションになります。

For Each subwindow In document.frames
subwindow.document.body.innerHTML="hoge"
Next

という感じでしょうか。

ただ、framesプロパティの、WSH等からの外部からの呼出しには致命的な
問題があって、詳しくは

26-14 管理人むたぐち 2000/12/14 22:53
14-49 管理人むたぐち 2000/05/25 00:13
12-07 管理人むたぐち 2000/04/14 05:01
10-07 管理人むたぐち 2000/03/03 00:53
9-21 管理人むたぐち 2000/02/23 18:44

をどうぞ。
# こうやって並べて見ると、毎回毎回同じぼやき方ですね(^^;
## "任意"がフレーム嫌いなのもそのためなのです(謎)

少なくとも、Win2000+IE5.5なら正常に動作しますが、駄目な環境も
多いってことです。

> 後、ここで公開されている、「desyu」に付いてですが、
> IE4では、だめですよね?
> IE4環境で、既に起動したIE4のページ内容を、
> 操作する方法は、有るのでしょうか?

desyuって何ですか? と思ってしまった(^^; 忘れてるし。
# desyoなら知ってます(^^; http://www.desyo.com/

IE4が統合されている環境、つまりshell32.dllが4.72以上なら動作します。
Win98なら問題ありません。
ただし、設定次第です。
ブラウザを異なるプロセスで起動させる設定にしていると駄目だったと思います。
(逆かもしれません)

> VB5で、ページのバックカラーや、文字カラーを変更する、
> ツールの作成を考えています。

がんばってくださいませ。

> VB6で、DHTMLを使っていると思われるツールが有ります。
> AIBAR2000。

後で見てみますね。
外部からCOM経由でIE(Webブラウザコントロール)のHTMLのDOMをいじくるソフトって、
あまりないですよね。
結構いろいろ応用ができそうな世界なんですが。

# .NET時代においては、HTMLのDOMはCOMじゃなくなるのかな?


To: ヤクシカ さん

> const filename = "d:\test\hello.txt"

> Set q = qinfo.Open(MQ_SEND_ACCESS, MQ_DENY_NONE)
> Set msg = WScript.CreateObject("MSMQ.MSMQMessage")
> Set f = file.GetFile(filename)
>
> msg.Label = "My Message"
> msg.Body = f
> msg.Send q

私は、MSMQがなんなのかすらわからないんですが、上のコードは、
「msg.Bodyというプロパティに、"d:\test\hello.txt"という文字列を代入している」ことに
なりますが、それはお望みの動作でしょうか?

もし、hello.txtの「中身」を代入したいのであれば、TextStreamを開く必要があります。
詳しくはLesson15をどうぞ。

アオタ さん (no_tak@kcn.ne.jp) 2001年 04月 12日 00時 41分 16秒
URL:null

To: みなさん

はじめまして

いまさらながらで申し訳ないのですが
VBScriptで二次元配列を扱うようにする方法を思いついたので、
お知らせします

31-46 管理人むたぐち さん 2001/03/02 01:45
で、むたぐちさんがおっしゃっているように、
Arrayのネストで二次元配列が出来ます
そのときむたぐちさんがかかれたソース
///////////////////
a=array(array(1,2),array(3,4),array(5,6))
msgbox a(1,1) 'エラー
msgbox Join(a(1)) '"3 4"を返す
///////////////////

ただむたぐちさんが書いていらっしゃった
a(1,1)
ではなく
a(1)(1)
というように書くことによって
ちゃんと希望の値を得ることが出来ます

ただ、VBScriptで二次元配列を使うことがあるのか?という問題もあります

以上 アオタでした


ヤクシカ さん 2001年 04月 11日 18時 37分 27秒

みなさま初めまして。初心者でございます。
今回はMSMQのことでお聞きしたいことがあります。

"d:\test\hello.txt"

というファイルをキューにメッセージとして送ろうと、次のようなソース(test.vbs)を書いてコマンドラインで

wscript.exe test.vbs

と実行してみました。

-------------------------------------------------------------

MQ_SEND_ACCESS=2
MQ_DENY_NONE=0
const filename = "d:\test\hello.txt"

'キューを探す
Set query = WScript.CreateObject("MSMQ.MSMQQuery")
Set file = WScript.CreateObject("Scripting.FileSystemObject")
Set qinfos = query.LookupQueue(,,"Test Queue")

Set qinfo = qinfos.Next
If qinfo Is Nothing Then
Set qinfo = WScript.CreateObject("MSMQ.MSMQQueueInfo")
qinfo.PathName = ".\testqueue"
qinfo.Label = "Test Queue"
qinfo.Create
End If

Set q = qinfo.Open(MQ_SEND_ACCESS, MQ_DENY_NONE)
Set msg = WScript.CreateObject("MSMQ.MSMQMessage")
Set f = file.GetFile(filename)

msg.Label = "My Message"
msg.Body = f
msg.Send q

q.Close
Set f = Nothing
Set file = Nothing

-------------------------------------------------------------

そうすると

msg.Body = f

のところで

”クラスはオートメーションをサポートしていません。”

とエラーとなってしまいました。しかし、

msg.Body = "Test"

というように、文字列だと簡単に送れます。
MSMQは文字列だけでなくファイルも送れるとのことなので送れるはずなのですが、初心者なのでどこが悪いのかよくわかりません。
単純に記述の仕方が悪いだけなのかもしれませんが、どなたか良き指導をよろしくお願いいたします。

いちにい さん (petmail_@orihime.net) 2001年 04月 11日 13時 33分 04秒

むたぐち さん、初めまして。

色々検索していて、ここへ来ました。
DHTMLについてなんですが。
VB5で、IE4のインスタンスを作成して、
.body.innerHTMLで、ページ内容を動的に書き換えるまでは、
何とか判ったのですが、フレームページにコレを適用すると、
エラーが出ます。
エディタの補間機能でプロパティなどを見ると、HTMLFrameElement
等があるので、それらを使うみたいなんでが、判りません。
フレームの場合は、どのように処理するのでしょうか?

後、ここで公開されている、「desyu」に付いてですが、
IE4では、だめですよね?
IE4環境で、既に起動したIE4のページ内容を、
操作する方法は、有るのでしょうか?

VB5で、ページのバックカラーや、文字カラーを変更する、
ツールの作成を考えています。

環境:VB5、Win98、IE4。

ps:
VB6で、DHTMLを使っていると思われるツールが有ります。
AIBAR2000。
http://www.mfi.or.jp/miisan/

松島 さん (matsushima@popup.org) 2001年 04月 11日 08時 57分 26秒
URL:http://www.popup.org/ai/

To: ほんどう さん

> 上記の氏名に入力すると、自動にふりがなに"かな"が入るように
> したいのですが、方法を教えてください。

Access2000 の機能では、あるフィールドを
漢字入力用のフィールドから「ふりがな」として関連付けると、
理想的な形でカタカナのふりがなが自動入力できます。

Access2000のActiveXコントロールにそういう機能が利用できるものがあれば、
なんとかなるかもしれません。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 11日 01時 34分 28秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: ほんどう さん

> 氏名:<INPUT TYPE="text" name="text1">
> ふりがな:<INPUT TYPE="text" name="text2">
> 上記の氏名に入力すると、自動にふりがなに"かな"が入るように
> したいのですが、方法を教えてください。

それを実現しようと思ったら、語数一億二千五百万の人名辞書が必要です(^^;

まあ、冗談はさておき(というか、半ば本気ですけど)、少なくともDHTMLの機能の
範疇を超えていることは間違いないでしょうね。
ただ、最近のIMEは、人名辞書もそこそこ豊富ですし、再変換機能を駆使すれば、
なんとかなるかもしれません。

これを(人名辞書なしに)実現しようと思ったら、テキストボックス、というかIMEに送られた
キーコードを横取りする機能が必要になると思います。
漢字の氏名をコピーアンドペーストした場合は、それでは駄目ですけどね。

どっちにしても、APIを駆使してどうにかしないと駄目だと思います。
DHTMLではちょっと無理でしょう。

(市販の住所録ソフトとかでも、この機能を搭載したものはまだないんじゃないかなあ…)

ほんどう さん (hondou@mcsite.co.jp) 2001年 04月 10日 11時 57分 56秒

質問ですが、
氏名:<INPUT TYPE="text" name="text1">
ふりがな:<INPUT TYPE="text" name="text2">
上記の氏名に入力すると、自動にふりがなに"かな"が入るように
したいのですが、方法を教えてください。
よろしくお願いします。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 09日 04時 05分 45秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: 松島 さん

> これは予想なんですが、IEやOutlookに実装した後(もしくは実装する過程)で、
> RFCとして登録(?)されたんだと思います。著名にMicrosoftな人、と書いてありますし。

ああ、そうかもですね。
XML関係のRFC策定にも、MS関係者が関係している(意味不明だなあ(^^;)そうですね。

> 「&copyright;」が「(C)right;」と表示されたらNG、とか、(NN3/NN6はOK, NN4/IE5はNG)
> 「<!-- ドキドキ > ここはコメント-->」が「ここはコメント-->」と表示されたらNG、とか、(↑全滅)
> そのあたりでしょうか??

インライン要素のwidth属性が設定できなくなったとか。

> 進化というより、ポリシーの変化かもしれません。
> 以前と比べてウェブ回りの規格等に精通している人は確実に増えていますし、
> 曖昧な記述を許すことが言わば「レガシー」として
> 将来の不都合に繋がる可能性もありますしね(^-^;)。

その意味で、今回のバージョンアップは、評価が高いんじゃないかという気がします。
バージョンアップの方向性が、ずいぶん昔と違ってきていますよね。
ようやく、そういうところに手をつけられるほど余裕が出てきたというか。
(いや、本当により厳密になったかどうか、私自身が確認したわけではないので、実際は
全然そうではないという可能性もあることをご承知くださいませ(^^;)

> TCPの接続の確立や切断には、リスニングしているサーバと接続を掛けるクライアントの間で
> 数度の通信が必要なので、Ping的な時間のコストが掛かると思います。(^^;

SSTPLibを使うと、一瞬でSENDできて、処理も一瞬で戻ってくるんですが(選択肢を出さない場合)、
何か仕掛けがあるのかもしれませんね。
というわけで、当分SSTPLibを使うことにします。

…っていうか、このスクリプト、あんまり需要がない気がする。
むしろ、デフォルトの機能として、こういう機能があったらいいなっていう
気がします。
私にpiro.dllとかを作れる知識と環境と時間があればいいんですけどね(^^;
SSTPしか手を出せるところがないのが現状。

> IEが固まってしまうのはたぶん、BASP21と '同期的に' 動いていからではないでしょうか…。

そうだと思います。
IEとソケットを同時に操作しようとしているところに、そもそもの無理があるんです。

松島 さん (matsushima@popup.org) 2001年 04月 09日 00時 29分 52秒
URL:http://www.popup.org/ai/

To: むたぐち さん

> これはちょっと意外でした。
> てっきり、MSの独自形式だとばかり思っていました。

これは予想なんですが、IEやOutlookに実装した後(もしくは実装する過程)で、
RFCとして登録(?)されたんだと思います。著名にMicrosoftな人、と書いてありますし。
各製品バージョンの実装とRFCの違いは少なくなさそうですが(^^;;

> IE6って、HTMLの解釈がより厳密になったそうですね。
> つまり、今まで結構いいかげんだったにもかかわらず一応表示されていた部分が、
> IE6ではちゃんと表示されなくなる、ということになります。
> これって進化なのかな?

「&copyright;」が「(C)right;」と表示されたらNG、とか、(NN3/NN6はOK, NN4/IE5はNG)
「<!-- ドキドキ > ここはコメント-->」が「ここはコメント-->」と表示されたらNG、とか、(↑全滅)
そのあたりでしょうか??

仕様から外れた(誤った)記述の救済措置のために
仕様通りに記述したものが期待通りに処理されないことはマズいことだと思います(^^;)。

不適切な記述が「作成者の意図通りに処理されないこと」は
適切な記述が普及するためにも必要なことだと思います(^^;)。
#間違っていても不都合がなければ、人は間違いを直そうとしませんから。(^^;;)

進化というより、ポリシーの変化かもしれません。
以前と比べてウェブ回りの規格等に精通している人は確実に増えていますし、
曖昧な記述を許すことが言わば「レガシー」として
将来の不都合に繋がる可能性もありますしね(^-^;)。

> BASP21で書き直したんですけど(唐突)、ソケットのオープン(というか、クローズ?)が遅くて
> 使い物になりません(泣) IE固まりまくり。

TCPの接続の確立や切断には、リスニングしているサーバと接続を掛けるクライアントの間で
数度の通信が必要なので、Ping的な時間のコストが掛かると思います。(^^;
IEが固まってしまうのはたぶん、BASP21と '同期的に' 動いていからではないでしょうか…。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 08日 22時 43分 41秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

BASP21で書き直したんですけど(唐突)、ソケットのオープン(というか、クローズ?)が遅くて
使い物になりません(泣) IE固まりまくり。
SSTPLibの更新待ちか…。
というか、選択肢出すのは無理なのかもしれない…。スクリプトの限界を感じます。
(同時に複数の動作をさせようとしているのが、そもそも無理があるんですな)


To: Lib30 さん

> 同じMHTMLのファイルでも、MacIEが作ったのとWinIEが作ったのとは互換性がないんだとか。
> いったいどうなってるんだか...。

まあ、MSにそこまで求めるのは酷というものでしょう(^^;
というか、MacにIEがあるなんて忘れてましたよ(^^;
Mac版IEって、VBSは動くんでしたっけ?

Lib30 さん (lib30@write-off.f2s.com) 2001年 04月 08日 02時 01分 17秒
URL:http://www.ob.aitai.ne.jp/~kazoo/

とりあえず、春休みもあと一日、宿題もどうやらめどがついたLib30です。


> ちょっと前の Internet Watch の記事で知ったのですが、MHTMLの形式は
> RFC化されていたみたいです。

同じMHTMLのファイルでも、MacIEが作ったのとWinIEが作ったのとは互換性がないんだとか。
いったいどうなってるんだか...。


> IE6

この前アンインストールしたあと、よくわからないエラーが多発しIEが起動しなくなってしまいました。
もう一度IE6をインストールしたら戻りましたが。これってやっぱりMicrosoftの嫌がらせです。



管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 08日 01時 04分 19秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: 松島 さん

> ちょっと前の Internet Watch の記事で知ったのですが、MHTMLの形式は
> RFC化されていたみたいです。

これはちょっと意外でした。
てっきり、MSの独自形式だとばかり思っていました。

> http://www.atmarkit.co.jp/fwin2k/productreview/ie6pp/ie6_01.html
> 他の記事よりも、硬派な記事でした。

IE6って、HTMLの解釈がより厳密になったそうですね。
つまり、今まで結構いいかげんだったにもかかわらず一応表示されていた部分が、
IE6ではちゃんと表示されなくなる、ということになります。
これって進化なのかな?

> 昔、CtrlキーとAltキーとDelキーしかないキーボードの写真を見たことがあります。
> 裏ニュース! だったか pc-info だったか…。(^^;;

AhSKI!かも。

松島 さん (matsushima@popup.org) 2001年 04月 06日 22時 33分 08秒
URL:http://www.popup.org/ai/

To: むたぐち さん

> ○HTMLファイルをmhtファイルに変換するスクリプト(未完成)
> mhtファイルと言うのは、HTMLファイルとそれに使われている画像ファイル等を
> 一つのファイルにアーカイブする形式です。

ちょっと前の Internet Watch の記事で知ったのですが、MHTMLの形式は
RFC化されていたみたいです。

http://kt-www.jaist.ac.jp:8000/~ttate/cvs/icc/rfc/mime/rfc2110.txt (英語)

>はい、それにつきましては、今後の研究課題とさせていただきたいと思います。(わからないときの定型句)

研究資料。「3D ARTWORKS」が凄いです。
http://www.ne.jp/asahi/sh/g-explanation/
(無関係ネタすみません^^;)

> というと、そのソフトは膨大なデータベース(URLとかある種の語句(笑))を内部的に持っていて、
> 適合する語句が含まれていたら弾く、とかやっているんですかねえ。
> …そのデータベースは誰が作っているんだ(笑)

昔、「自主登録した」と主張するサイトをちらほら見かけました。

>> うーん、個人のマシンを持ち込む大義名分がないなぁ。(^^;
>もばいるしてるんだ! とか言っても駄目なんですか?

機密流出とか、ウィルスやらヤバげなソフトウェアの流入とかの可能性があるので、
会社によっては、フロッピー持ち入れやらもよく思われていないと思います…。

> そういうのは一般受けしない情報ですからねえ。

http://www.atmarkit.co.jp/fwin2k/productreview/ie6pp/ie6_01.html
他の記事よりも、硬派な記事でした。

>そういうわけで、今後ともよろしくです。

こちらこそ、よろしくお願いします(^^)。

> Ctrl+Alt+Del

昔、CtrlキーとAltキーとDelキーしかないキーボードの写真を見たことがあります。
裏ニュース! だったか pc-info だったか…。(^^;;

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2001年 04月 06日 19時 31分 29秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: Fumi さん

> 質問ですが、アプリケーションを終了させる場合はどうすればいいのでしょうか?

標準機能だけで実現するなら、ウィンドウにAlt+F4を送るか、WMIを使ってプロセスを終了するか、
どちらかになると思います。

以下の記事も参照してください。

31-46 管理人むたぐち 2001/03/02 01:45
14-29 管理人むたぐち 2000/05/15 20:59
10-46 管理人むたぐち 2000/03/20 07:07

エクスプローラやIEなら、別の方法で終了できます。
詳しくは、「ダウンロード」にあるallclose.vbsを見てください。

Fumi さん 2001年 04月 06日 16時 11分 04秒

はじめまして。
WSHを使ってアプリケーションを起動させる方法はテクニック集を拝見させて頂きましてわかりました。
質問ですが、アプリケーションを終了させる場合はどうすればいいのでしょうか?
素人質問で申し訳ありませんが、ご教授ください。
宜しくお願いいたします。

Return