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

To: 鮪の蒲焼き さん

> なんでかわからないのですが、
>
> ret = WshShell.AppActivate("Calculator")
>
> の書式にしないとなぜかアクティブになってくれないん
> です。なんでだろう...。他で何か変なことをやってる
> からかもしれません。

なんででしょう…。怪現象かも。

> ># レジストリのスタートアップ設定は、やはりログオン後に実行されるんでしょうか。
>
> はい。

やはりそうでしたか。

> >タスクバーをアクティブにする方法はわかりませんが、デスクトップは
> >WshShell.AppActivate "program" でなぜかできます。
>
> このへんの理由をさぐれば、タスクバーをアクティブにできるかも
> しれませんね。調べてみます。

VC++についている、spy++とかで調べれば何かわかるかも…。
私は持っていないので確認できませんが(^^;


To: Yasu さん

> 初めまして、最近VBSに興味を持ったものです。
> 非常に懇切丁寧なページなので、これからも利用させていただきます♪

どうもはじめまして。
これからもご利用くださいませ。いつまでも懇切丁寧かどうかは保証しませんけど(^^;



To: SIGNAL9 さん, 都々目 さん

> たまに出てくるSIGNAL9でございます。

たまにではないような気もするんですが(^^;
# ありがたいことです。

> ASPのご質問をWSHのサイトに出されるのは、個人的には妙な
> 話だと思いますが(^^;)いちおうご参考までに。

まあ、私からの回答が期待できないというだけで、別にASPの質問でもOKですよ。
また、今回のご質問は、FileSystemObjectに関するものなので、別にASP特有の
問題というわけでもないですしね。
# もしかすると、ASP+FileSystemObject特有の問題なのかも。

> 800a0046は、アクセス権限のエラー(Permission denied)です。

ご回答ありがとうございました。



To: なおきん さん

> 立て続けに質問なのですが,WSH5.6を入れて以来,プログラムにバグがあると,
> BEEPがなるようになってしまったのですが(これは僕だけでしょうか?)

ちょっと抽象的過ぎて状況がよくわからないですね。
まず、プログラムのバグとは何でしょうか。スクリプトエラーの類?
また、BEEPとは、Windows標準の警告音のことなのか、PCスピーカーの音なのか、どちらでしょう。
私のところでは、特に問題がないようですが。

> WSH5.6のアンインストールの方法を教えてください.

アプリケーションの追加と削除から…は、できないんですね(^^;
まあ、β版だしそんなもんか。

WSH2.0(Windows Script5.5)を上書きすることはできないのでしょうか。
試してみてください。
バージョンが上という理由で、上書きされないかもしれませんけど…。

それか、C:\WINDOWS\INF\SCR56EN.INFを"Active Uninstall"するといいのかも
しれません。やったことがないので何ともいえませんが…。

なおきん さん 2000年 12月 11日 23時 11分 38秒

ご返答ありがとうございました.
立て続けに質問なのですが,WSH5.6を入れて以来,プログラムにバグがあると,
BEEPがなるようになってしまったのですが(これは僕だけでしょうか?)

もし,みなさんもそうならば,そうでないにしても.
WSH5.6のアンインストールの方法を教えてください.

都々目 さん 2000年 12月 11日 16時 01分 04秒

>SIGNAL9 さん
そうそうレスありがとう御座います。(^^;

ちょっとあれかな?と思ったのですがVBSってあったのでOK?
と思って書いてしまいました。すいません以後気をつけます(^^;

教えて頂いたHP行ってみます。
有り難うございました。m(__)m


SIGNAL9 さん 2000年 12月 11日 15時 50分 11秒

たまに出てくるSIGNAL9でございます。

>都々目 さん
ASPのご質問をWSHのサイトに出されるのは、個人的には妙な
話だと思いますが(^^;)いちおうご参考までに。

>やっぱ出来ないんですかね・・・
出来ます(やってます)。

800a0046は、アクセス権限のエラー(Permission denied)です。
詳細はこちら。
http://support.microsoft.com/support/kb/articles/Q197/9/64.ASP

>このエラーコードがなんなのかそれでも判ればいいのですが・・・
>出なければ、このエラーの詳細等が書かれてるHPとかありますでしょうか?

ASPのサイトで聞くか、MSのHPで検索しましょう。
http://search.microsoft.com/us/SearchMS25.asp

都々目 さん 2000年 12月 11日 14時 51分 28秒

どうも始めてカキコさせて頂きます。
実はasp上でVBscriptを使って作ってるのですが
FileSystemObjectオブジェクトで共有ファイルがオープン出来ない(エラーとなります)のですが、やられている方いますでしょうか?
やっぱ出来ないんですかね・・・

fname = "f:\test.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(fname)

fnameはちゃんとあるファイルを記述しています。
但し共有フォルダなので、f:とかG:なんですけどね・・・
因みにこのファイルはメモ帳でもなんなくオープンできます。
エラーコード:800a0046 です。
このエラーコードがなんなのかそれでも判ればいいのですが・・・
出なければ、このエラーの詳細等が書かれてるHPとかありますでしょうか?
よろしくお願いします。

Yasu さん 2000年 12月 10日 02時 28分 04秒

初めまして、最近VBSに興味を持ったものです。
非常に懇切丁寧なページなので、これからも利用させていただきます♪

鮪の蒲焼き さん 2000年 12月 08日 20時 04分 19秒

To:管理人むたぐちさん

>あれ、特に違いがないようにも思えるんですが…。

なんでかわからないのですが、

ret = WshShell.AppActivate("Calculator")

の書式にしないとなぜかアクティブになってくれないん
です。なんでだろう...。他で何か変なことをやってる
からかもしれません。

># レジストリのスタートアップ設定は、やはりログオン後に実行されるんでしょうか。

はい。

>WshShell.SendKeys "^{ESC}"
>はどうですか?

ありがとうございます。確かにスタートメニューが表示されますね。

>タスクバーをアクティブにする方法はわかりませんが、デスクトップは
>WshShell.AppActivate "program" でなぜかできます。

このへんの理由をさぐれば、タスクバーをアクティブにできるかも
しれませんね。調べてみます。

ありがとうございました。

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

To: 鮪の蒲焼き さん

> WshShell.AppActivate "Calculator"
>
> ではなく、当Labにあった
>
> ret = WshShell.AppActivate("Calculator")
>
> の形で書き換えたら、きちんとウィンドウがアクティブになりました。

あれ、特に違いがないようにも思えるんですが…。
Do While ret=False...Loop とかを使ったのでしょうか?

> #ヘルプファイルがヘルプになってない...

(^^;

> JScriptではないのですが、サービスとしてその実行ファイル
> を設定しておくというのは、いかがでしょうか。これなら、
> ログオン前に実行されますし。

なるほど、そういう手がありますね。
# レジストリのスタートアップ設定は、やはりログオン後に実行されるんでしょうか。

> Windowsのタスクバーをアクティブにし、SendKeysでEnterを設定して、
> スタートメニューを表示させたいと思っています。この場合、AppActivate
> メソッドでは、引数に何を指定したらよいのでしょうか。

WshShell.SendKeys "^{ESC}"
はどうですか?

タスクバーをアクティブにする方法はわかりませんが、デスクトップは
WshShell.AppActivate "program" でなぜかできます。

鮪の蒲焼き さん 2000年 12月 08日 18時 41分 30秒

To:なおきんさん

JScriptではないのですが、サービスとしてその実行ファイル
を設定しておくというのは、いかがでしょうか。これなら、
ログオン前に実行されますし。

「[NT] ユーザー定義サービスの作成方法」
http://www.microsoft.com/JAPAN/support/kb/articles/j040/4/75.htm

これはNT4用なので、W2KSvrに適用できるのかわかりませんが。
参考になれば幸いです。

To:皆様へ

Windowsのタスクバーをアクティブにし、SendKeysでEnterを設定して、
スタートメニューを表示させたいと思っています。この場合、AppActivate
メソッドでは、引数に何を指定したらよいのでしょうか。

なおきん さん 2000年 12月 08日 17時 47分 46秒

再度質問させてください.
この際タスクスケジューラでなくても,なんでもOKなのですが,

#でも多分タスクスケジューラでないとだめかも・・・

Windows2000Server起動時に,(ログオン前に)あるexeを起動するように,
JScriptから設定する方法をどなたか分かりましたら,教えてください.

お願いします.

鮪の蒲焼き さん 2000年 12月 08日 17時 47分 07秒


>結論を言うと、ヘルプが間違っています。
>AppActivateメソッドで、ウィンドウのタスクIDを指定することはできません。

ま、マジっすか・・・(;_;)

>もし、Jog Dial Windowに、二重起動抑制機構が備わっていれば、Runメソッドで
>Jog Dial Windowをもう一度実行すると、アクティブになると思います。

はい。なりました。実は、タスクリスト(CTRL+ALT+DELで表示)に表示される
名前、「Jog Dial Status Window」を、Microsoft Windows Script Hostの
ヘルプに書いてあったやり方、

WshShell.AppActivate "Calculator"

ではなく、当Labにあった

ret = WshShell.AppActivate("Calculator")

の形で書き換えたら、きちんとウィンドウがアクティブになりました。

ありがとうございました。

#ヘルプファイルがヘルプになってない...

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 12月 08日 16時 31分 20秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: なおきん さん

> 説明不足でしたが(ごめんなさい)2000serverで,ログオンしなくても
> 起動時にexeが起動するように設定したいのです.

レジストリのHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run
の記述は、ログオン前に起動するんでしたっけ?
それなら、こちらを使うのもいいかも。

> タスクスケジューラには,起動時にうんぬんというのがあるので・・・

これは、スタートアップと変わらなかったと思います。
つまり、ログオン時に実行、ということでは?

> WMIならいけるのかな・・・・?

WMIを使う場合でも、結局ATコマンドで実現できることしかできないと思います。



To: 鮪の蒲焼き さん

> WshShellオブジェクトのAppActivateメソッドで引数にウィンドウのタイトル
> を指定しますが、「Windows Script Host 2.0 ドキュメント」によると、タス
> クIDによる指定も可能と書いてあります。さて、起動中のソフトウェアのタスク
> IDはどのように取得したらよいのでしょうか。

結論を言うと、ヘルプが間違っています。
AppActivateメソッドで、ウィンドウのタスクIDを指定することはできません。

そもそもこのWSH2.0のヘルプは、VBのヘルプを一部流用したと思われ、
本家VBの機能からWSHに移植された際省かれた機能の記述が残っていたりします。
このミスなど、まさにそれに該当します。

VBでは、AppActivate関数(ステートメントだったかも)の引数に、Shell関数
(アプリを実行する関数)の返り値、つまりタスクIDを指定できたのです。

WSH2.0のヘルプは、ほかにも結構間違いがあるので、あまり信用しないほうがいいです。

> 具体的には、SonyのVaioに搭載されているジョグダイヤルを管理してているソ
> フトウェア、「Jog Dial Window」はタスクとしては「Jog Dial Status
> Window」として起動されているのですが、タスクバーにそのタイトルが表示さ
> れていないため、アクティブにできません。

もし、Jog Dial Windowに、二重起動抑制機構が備わっていれば、Runメソッドで
Jog Dial Windowをもう一度実行すると、アクティブになると思います。
そうでなければ、実現はちょっとむずかしいですね。

鮪の蒲焼き さん 2000年 12月 08日 15時 53分 05秒

皆様、はじめまして。2日前にWSHと出会い、すっかり気に入ってしまいました。

WshShellオブジェクトのAppActivateメソッドで引数にウィンドウのタイトル
を指定しますが、「Windows Script Host 2.0 ドキュメント」によると、タス
クIDによる指定も可能と書いてあります。さて、起動中のソフトウェアのタスク
IDはどのように取得したらよいのでしょうか。

ウィンドウのタイトルを指定しないのは、タスクバーにそのタイトルが表示さ
れていない場合は、タイトルを指定してもウィンドウはアクティブにならない
からです。

具体的には、SonyのVaioに搭載されているジョグダイヤルを管理してているソ
フトウェア、「Jog Dial Window」はタスクとしては「Jog Dial Status
Window」として起動されているのですが、タスクバーにそのタイトルが表示さ
れていないため、アクティブにできません。

このようなウィンドウをアクティブにするには、タスクIDの取得が必要にな
りますが、Microsoft Scripting TechnologiesのHPなどを見ましたが、こ
のIDに関する情報を探し当てることができず、苦慮していまます。

タスクIDに関し、教えていただけないでしょうか。

なおきん さん 2000年 12月 08日 10時 54分 14秒

管理人さまありがとうございます.
ATコマンドを使う方法は,だめっぽいです.

説明不足でしたが(ごめんなさい)2000serverで,ログオンしなくても
起動時にexeが起動するように設定したいのです.

タスクスケジューラには,起動時にうんぬんというのがあるので・・・
WMIならいけるのかな・・・・?

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 12月 07日 21時 06分 55秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

.NET FrameworkとCommon Language Runtimeについての記事
を見つけたので、興味のある方はどうぞ。
なんかわかりやすそうです。私もこれから読んでみます。
http://biz.ascii24.com/biz/sp/article/2000/10/25/619000-000.html

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

To: KAS さん

> 下の方に出てましたね
> Wscrip.Sleep(Time)
> 失礼しました

ご自分で解決されたんですね。良かったです。
ちなみに、VBSでは()をはずしておかないと、エラーになったりします。



To: なおきん さん

> jScriptでタスクスケジューラにタスクを登録する方法ってありますか?

WMIを使う方法:
13-35 管理人むたぐち さん 2000/04/30 01:54

ATコマンドを使う方法:
22-43 たか さん 2000/10/05 15:51
17-34 管理人むたぐち さん 2000/07/17 19:15

どっちみち、NTか2000でしか動作しないと思います。
残念ながら、タスクスケジューラにタスクを登録するCOMコンポーネントは、
(少なくともシステム標準状態では)ありません。
以前、Shell.Applicationを使っていろいろ試してみたんですけど、結局
うまくいきませんでした…。

なおきん さん 2000年 12月 07日 18時 29分 43秒

ちょっと質問させていただきたいのですが,
jScriptでタスクスケジューラにタスクを登録する方法ってありますか?

だれか教えてください.よろしくお願いします.

KAS さん 2000年 12月 05日 17時 55分 29秒

自己レスです

下の方に出てましたね
Wscrip.Sleep(Time)
失礼しました

KAS さん 2000年 12月 05日 17時 40分 33秒

WHSの中で処理を数秒間中断することは出来ますか?

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

○WSH5.6続報

先日紹介した、WSH5.6ですが、機能紹介ドキュメントが翻訳されています。
http://www.asia.microsoft.com/japan/developer/workshop/languages/clinic/scripting11132000.asp

WshRemoteは、NT/2000のドメイン環境下でしか動作しないようですね。
そりゃそうか。
ということは、WMIも…。

ついでに、JScript.NETの日本語版記事もありました。
http://www.asia.microsoft.com/japan/developer/workshop/languages/clinic/scripting07142000.asp

それにしても、WSH(Scripting)のプロジェクトチームは、ユーザーの意見を
積極的に取り入れる姿勢があって、好感が持てます。
ニュースグループにも関係者と思しき人物が頻繁に投稿していたり。
また、ScriptX、PrimalScript、ActivePerlなど、Microsoft以外の有益な
プロダクツに関しての紹介などもしていたりします。
Microsoftでは稀有な(異端な)分野かも。

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

To: ふぁんたz さん

> それにしてもWSHは簡単・便利ですよね.

私もそう思います。もっとブレイク(死語かも)してもよかったんですけどねえ。
それより先に悪名がとどろいてしまいました。

> 僕はお気に入りの整理に利用(リンク切れしたショートカットの多いこと!)したんですが,今度はメールの整理に挑戦したいと思います.

おお、ぜひぜひ活用なさってくださいませ。
# リンク切れってどうやって判断するのかな?



To: SAS さん

> ファイルシステムオブジェクトについて質問なのですが
> object.WriteLine で "(ダブルクォーテション)をテキストファイルに書き込みたいのですがどうすれば良いのでしょうか?

VBSなら、Chr(34)がダブルクォートですね。
もしくは、"" のように、2個重ねても、" 1個分とみなされます。



To: SIGNAL9 さん

> .NETだと、VBScriptはVBに吸収…って感じなので、VBSプログ
> ラマはVBという選択以外に、意外にC#、という選択も無きにしも
> あらずでしょうか。
> #ちなみに.NETでは現時点ではC#,VB(7.0相当),JScriptがサ
> #ポートされています。

とりあえず、VBSはなくなるもののVBが残ってくれるなら、個人的には
問題なしです。
でも、これを機に、C#をまじめに勉強してもいいかなあ、と思っていたりします。

> 残念ですが、WSHは無くなる方向のような気もします(あくまで私
> 見ですが…。システムとしては残るでしょうけど、メインストリー
> ムからは外れるような気がします…てゆーか.NETはWindowsシステ
> ムそのものの大変更に繋がるので、いいだせば「あらゆる既存の」
> モノに影響が出るとおもうんですけど^^;)。

そうですね。.NETを見れば見るほど、WSHって要らないよな(ていうか、
Common Language RuntimeがWSHの機能を全部引き継いでるようなもの?)、
と感じてしまいます。
でも、スクリプト環境という観点から言えば、現在よりはるかに
パワーアップすることになるわけですから、それほど悲観は
していません。(まあ、私は趣味でやってるだけなので、たのしければ
なんでもOK!)

ただ、お手軽スクリプト環境が、私のような「プログラマでない人間」
の手から離れて、再び、プログラマだけのものになりはしないか、という
危惧があります。今のWSHみたいに、ちょっと勉強しさえすれば、誰もが
この便利なモノを享受できるといいなあ、と思います。

> 既存のCOMも(長い目で見れば)なくなってしまうので、今後の開発の
> 乗換えとか考えると頭が割れるように痛いです(笑)

結局、WSHはCOM時代の申し子であったわけで、COMの時代が過ぎれば、
表舞台から退場していただくべきものですね。

# で、うちのページはこれからどうするんだろう…。
# 私もそろそろ退場かな?

SIGNAL9 さん 2000年 12月 04日 18時 21分 47秒

ども。たまにお邪魔のSIGNAL9です。

>> VBよりjavaScriptのほうがちょっとだけ好きなんです.
>これからはC#の時代…かも。

.NET Framework SDK(β)でチョコチョコ触ってますが、
確かにC#の記述性のラクさは捨てがたいものがありますね(笑)。
.NETだと、VBScriptはVBに吸収…って感じなので、VBSプログ
ラマはVBという選択以外に、意外にC#、という選択も無きにしも
あらずでしょうか。
#ちなみに.NETでは現時点ではC#,VB(7.0相当),JScriptがサ
#ポートされています。

残念ですが、WSHは無くなる方向のような気もします(あくまで私
見ですが…。システムとしては残るでしょうけど、メインストリー
ムからは外れるような気がします…てゆーか.NETはWindowsシステ
ムそのものの大変更に繋がるので、いいだせば「あらゆる既存の」
モノに影響が出るとおもうんですけど^^;)。

#VBSしか知らない人は大変だろうなあ、と思います(^^;)。

既存のCOMも(長い目で見れば)なくなってしまうので、今後の開発の
乗換えとか考えると頭が割れるように痛いです(笑)

SAS さん 2000年 12月 04日 17時 50分 19秒

ファイルシステムオブジェクトについて質問なのですが
object.WriteLine で "(ダブルクォーテション)をテキストファイルに書き込みたいのですがどうすれば良いのでしょうか?

ふぁんたz さん 2000年 12月 03日 11時 34分 57秒

ほんとだ.出来ますね.どうもありがとうございました.
それにしてもWSHは簡単・便利ですよね.
僕はお気に入りの整理に利用(リンク切れしたショートカットの多いこと!)したんですが,今度はメールの整理に挑戦したいと思います.
これからもお世話になります.

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

To: イエペス さん

> 素早いレスありがとうございます。

基本的に、管理人が興味を持っていることがらへの返事は早いようです(^^;

> 理解不足でした。頑張ってみます。

以前作った、「ディレクトリのTree構造を書き出す」スクリプトが参考になるかも
しれません。

> 私の勘違いとミスで、お手数をかけましたことをお詫びします。

いえいえ。



To: ふぁんたz さん

イエペスさんへの返事に書いたこととまったく同じことをすることで、
なぜかうまくいきます。(タイムリーですね)
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shellfol.htmにも
書いてます。

> Favorites内の最終表示日時を表示させたいのですが,駄目でした.
> // favProp.js
> Shell = WScript.CreateObject("Shell.Application");
> objFolder = Shell.NameSpace(6);
objFolder.GetDetailsOf(null, 5);
// ↑という行をここに追加。
> var fi = new Enumerator(objFolder.Items());
> for(; !fi.atEnd(); fi.moveNext()){
> WScript.echo(objFolder.GetDetailsOf(fi.item(), 5));
> }

これでOKだと思います。

> VBよりjavaScriptのほうがちょっとだけ好きなんです.

これからはC#の時代…かも。
ONOさんのページhttp://www.corebase.co.jp/shu/に、C#のサンプルスクリプトが
公開されましたので、興味のある方はどうぞ。

ふぁんたz さん (sato@s2.toyota-ti.ac.jp) 2000年 12月 01日 17時 51分 33秒

はじめまして!WSHはおもしろいですね.
Favorites内の最終表示日時を表示させたいのですが,駄目でした.
// favProp.js
Shell = WScript.CreateObject("Shell.Application");
objFolder = Shell.NameSpace(6);
var fi = new Enumerator(objFolder.Items());
for(; !fi.atEnd(); fi.moveNext()){
WScript.echo(objFolder.GetDetailsOf(fi.item(), 5));
}
なんでなんですかね?
VBよりjavaScriptのほうがちょっとだけ好きなんです.

イエペス さん 2000年 12月 01日 00時 54分 56秒

To: 管理人むたぐち さん
素早いレスありがとうございます。

>> このやり方でメニューのキャプションは取得できました。で、コマンドはコ
>>ーディングするということでしょうか?
>ちょっと変な表現をしてしまいましたが、スクリプトの書き方次第では、
>「送る」フォルダのサブフォルダの中身まで再帰的に列挙することも可能ですね、
>ということが言いたかったのでした。
理解不足でした。頑張ってみます。

>> 一つ目の引数を省略すると、コンパイルエラーで実行できませんでした。
>> IE4ではダメなのでしょうか?
>いえ、IE4でいけたはずですが…。
>GetDetailsOf(,1) のようにされていますか?
>省略しなくても、何か適当な値を入れるのでもいいみたいですが。
>folder.htt(これはJScriptで記述されていますが…)も参考にしてみてくださ。
最初に教えて頂いた通りでできました。エラーは別物でした。申し訳有りません。

私の勘違いとミスで、お手数をかけましたことをお詫びします。
いろいろ教えて戴き、ありがとうございました。今後も、宜しくお願い致します。

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

To: イエペス さん

> このやり方でメニューのキャプションは取得できました。で、コマンドはコーディングするということでしょうか?

ちょっと変な表現をしてしまいましたが、スクリプトの書き方次第では、
「送る」フォルダのサブフォルダの中身まで再帰的に列挙することも可能ですね、
ということが言いたかったのでした。

> > # ちなみにFolderItemVerbsオブジェクトをWin98で参照しようとするとエラー
> > になってしまいます。
> エラーメッメージは出ませんが、ヌル文字が返されます。

お、そうなんですか。
以前Win98で実行すると、WSHが強制終了したりしたのですが(^^;
今、Win98SEで試してみると、強制終了はしないものの、なんかよくわからない
エラーがいろいろ出ます。
どうも、FolderItemVerbsオブジェクトから各FolderItemVerbオブジェクトを
抜き出す処理がおかしいみたいです。

参考記事:
4-41 【おじさま】 さん 1999/11/26 13:50
4-40 管理人むたぐち さん 1999/11/26 08:30
4-39 【おじさま】 さん 1999/11/26 02:01
4-38 【おじさま】 さん 1999/11/26 01:20
4-37 管理人むたぐち さん 1999/11/25 17:16

# ちょうど一年前だな〜

> > http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shellfol.htmにも書い
> > ていますが、一つ目の引数を省略すると取得できます。
> 一つ目の引数を省略すると、コンパイルエラーで実行できませんでした。
> IE4ではダメなのでしょうか?

いえ、IE4でいけたはずですが…。
GetDetailsOf(,1)
のようにされていますか?
省略しなくても、何か適当な値を入れるのでもいいみたいですが。
folder.htt(これはJScriptで記述されていますが…)も参考にしてみてください。

イエペス さん 2000年 11月 30日 18時 47分 28秒

To: 管理人むたぐち さん
  レスありがとうございます。

> For Each Item In Shell.NameSpace(9).Items のように…。
> コーディング次第で、サブフォルダの中身も参照できますね。
このやり方でメニューのキャプションは取得できました。で、コマンドはコーディングするということでしょうか?

> # ちなみにFolderItemVerbsオブジェクトをWin98で参照しようとするとエラー
> になってしまいます。
エラーメッメージは出ませんが、ヌル文字が返されます。

> http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shellfol.htmにも書い
> ていますが、一つ目の引数を省略すると取得できます。
一つ目の引数を省略すると、コンパイルエラーで実行できませんでした。
IE4ではダメなのでしょうか?

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 11月 30日 10時 53分 58秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

"投稿王は誰だ!? for Datula"ですが、idxファイルの破壊の原因がこのスクリプトに
あるのかどうか、よくわからないというメールをいただきました。
ですが、安全が確認されるまで(^^;一応公開を見合わせます。



To: イエペス さん

> 1.ShellオブジェクトのFolderItemVerbsオブジェクトを列挙して、コンテキストメニュー
> をつくったんですが、「送る」とそのサブメニューを取得する方法ってあるんでしょうか?

C:\Windows\SendToのFileItemオブジェクトを参照すればいいのではないでしょうか。
For Each Item In Shell.NameSpace(9).Items のように…。
コーディング次第で、サブフォルダの中身も参照できますね。

# ちなみにFolderItemVerbsオブジェクトをWin98で参照しようとするとエラーになってしまいます。

> 2.ShellオブジェクトのGetDetailsOfメソッドでオブジェクトの情報は取得できるんですが、
> 「名前」や「サイズ」等のラベル名を取得する方法ってあるんでしょうか?

http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shellfol.htmにも書いていますが、
一つ目の引数を省略すると取得できます。

イエペス さん 2000年 11月 29日 12時 59分 21秒

こんにちは。イエペスです。
1.ShellオブジェクトのFolderItemVerbsオブジェクトを列挙して、コンテキストメニュー
をつくったんですが、「送る」とそのサブメニューを取得する方法ってあるんでしょうか?
2.ShellオブジェクトのGetDetailsOfメソッドでオブジェクトの情報は取得できるんですが、
「名前」や「サイズ」等のラベル名を取得する方法ってあるんでしょうか?
以上、宜しくお願い致します。

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

以前作った"投稿王は誰だ!? for Datula"というスクリプトを実行すると、idxファイル
(メールメッセージのインデックスファイル)が破壊されたようだ、というご指摘を受けたので
公開を一時中止します。

このスクリプトでは別に書き込み処理を行っているわけでもないので、
FileSystemObjectで行数の多いテキストファイルを開いたときのバグかもしれないです。
# 追試してみる必要がありますね。

もしこのスクリプトによってidxファイルが破壊されてしまった、という方は、
http://hp.vector.co.jp/authors/VA014121/export.htmにある、Export from Datula GUI edition
を使ってみてください。おそらくメール本文のファイルが無事ならこれでidxファイルを
修復できると思います。

ところで、Datula ver1.5以降では、Fromヘッダがエンコードされたまま記録されるので、
このスクリプトを使ってもあまりうれしくないかもしれません。
これを機会に公開そのものを中止することも考えています。




To: tigermask さん

> ”スクリプトにオプションをつけて実行してみてください。”
> というのが,「スクリプトの中に」という意味だと思っていました。

誤解を受けやすい記述だったかもしれません。
気が向いたら(^^;書き直します。
# 例もいまいちですしね。というか、あのLessonは前半部分で力尽きたのです(爆)

> どうして「丸める」なんて,ややこしい言い方をするんでしょうね?

"round"の直訳かな、とも思いましたが…。
プログラマ用語でしょうか。一応広辞苑には載ってました。



To: TAMAGO さん

> vbsファイルで組んだプログラムでルーターの”SYSLOG”を
> 取得することはできるのでしょうか?教えてください。

すいません、SYSLOGが何であるかすらよくわかりません(^^;
WMIあたりでできるのかな…。

TAMAGO さん (yu-sakai@tk9.so-net.ne.jp) 2000年 11月 28日 11時 15分 20秒

はじめまして!!
WSHはまだはじめて4ヶ月ぐらいしか経っていなく、ただいま勉強中です。

vbsファイルで組んだプログラムでルーターの”SYSLOG”を
取得することはできるのでしょうか?教えてください。

tigermask さん (tigermask7777@anet.ne.jp) 2000年 11月 27日 22時 29分 04秒

TO 管理人むたぐち  さん

> スクリプト中に記述するということではなく、スクリプトを実行する際、このように
> オプションを指定して実行してください、という指示です。
ありがとうございました。ばっちりできました。

”スクリプトにオプションをつけて実行してみてください。”
というのが,「スクリプトの中に」という意味だと思っていました。


> 丸めるって四捨五入ってことだったんですね。(知らなかった)
> でも、roundという単語を英和辞書で引くと、切り捨て/切り上げと書いてあります…。
> 実はVBSのバージョンによって挙動が違ったりして。
大学の時casioのポケコンでプログラム(BASIC)を習ったのですが,
その時に「丸める」というのが,「四捨五入」と習った気がします。
どうして「丸める」なんて,ややこしい言い方をするんでしょうね?

どうもありがとうございました

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 11月 27日 13時 33分 58秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

ついでに…
http://www.juno.dti.ne.jp/~shuyo/etc/hitblow.html
こんなページを見つけたので、これを参考に、思考ルーチンを作ってみるのも
面白いでしょう。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 11月 27日 13時 15分 42秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: Tigermask さん

> Lesson12のWshArgumentsオブジェクトのオプションについて教えて下さい。
> (例) C:\nantoka.vbs aiueo kakikukeko sasisuseso (ファイル名を指定して実行)
> は,どこに書けばいいのでしょうか?
> また,C:\nantoka.vbsは自分が作ったvbsのことだと思うのですが,
> aiueo kakikukeko sasisusesoは,いったい何のことなんでしょうか。

スクリプト中に記述するということではなく、スクリプトを実行する際、このように
オプションを指定して実行してください、という指示です。

Lesson12にも書いていますが、WshArgumentsオブジェクトは、スクリプトに与えられた
コマンドラインオプションを保持しています。
ですから、「ファイル名を指定して実行」から、スクリプトにオプションを指定して
(この場合、aiueo,kakikukeko,sasisusesoの3つのオプションを指定していることになります)
実行すると、WshArgumentsオブジェクトを使って、与えられたオプションを調べることが
できるわけです。

> Lesson6に,以下のような説明がありますが,
> Round関数は、指定した数を、指定した小数点で丸める(切り捨てる)関数です。
> 四捨五入ではないのでしょうか。

やや、たしかに四捨五入ですね。
ヘルプには丸め処理だと書いてあったので、そう信じていました(^^;
というか、丸めるって四捨五入ってことだったんですね。(知らなかった)
でも、roundという単語を英和辞書で引くと、切り捨て/切り上げと書いてあります…。

同様に、FormatNumber関数などでも四捨五入されます。

実はVBSのバージョンによって挙動が違ったりして。

> 25年くらい前,私は小学生だったんですが,大流行しました。
> そのときは4桁でやっていて,「ホームラン」と「ヒット」という言葉を使っていました。

ちょっとGoogleで調べてみたんですが、ヒットアンドブロー(Hit&Blow)というのが
やはり正式名称らしいです。
「ボール」や「ホームラン」というのは、「ヒット」からの派生でしょうね。

4桁とはまたすごいですね。私なんか3桁で苦戦します(^^;

Tigermask さん (Tigermask7777@anet.ne.jp) 2000年 11月 27日 10時 56分 56秒

Lesson12のWshArgumentsオブジェクトのオプションについて教えて下さい。
(例) C:\nantoka.vbs aiueo kakikukeko sasisuseso (ファイル名を指定して実行)
は,どこに書けばいいのでしょうか?
また,C:\nantoka.vbsは自分が作ったvbsのことだと思うのですが,
aiueo kakikukeko sasisusesoは,いったい何のことなんでしょうか。

復習しても,MicrosoftのVBSScriptのヘルプを見てもよく分かりません。
よろしくお願いいたします。


Lesson6に,以下のような説明がありますが,
Round関数は、指定した数を、指定した小数点で丸める(切り捨てる)関数です。
四捨五入ではないのでしょうか。

r=Round(3.14159,2)
MsgBox r
とすると,3.14が返されますが,

r=Round(3.14159,3)
MsgBox r
とすると,3.142が返されます。


余談ですがLesson8で,
#ところで「ドロー」っていう言い方、正しいんでしょうか…? 自信なし(^^;
##↑「ボール」というのが正解らしいです。
とあります。

25年くらい前,私は小学生だったんですが,大流行しました。
そのときは4桁でやっていて,「ホームラン」と「ヒット」という言葉を使っていました。
地域によって違うんですね。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 11月 25日 16時 11分 50秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: asc さん

> プリンターの接続は出来ても、切断が出来ません
> なぜなのか教えてください

とおっしゃられても、こちらとしては答えようがないのですが(^^;
まず、切断できないというのはどういう状況なのでしょうか。エラーが出るのでしょうか?
次に、AddWindowsPrinterConnectionとRemovePrinterConnectionでは、異なるパスを
指定しているようですが、RemoveするのはWSHからAddしたプリンタではないという
ことでしょうか。
また、RemovePrinterConnectionメソッドのヘルプによると、「プリンタにローカル名
(たとえば LPT1) とリモート名の間の割り当てがある場合は、ローカル名を指定します。」
とありますが、この場合に当てはまらないのでしょうか。
RemovePrinterConnectionメソッドの第二引数のbForceをTrueにした場合は
どうでしょうか。

これらについての情報がとりあえず欲しいです。
# といっても、私はネットワークプリンタの扱いがいまいちよくわかっていないので、
# 答えられない可能性が高いですが(^^;




To: たか さん

>  ブラウザはIEを使用し、リンクをASP・VBSCRIPとかを利用し
>  エクセルシートをローカル側にあるエクセル.exeで起動する
>  方法はあるのでしょうか?

セキュリティ上の問題で、デフォルトではできないようになっているはずです。
xlsファイルをダウンロード時に開く確認のダイアログを出さないように、
クライアントの各マシンを設定すればいいと思います。
それは「フォルダオプション」でできます。
あとは普通にxlsファイルにリンクを張っておけばよいでしょう。

クライアントの設定にかかわらず、強制的にExcelを立ち上げる方法はないと思います。
というか、できたら困ります(^^;
一応、(サーバーで動くASPではなく)クライアント側のスクリプトで、WSHのオブジェクトを
利用してExcelを立ち上げることは可能ですが、デフォルトのブラウザのセキュリティ設定
では、警告ダイアログが表示されると思います。
警告を出さないようにするには、インターネットオプションでイントラネットゾーン
に対するセキュリティ設定を甘くしてやることで可能ですが、これも当然全クライアント
で設定しなければならないのでおなじことです(^^;

たか さん 2000年 11月 24日 20時 04分 27秒

始めまして、たかと言います。

 WEB系開発は初心者なのでご質問させて下さい。

 ブラウザはIEを使用し、リンクをASP・VBSCRIPとかを利用し
 エクセルシートをローカル側にあるエクセル.exeで起動する
 方法はあるのでしょうか?

以上、誠に申し訳在りませんが皆様のお力をお借りしたいと思います。
宜しくお願い致します。

asc さん 2000年 11月 24日 15時 30分 00秒

プリンターの接続は出来ても、切断が出来ません
なぜなのか教えてください

Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\Server_name\Printer_name1"
WshNetwork.RemovePrinterConnection "\\Server_name\Printer_name2"

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 11月 21日 21時 43分 56秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

○WSH5.6βリリース

だそうです。

ダウンロード: http://www.microsoft.com/msdownload/vbscript/scripting56.asp
紹介記事: http://msdn.microsoft.com/voices/scripting11132000.asp

WSH2.0の次が、なんでWSH5.6なのかというと、また「混乱を避けるため」らしいです。
その措置がまた混乱の元になるのもお約束(笑)
まあ、Windows Script5.6にVBScript5.6、JScript5.6、WSH5.6が入っているという話は
わかりやすいかもしれないですが…。

バージョンアップ内容ですが、ざっと見た感じでは…

・I Love You騒ぎのせいもあってか、セキュリティとか署名とかの機能が
追加されているっぽいです。

・wsfファイルのXML要素に怪しいのが追加されています。
コマンドラインオプションの細かい指定や、ヘルプの表示などができるようになった
みたいです。それにともなって、WScript.Argumentsの仕様が拡張されています。

・WshShell.Execという新メソッドが追加されています。このメソッドを使えば、コマンドを
実行し、その標準出力などをTextStreamで開くことができます。
Execメソッドの返り値はWshExecオブジェクトで、このオブジェクトがstdOutなどの
プロパティを持つわけです。cscript.exeだけでなく、wscript.exeでも
標準出力とかを扱えるようになったのかも。
# WScript.stdOutとかはどうなるんだ? (^^;

全世界のWSHユーザー待望の機能追加ですかね。
でもどちらかというと時代に逆行している気がしないでもない、というか
明らかに逆行してますね(^^;

・WshRemoteオブジェクトが追加されました。スクリプトを別マシンで実行する機能が
あるみたいですが、よくわかりません。WMIを髣髴とさせてなんだか面白そうですが。
# オブジェクトブラウザを見ても、WshRemoteオブジェクトなんてないぞ。

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

○なんとなく書いてみたスクリプト

とあるニュースグループで、「(DOSプロンプトを使わず)エクスプローラの機能で、
ほかのアプリから再利用可能な形でドライブのリストを出力することができるか」
というお題が出されていたので、下記のスクリプトを投稿してやろうと思ったん
ですが、マニアックな上、下手をすると茶々みたいになってしまうのでやめました(^^;

# なかばフレーム化しているスレッドなので、あまり余計な口出しはせん方
# がいいという判断です…。

Set Shell = CreateObject("Shell.Application")
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Width=800 : Ie.Height=500
Ie.AddressBar=False
Ie.MenuBar=False
Ie.StatusBar=False
Ie.ToolBar=False
Ie.Visible=True
Ie.Navigate "about:blank"
Do While Ie.Busy or Ie.readyState<>4
Loop
Set document=IE.Document
document.body.InnerHTML="<table id='list' border=1></table>"
Set oTr=document.all.list.insertRow
Set oFolder = Shell.NameSpace(17)
For I=0 To 4
Set oTd=oTr.insertCell
oTd.InnerHTML= oFolder.GetDetailsOf(,I)
Next
For Each oItem In oFolder.Items
Set oTr=document.all.list.insertRow
For I=0 To 4
Set oTd=oTr.insertCell
If I=0 Then
oTd.InnerHTML= "<a href='" & oItem.Path & "' target='_blank'>" & oFolder.GetDetailsOf(oItem,I) & "</a>"
Else
oTd.InnerHTML=oFolder.GetDetailsOf(oItem,I)
End If
Next
Next



To: 【おじさま】 さん

> たまたま知ってるサイトのブラウザ判別してる筈の JavaScript が
> Netscape 6 で動かなくなって、いろいろ調べてみたら従来と全く仕
> 様が違っているんですね(JavaScript の仕様というか DHTML の仕
> 様というか)。

うーん。これ以上独自拡張を続けてどうするんだろう。
IEみたいに、名前空間を使ったエレメントの拡張をおこなえばいいのに…。
時代に逆行している…のかも。

> Netscape 6 ってバージョンアップというよりも従来の Netscape
> とは全くの別物みたいですよ。

ちょっと方向性を誤ったかも? まあ、個人的にNetscapeには興味がないので
問題なしです(^^;



To: sysori さん

> あるシステム案件で困っているのですが、WSHでAccess2.0は使えるので
> しょうか?

WSHでAccess2.0を使うという意味がよくわからないのですが、Access2.0を
WSHからOLEオートメーションで制御するという話でしょうか。
Access2.0がいつの時代のソフトなのかによると思います。
少なくとも16bitアプリとかだったら見込みはなさそうですね。

sysori さん (s-kaida@system-orico.co.jp) 2000年 11月 20日 18時 07分 54秒

はじめまして。みなさんのお知恵を貸してください。

あるシステム案件で困っているのですが、WSHでAccess2.0は使えるので
しょうか?
使えないと他の方法を考えなければならないのでゥァ」

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

なおきん さん 2000年 11月 20日 15時 23分 42秒

管理人さま,ご返答ありがとうございます.
特に深い理由はないのですが,

コマンドラインから,クリップボードにコピーできるような,コマンドが
ほしかったのです.

#お手数おかけしました.

きむち さん 2000年 11月 20日 09時 05分 37秒

むたぐちんさん、ありがとうございます。
教えて頂いたコードでばっちり、表示されました。


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

たまたま知ってるサイトのブラウザ判別してる筈の JavaScript が
Netscape 6 で動かなくなって、いろいろ調べてみたら従来と全く仕
様が違っているんですね(JavaScript の仕様というか DHTML の仕
様というか)。元々 JavaScript ってあんまり知らないので詳しく
は書けませんが、スクリプト書いてる人たちの間ではあちこちで随分
話題になってました。何とか修正できましたが、きっとこれからは
Netscape か IE かという判別だけじゃダメになりそうです。

Netscape 6 ってバージョンアップというよりも従来の Netscape
とは全くの別物みたいですよ。

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

To: さむ。 さん

> そこで近くのプロパティ等を使ってこねくりまわしたところ、次の式ができました
> 「Win32_PerfRawData_PerfOS_System=@のTimestamp_ObjectプロパティからSystemUpTimeプロパティの値を引いて、10000000で割るとuptimeから取得した秒数と等しくなる」
> というものです。

なんとかの方程式ですか(^^;
10000000がたしかに意味不明ですね。何の数字だろう?

> WMIを使ってシステムのUptimeを取得するWSHプログラムを作ってみました。

ありがとうございます。

> Set objLocator = CreateObject( "WbemScripting.SWbemLocator" )
> Set objService = objLocator.ConnectServer( "SUMIDA", "root/cimv2" )

私なんかはめんどくさいのでいつもGetObject関数ですましていますが、
GetObjectに相当する機能がない言語では、CreateObjectするしかなさそうですね。
言語自体になくても(ないわけはないのだが)、WScript.CreateObjectがあるので、
WSHから呼び出す限りはぜったい大丈夫ですね。
# どうでもいいですけど

> set objSystem = objService.ExecQuery( "Select * from Win32_PerfRawData_PerfOS_System" )

InstanceOf("hoge")と、ExecQuery("Select * from hoge")ってどう違うのか、いつも悩みます(^^;



To: 毘政 さん

> WSHを使って、「Caps Lock」、「Num Lock」を押したときに
> 出る音を出してやりたいのですが、無理でしょうか?

私のキーボードでは、CapsLockやNumLockを押しても音は出ませんが? (^^;
Beep音なら、cscript.exeでスクリプトを実行するときに限って方法があります。
AKiOSさんに教わった方法です。

WScript.echo chr(7)



To: きむち さん

> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers\
>
> このなかにあるプリンター名を取得するためにはどのようなスクリプトを
> 記入すればよいのでしょうか?

WshShell.RegReadを使えばいいと思ったんですが、
でも、肝心のプリンタ名はサブキーの名前になるんですよね。
RegReadではサブキーの列挙とかはできないので…。(WMIのレジストリプロバイダを
使えば可能)

私のところでは、HKEY_LOCAL_MACHINE\Config\0001\System\CurrentControlSet\Control\Print\Printers
キーの"Default"という値に、通常使うプリンタ名が格納されていますが、これなら
読み込めますね。

あと、プリンタ名を取得する方法として、Shell.Applicationを使う方法もあります。
が、これはかなり環境依存な方法になります。

Set Shell = WScript.CreateObject("Shell.Application")
Set oFolder=Shell.NameSpace(4)
For Each oItem In oFolder.Items
s=s & oItem.Name & vbCrLf
Next
msgbox s



To: なおきん さん

> テクニック集の[右クリックで表示されるメニュー・・・」を見たのですが,精進不足で,上手くJScriptにできませんでした.
> %>CScript copy.js hoge.txt
> みたいにすると,hoge.txtがクリップボードにコピーできちゃうイメージです.

クリップボードといっても、文字列を格納するとかの話ではないんですね。
一瞬勘違いしてしまった…。

で、「テクニック集」にある方法では、ファイルのクリップボードへのコピーはできません。
あれは、右クリックメニューの、上から最初の線までのメニューまでしか実行できない方法です。

Shellオブジェクトを使えばうまくいくと思ったんですが…。

var Shell = WScript.CreateObject("Shell.Application");
var oFolder = Shell.NameSpace("C:\\");
var oItem = oFolder.ParseName("autoexec.bat");
oItem.InvokeVerb("コピー(&C)");

なぜかうまく動きません。
削除(&D)とかは機能するんですが。

プロパティ(&R)も、WScript.Sleep(5000)とかを最後に加えてやれば、とりあえず指定時間だけは
プロパティウィンドウが出ます。

VBSで、しかも環境によっては動作しないスクリプトですが、

Set Shell = WScript.CreateObject("Shell.Application")
Set oFolder=Shell.NameSpace("C:\")
Set oItem=oFolder.ParseName("autoexec.bat")
For Each oVerb In oItem.Verbs
If oVerb.Name="コピー(&C)" Then
oVerb.DoIt
msgbox "こぴーしたよ"
End If
Next

とかも機能しませんでした。

ところで、なんでファイルをわざわざクリップボードに格納する必要があるのでしょうか。
そのままスクリプトからコピーしてやればいいだけの話のような気がするのですが。



To: ろっち さん

> WMIを使ってDB(oracle8)にある情報を取って
> くるようなことはできるのでしょうか?

よくわかりませんが、WMI ODBC Adapterってのが関係してそうです。

> あとSDK以外にWMIについてのいい資料はないんでしょうかね?

とりあえず、リンクページにいくつかリンクを張ってますので、参考にしてください。
しつこいようですが、Rubyを256倍使うための本も結構参考になりました。



To: TEST さん

> IEブラウザの×を押してもウィンドウが閉じない方法はあるのでしょうか?

23-46 ひろ さん 2000/11/01 15:55 の記事が参考になりませんか?

TEST さん (kunio.sadakane@a-i-d.co.jp) 2000年 11月 17日 19時 30分 37秒
URL:null

いつもお世話になっております。

IEブラウザの×を押してもウィンドウが閉じない方法はあるのでしょうか?

ろっち さん (rotti3@24h.co.jp) 2000年 11月 17日 18時 15分 18秒

WMIのことを探していてここにたどり着きました。
早速ですが、質問させていただきます。
WMIを使ってDB(oracle8)にある情報を取って
くるようなことはできるのでしょうか?
あとSDK以外にWMIについてのいい資料はないんでしょうかね?
以上です。




なおきん さん 2000年 11月 17日 14時 29分 29秒

こんにちは,初めて質問させていただきます.
どなたか,JScriptで,ファイルをクリップボードにコピーする方法を教えていただけませんか?
テクニック集の[右クリックで表示されるメニュー・・・」を見たのですが,精進不足で,上手くJScriptにできませんでした.
%>CScript copy.js hoge.txt
みたいにすると,hoge.txtがクリップボードにコピーできちゃうイメージです.
argumentsとかは,わかっているので,コピーする部分だけ,教えてください.

お願いします.


Return