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

こっちがちょっと暇になると、書き込み数が激減するのは、
いったいどういうわけなんでしょう(笑)


○HTMLファイルをmhtファイルに変換するスクリプト(未完成)
mhtファイルと言うのは、HTMLファイルとそれに使われている画像ファイル等を
一つのファイルにアーカイブする形式です。
IEの「名前を付けて保存」から作成できます(Outlook Express5以上をインストールしていることが条件)。

ネットニュースの方でちょっと話が出ていたので、これを自動化するスクリプトを作ってみようと
思い立ったのですが、うまくいかなかったのでここに未完成品を公開します。
どこがうまくいかないかというと、ExecWBメソッドでSaveAsコマンドを実行したときには、
mht形式を選択できないのです。なぜかはわからないのですが、何かオプション指定が
足らないのかなあ、という気がします。

結局、当初の目的は果たせなかったわけですが、BrowseForFolderを使ってURLを選択したり、
インターネットショートカットのURLを取得したりと、結構応用がききそうなテクニックを
使ったので、せっかくなので公開します。
Selfプロパティを使っているので、Win2000/Meでないと動作しません。

ちなみに、Office2000のプラグインとしては、その機能を持つものがあるそうです。
http://search.officeupdate.microsoft.com/downloadCatalog/default.asp?Product=Outlook&SortBy=Date&SortOrder=d&Version=2000&Type=AA


Const BIF_EDITBOX = &H10
Const BIF_BROWSEINCLUDEFILES = &H4000
Const OLECMDID_SAVEAS = 4
Const OLECMDID_SAVECOPYAS = 5
Const OLECMDEXECOPT_DODEFAULT = 0
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Const OLECMDID_ALLOWUILESSSAVEAS = 46

Set Shell = WScript.CreateObject("Shell.Application")
Set Ie = WScript.CreateObject("InternetExplorer.Application","IE_")

If WScript.Arguments.Count=0 Then
Set oFolder=Shell.BrowseForFolder(0,"開くHTMLドキュメントを選んでください。インターネットショートカットやURLも指定できます。",BIF_BROWSEINCLUDEFILES+BIF_EDITBOX)
Else
Set oFolder=Shell.NameSpace(WScript.Arguments(0))
End If

If Not oFolder Is Nothing Then
Set oItem=oFolder.Self
If oItem.IsLink Then
Set oLink=oItem.GetLink
sPath = oLink.Target.Path
Else
sPath = oItem.Path
End If
Else
WScript.Quit
End If

Ie.Visible=True
Ie.Navigate sPath

Do While Ie.ReadyState<>4
WScript.Sleep 100
Loop

'IE.ExecWB OLECMDID_SAVEAS,OLECMDEXECOPT_DONTPROMPTUSER,"C:\test.mht"

Momo さん 2001年 04月 06日 00時 45分 32秒

高橋さん、むたぐちさん、お返事ありがとうございました。
運用の面も含めて、もう一度考えてみます。
本当にありがとうございました。

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

http://www.remus.dti.ne.jp/~j-o/skin/skin.htm
では、自薦もありなようなので、思い切って登録してみようかな。
…失笑を買うかもしれないが。


To: Momo さん

> 現在、Webからある条件を指定し、その内容をデータベースから検索した結果をExcelに張りつけてダウンロードするというプログラムを作成しています。
> Set objExcelApp = Server.CreateObject("Excel.Application")
> でサーバー上にExcelを起動していますが…何かの問題があるとこのExcel.exe
> がサーバー上に残ってしまいます。

私には状況がよくわからないのですが、ASPでサーバーでExcelを実行したりするのって、
結構普通にやることなんでしょうか?
素人的な考え方だと、サーバーの負担が大きすぎるような気がするんですが。

クライアントから要求があったとき、もしサーバーでExcelが動作中なら、
Server is busy! とかのメッセージを返してやればいいのではないでしょうか。
また、タイムアウトを設定して、ある一定の間クライアントからの要求がなければ、
Excelを終了させるとか。

いや、あまりASPのことは知らないんで、想像に過ぎないんですけど。


To: ひっし さん

> レスありがとうございました。投稿してある掲示板などを
> 見てみたのですが、自分の理解力が乏しく解決できません
> でした。

ファイルを一つずつ削除する例は、
http://www.users.gr.jp/ml/archive/wsh/312.asp
の土屋さんの記事そのままなので問題ないと思います。

複数ファイルの同時削除は、私が理屈だけ書いていますが、今回、実際に
サンプルを作成してみました。

'あるフォルダ内に含まれる複数ファイルをごみ箱に移す
MoveFilesToRecycleBin "C:\test",Array("testfile1.txt","testfile2.txt","testfile3.txt")

Sub MoveFilesToRecycleBin(Folder,Files)
Set Ie = WScript.CreateObject("InternetExplorer.Application")
Ie.Navigate Folder
Do While Ie.Busy Or Ie.ReadyState<>4
WScript.Sleep 10
Loop
Set document=Ie.Document
Set oFolder = document.Folder
Set oFolderItems = oFolder.Items
For Each oFolderItem In oFolderItems
For Each sFileName In Files
If LCase(oFolderItem.Name) = LCase(sFileName) Then
document.SelectItem oFolderItem,1
Exit For
Else
document.SelectItem oFolderItem,0
End If
Next
Next
document.SelectedItems.InvokeVerbEx "delete"
Ie.Quit
End Sub

このように、Shell32を使わなくても、IEだけでできるのでありました。
実行時にウィンドウも開かず、なかなかエレガントな仕上がりです。


To: 高橋 さん

> Rubyを256倍使う 魔道編
> でていますね。
>
> むたぐちさんはご存知だとは思いますが…(^^;

もちろん(?)知ってます。
RDフォーマットでしたっけ?

まあ、私が興味あるのはRubyそのものじゃなくて、COMの仕組みなんで、
そういう意味では邪道編以外は無関心だったりします。

> # 邪道編、魔道編ときて、次は極道編?

極道編、無道編ってのがすでに出ているようです。
http://www15.freeweb.ne.jp/computer/ruby256/


To: Ctrl+Alt+Del さん

> Ctrl+Alt+Del
> Ctrl+Alt+Del
> Ctrl+Alt+Del
> Ctrl+Alt+Del

もうじたばたするのはやめて、電源を落としてみてはいかがでしょうか。

Ctrl+Alt+Del さん (Ctrl+Alt+Del@Ctrl+Alt+Del) 2001年 04月 04日 11時 13分 57秒
URL:http://Ctrl+Alt+Del/

Ctrl+Alt+Del
Ctrl+Alt+Del
Ctrl+Alt+Del
Ctrl+Alt+Del

高橋 さん 2001年 04月 04日 00時 47分 45秒

>Momoさん
>初めまして。
>
初めまして。

>現在、Webからある条件を指定し、その内容をデータベースから
>検索した結果をExcelに張りつけてダウンロードするというプログ
>ラムを作成しています。
>
この辺り、どういった Excel ファイルを作っているか分からないの
ですが、データ&ヘッダのみのCSVファイルを作成して、クライアン
トがそれをダウンロードするような作りでは駄目なのでしょうか?
で、それをクライアントに加工してもらうとか…

>処理の途中でいきなりウィンドウを閉じられてしまう可能性もあり、
>いったいどうやって回避していいか…途方にくれています。
>
業務APですよね?
「処理中にブラウザを閉じるな。」と言えば済むのでは?
もちろん、仕様として「処理中はブラウザを終了しないで下さい。」
等とまとめるとは思いますが。

高橋 さん 2001年 04月 04日 00時 37分 16秒

Rubyを256倍使う 魔道編
でていますね。

むたぐちさんはご存知だとは思いますが…(^^;
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3747-4.html

# 邪道編、魔道編ときて、次は極道編?

ひっし さん 2001年 04月 03日 19時 02分 46秒

To 高橋さん

レスありがとうございました。投稿してある掲示板などを
見てみたのですが、自分の理解力が乏しく解決できません
でした。とりあえず代替案として、「Dust」フォルダという
ものを作成して、そこにファイルを移動させる事にしました。
まだまだ勉強不足で、これからもっと勉強していこうと思い
ますので、よろしくお願いします。

Momo さん (Momo@tinoka.com) 2001年 04月 02日 21時 29分 16秒

初めまして。
実は大変悩んでいることがあり、こちらに書いていいものか悩みつつ…勇気を出して書いてみました。
現在、Webからある条件を指定し、その内容をデータベースから検索した結果をExcelに張りつけてダウンロードするというプログラムを作成しています。
Set objExcelApp = Server.CreateObject("Excel.Application")
でサーバー上にExcelを起動していますが…何かの問題があるとこのExcel.exe
がサーバー上に残ってしまいます。
アプリケーションの終了もできません。
その際、指定したディレクトリに作成途中のExcelファイルも更新不可能となってしまい…。
最後まで処理が進めば、objExcelApp.QuitでExcelを閉じています。
NTサーバー上のタスクマネージャーを見ていると、8つほどこの残ってしまったExcel.exeが溜まると次のExcel.exeが起動できなくなってしまいます。
処理の途中でいきなりウィンドウを閉じられてしまう可能性もあり、いったいどう
やって回避していいか…途方にくれています。
もしいい案をご存知の方がいらっしゃったら、ぜひ教えて下さい。
お願いします。


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

任意ナビ for IEを公開しました。
前前から言っていた、例のブツです。まだネタの量が十分ではないと思いますが、
良かったら使ってみてください。

でも、やっぱりしかるべきところに宣伝しに行かないと、利用者数は望めないだろうな(^^;

tosi さん 2001年 03月 31日 21時 11分 00秒

To: 管理人むたぐち さん

ご回答ありがとうございました。別の方法を探します。




sato さん 2001年 03月 31日 13時 52分 47秒

ご回答ありがとうございました。
おかげさまで使えるようになりました。
また,初歩的な質問をするかもしれませんが
そのときはまたよろしくお願いします。

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

To: tosi さん

> 質問ですが、EXCEL、一太郎などのアプリケーションプログラムで
> 「ファイルの保存」を、例えば、FD(Aドライブ)に対しておこなったとき、
> 同時にそのバックアップ(コピー)をHD(Cドライブ:フォルダーは固定)に
> 取りたいのですが、どのようにすればいいでしょうか。
> WSHでできるでしょうか。保存時のファイル名はどのように得られますか。
> スクリプト(プログラム)起動の方法はどうすればいいでしょうか。

このスクリプトを実現するには、
・常駐し
・ファイルの生成や上書きを監視する
必要がありますが、これはWSHにはできない、あるいは実現が難しいと思われます。

WSH以外の解決法を探した方がいいのではないでしょうか。


To: sato さん

> その際にユーザ名からユーザが所属するグループを取得したいのですが,
> SQL文でユーザのアトリビュートのmemberOfというアトリビュートを
> 取得しようとすると『型が一致しません』というエラーが返ってきます。
> distinguishedNameアトリビュートは取得することができるのですが…。

ちょっとADSI2.5のヘルプが手元にないもんで、想像でのお答えになりますが、
memberOfの返り値って本当にStringなんでしょうか?(TypeName関数で調べられます)
ユーザーは複数のグループに所属できますので、おそらく配列が返っているんだと
思います。その場合、Join関数などを使って、配列の各項目をつなげて文字列に変換
する必要があります。


To: 梨 さん

> あとWord文書の印刷ですが
> appWD.ActiveDocument.PrintOut Background:=False, Copies:=1
> とかくと、エラーになってしまいます。
> appWD.ActiveDocument.PrintOut (False)
> と記述する場合のみ動作するのですが、VBやWordのヘルプ見たり
> してるのですが
> 間違っていそうな個所が見当たらないので、先に進めません。

そこでVBSのヘルプを見ないと駄目です(^^;
この件についてはFAQなので、過去記事の紹介のみです。

29-10 みっちゃん さん 2001/01/24 10:29
29-14 管理人むたぐち 2001/01/24 16:00
31-38 【おじさま】 さん 2001/02/28 19:34


To: 【おじさま】 さん

> IE6.0 Public Preview は 6.00.2462.0000 なのですが、既に 2463 がテスター
> 向けに出たのだそうです。Public ではないので入手はできませんが、あっという
> 間に最新版じゃなくなりました。

最新情報は2ちゃんねるのWindows板、技術情報(CSSやHTML4.01の対応、DOMについてなど)は
ネットニュースで得るようにしています(^^;

それにしても相変わらずの評価の悪さだなあ…。


To: 高橋 さん

> こちらのページの「WSHテクニック集」-「右クリックメニューの実行」
> 等大変参考になると思います。
>
> 他、USERS GROUP の WSH-ML 過去ログもどうぞ。

あ、私が投稿した記事がある(^^;
というわけで、土屋さんや私の書いた記事を参考にしてみてください > ひっしさん

高橋 さん 2001年 03月 30日 16時 35分 30秒

高橋@忙しいのやら暇なのやら、です。

>ひっしさん
>以前、正規表現の件でお世話になった、ひっしというものです。
>
こんにちは。

>過去のログでごみ箱のファイルの削除というものを見つけたので
>
こちらのページの「WSHテクニック集」-「右クリックメニューの実行」
等大変参考になると思います。

他、USERS GROUP の WSH-ML 過去ログもどうぞ。
http://www.users.gr.jp/ml/archive/wsh/312.asp
http://www.users.gr.jp/ml/archive/wsh/313.asp
http://www.users.gr.jp/ml/archive/wsh/314.asp
http://www.users.gr.jp/ml/archive/wsh/315.asp
http://www.users.gr.jp/ml/archive/wsh/316.asp
http://www.users.gr.jp/ml/archive/wsh/317.asp

ひっし さん 2001年 03月 30日 15時 34分 21秒

以前、正規表現の件でお世話になった、ひっしというものです。
今回は、ごみ箱についてわからないことが出てきたのでお聞き
したいと思います。
いま、ファイルの移動関連の作業をスクリプトで行おうと思って
いるのですが、ファイルをごみ箱に移動させるにはどのように
すれば良いのでしょうか?。過去のログでごみ箱のファイルの
削除というものを見つけたのですが、力不足でその情報から
自分の解決には向かう事ができませんでした。
よろしくお願いします。

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

管理人むたぐちさん

>ちょっと誤解を招く書き方で申し訳ありませんでした。

いえいえ、ご丁寧なレスありがとうございます。

IE6.0 Public Preview を消す気はないのですが、98Lite のようなツールに付い
て知っておいて損はないのでご紹介のサイトなどを眺めてみることにします。

IE6.0 Public Preview は 6.00.2462.0000 なのですが、既に 2463 がテスター
向けに出たのだそうです。Public ではないので入手はできませんが、あっという
間に最新版じゃなくなりました。

さん 2001年 03月 30日 10時 24分 21秒

毎度お世話様です。
先日の件はWSHはあきらめて、VBで処理してしまいました。
最近ここの過去ログでPDF印刷の件について書いて有りましたが
参考にさせていただきました。
右クリックで処理するやり方にしました。

あとWord文書の印刷ですが
appWD.ActiveDocument.PrintOut Background:=False, Copies:=1
とかくと、エラーになってしまいます。
appWD.ActiveDocument.PrintOut (False)
と記述する場合のみ動作するのですが、VBやWordのヘルプ見たり
してるのですが
間違っていそうな個所が見当たらないので、先に進めません。
もしお分かりのようでしたら、ご教授願います。
それでは失礼致します。

sato さん (nsato@fgsd.mt.nec.co.jp) 2001年 03月 30日 10時 01分 49秒

はじめまして。
質問ですが,WSHを使ってADSIにアクセスします。
その際にユーザ名からユーザが所属するグループを取得したいのですが,
SQL文でユーザのアトリビュートのmemberOfというアトリビュートを
取得しようとすると『型が一致しません』というエラーが返ってきます。
distinguishedNameアトリビュートは取得することができるのですが…。
ユーザのアトリビュートのmemberOfを取得するには何か特別な方法が
あるのでしょうか?
教えてください。お願いします。

tosi さん 2001年 03月 30日 01時 00分 17秒

はじめまして、初心者のtosiです。
質問ですが、EXCEL、一太郎などのアプリケーションプログラムで
「ファイルの保存」を、例えば、FD(Aドライブ)に対しておこなったとき、
同時にそのバックアップ(コピー)をHD(Cドライブ:フォルダーは固定)に
取りたいのですが、どのようにすればいいでしょうか。
WSHでできるでしょうか。保存時のファイル名はどのように得られますか。
スクリプト(プログラム)起動の方法はどうすればいいでしょうか。
よろしくお願いします。

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

To: アオキ さん

> 「オブジェクトがありません。Wscript」とエラーメッセージが
> でます。再度いろいろ調べますが、なぜこのようなメッセージがでるのでしょうか?丸写しだとダメなのでしょうか?よろしくお願いします。

うちのページは、基本的にWSHで動作するスクリプトを解説していまして、HTML上に書くスクリプトは
どちらかというと副業的に(?)解説しています。
# 両者が本質的には同じモノである、ということを知ったのはサイトを立ち上げて
# ずいぶん経ってからのことでした(^^;

そのため、両者の仕様の差で、丸写しでは動作しない例があります。
このWScriptオブジェクトが端的な例で、WSHでスクリプトを動作させるときのみ使用できるオブジェクトで
あるため、HTML上では使用できません。
ただ、WScriptオブジェクトのCreateObjectメソッドの代わりに、VBSのCreateObject関数を
使用することができます。ですから、
Set WshShell = WScript.CreateObject("WScript.Shell")

Set WshShell = CreateObject("WScript.Shell")
とすれば、HTML上でも動作します。


To: 【おじさま】 さん

> 98Lite は使ったことがなくて、IE 関連を消してしまうツールで更に Win95 シェ
> ルの上書き機能も持っているツールだと思っていたのですが、このふたつは同じ意
> 味だったんですね。

実は、98Liteにもいろいろオプションがあって、IE関連(だけでなく、Win95になくてWin98にあるもので
不要と思われるものも、かな)を消すだけのモード(98lite-CHUBBY)というのも存在します。
その究極がシェル置き換え(98lite-SLEEK)になります。

シェルに絡みついたIE6betaを消すには、IEを消すモードではだめだろうという風に考え、
ああいう書き方をしてしまいました。
ちょっと誤解を招く書き方で申し訳ありませんでした。
# それと、IE6betaの痕跡を消すために98Liteを使うというのは、良く考えると無謀ですね(^^;
# "Liteにする"対象は、*普通の*Win98環境なわけですから。
# 素直にOSを再インストールするのがいいでしょう。

IEを消すツールとしては、IE Radicatorというのがあって、これは単なるinfファイルなんですが、
なかなか強力にIE関係のファイル削除・レジストリ登録解除をおこなってくれるようです。

98Lite関係の話は、セルゲイさんのところが詳しいです。
http://member.nifty.ne.jp/jp1nom/

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

管理人むたぐちさん

>こんな記事がありました。↓
>24-06 【おじさま】 さん 2000/11/04 15:39

自分で書いてて忘れてます。

>98Liteってのは、極端な話、Win95シェルの上書きですから、IEを消すという話
>どころではなかったりします。

98Lite は使ったことがなくて、IE 関連を消してしまうツールで更に Win95 シェ
ルの上書き機能も持っているツールだと思っていたのですが、このふたつは同じ意
味だったんですね。

アオキ さん 2001年 03月 29日 08時 32分 59秒

管理人むたぐちさん。回答ありがとうございます。
早速やってみたいと思います。
もうひとつ質問したいのですが、
以下の記述なのですが、サンプルを記述し、HTAファイルとして保存して
実行させたのですが、
<SCRIPT Language="VBScript" >
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "control.exe desk.cpl"

</SCRIPT>

「オブジェクトがありません。Wscript」とエラーメッセージが
でます。再度いろいろ調べますが、なぜこのようなメッセージがでるのでしょうか?丸写しだとダメなのでしょうか?よろしくお願いします。

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

ShellNameSpaceオブジェクトでフルパスを取る方法がわかりました。
というか、別に深く考える必要がなかったのでした(^^;
要するに、urlファイル以外は、strURLにフルパスを返すのです。

サンプルを作ってみましたので、ダウンロードしてみてください。
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/src/sh_ns.lzh

「お気に入りの整理」や「お気に入り」エクスプローラバーで使われていないプロパティ・メソッドを
中心に使用しています。

まだ、urlファイルを選択したときの挙動とか、解決しなければならない問題がありますが、
とりあえずこれを叩き台にして、いろいろ試してみてください。

それと、謎のプロパティ・メソッドが結構あります。
使い方がわかる方、ぜひ教えてください。

Columns
CountViewTypes
Depth
EnumOptions 32がフォルダ表示フラグ、64がファイル表示フラグであることは判明
Expand(var, iDepth As Long)
Export
Flags
Import
Mode
ResetSort
Root
SelectedItem
SelectedItems
SetViewType(iType As Long)
Synchronize
TVFlags

おそらく、「履歴」エクスプローラバーの表示オプション(日付順とか今日表示したページ順とか)は、
上記のどれかで制御していると思うんですが…。

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

To: 【おじさま】 さん

> どうでしたっけ(^^;)。確か 5.5 ベータでもブラウザというよりもエクスプローラ
> の不具合があったような記憶があるのですが、それじゃどんな不具合となると憶え
> ていなかったりします。

こんな記事がありました。↓
24-06 【おじさま】 さん 2000/11/04 15:39

少なくとも2個は不具合があったことになります(^^;

> この「微妙」は良く分かります(^^;)。どことなく動作が「ネトッ」としています。
> アンインストールでの不具合はこれまでの IE、それも正式版でも聞いたことがある
> ように思います。どうもこれだけ OS べったりのものだと、インストールにはダメ
> ならダメで諦めるくらいの覚悟が必要かもしれませんね(もしくは Windows のク
> リーンインストールの覚悟)。98Lite とかで消せるんでしょうかね(どっちにし
> ても私は Win2k なのでダメかもしれませんが)。

98Liteってのは、極端な話、Win95シェルの上書きですから、IEを消すという話どころでは
なかったりします。
私は、いまさらWin95でもないだろう(Shell.Applicationが使えないしね!)という気がするんですが、
根強いファンがいるようです。
# それだけ最近のWindowsのシェルが駄目だということでもあるんですが。

Win2000のシェルって交換できるんでしょうか?


To: 梨 さん

> 先日ココの掲示板(かな?)のログでエクスプローラ風の表示をして
> ファイルの表示までさせてましたが、

たしかにここっぽいです(^^;

> この形式で複数のファイルを選択することは出来るのでしょうか?
> よろしくお願いします。

BrowseForFolderでは、複数選択はできなかったと思います。
ファイルの複数指定なら、コモンダイアログを使う手があります。
ファイル複数指定のサンプルを書いたことがあるので、参考にしてください。
10-03 管理人むたぐち 2000/03/01 12:37

ただ、comdlg32.ocxにはいろいろと使用に制限があるので、コモンダイアログを呼び出す
フリーのコンポーネントを利用した方が良いでしょう。

これとは別のアプローチで、「お気に入りの整理」で使われるコントロールを何とか利用できないか、
いろいろ試しているんですが、どうにも選択ファイルのフルパスを取得する方法が見つからず、
頓挫したままです。
30-39 管理人むたぐち 2001/02/08 12:11
Win2000では、このコントロール(Win2000ではクラス名はShellNameSpaceです)に、SelectedItemプロパティ
およびSelectedItemsメソッドという、まさにこの目的にぴったりそうなものがあるんですが、
これ、返り値がNothingでした(^^;
nsc.SelectedItem.Pathとかでいけると思ったんですがねえ…。惜しい。
なんかいい方法ありませんか? > ALL

まあ、インターネットショートカットのURL取得には使えると思います。

# あ、このコントロールはフォームがあるコントロールなので、WSHからの直接呼出しはできません。
# HTAなどを併用してやる必要があります。


To: アオキ さん

> 社内HPにてjavaで自動でウィンドウを表示させて、
> そのウィンドウ内のボタンを押すとHTAファイルを起動させるというものを
> 企画してるのですが、初めてなのでどう記述したらいいのかイマイチわかりません。例えばVBスクリプトを使用して同等なことを行うにはどのような記述方法が
> あるでしょうか?

エッセンスだけ書くと、

Set WshShell=CreateObject("WScript.Shell")
Sub button_onclick()
WshShell.Run "C:\hoge.hta"
End Sub

という感じでしょうか。
イントラネットゾーンのセキュリティレベルを一番低くしてやれば、警告は出ないと思います。

アオキ さん 2001年 03月 28日 21時 32分 20秒

初めまして。スクリプト初心者のアオキといいます。
早速質問いたします。
社内HPにてjavaで自動でウィンドウを表示させて、
そのウィンドウ内のボタンを押すとHTAファイルを起動させるというものを
企画してるのですが、初めてなのでどう記述したらいいのかイマイチわかりません。例えばVBスクリプトを使用して同等なことを行うにはどのような記述方法が
あるでしょうか?
よかったらご教示ください。よろしくお願いします。

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

リモートシャットダウンですが、こんな簡単なスクリプトで成功しました。

Set oSystemSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//対象PCのIP/root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

For Each oSystem In oSystemSet
oSystem.Win32Shutdown 8
Next

前に書いたスクリプトが何で駄目だったかは現在検討中。
一応、DebugのPrivilegeは与えてみたんですが、動かなかったです。

それと、Win2000からWin98のWMIを動作させるときの、Win98側のDCOM構成の件ですが、
以前既定の認証を「接続」にすると動いた、と書いたんですが、どうやらそれは
勘違いだったようで、「(なし)」が正解みたいです。
でも、この状態だとパスワードなしで相手方のWMIを制御できる(すなわちWMIログオンの必要がない)ので、
セキュリティ的にはどうなっているのか、よくわかりません。
おそらく、Microsoftネットワーク外からのアクセスは拒否されると思うんですが。

DCOMのことは、あいかわらずよくわかりません。
どこかにわかりやすい解説ページはないでしょうか。


To: 松島 さん

> 貴様! それでも日本男児か!! (ネタがかなり違う(笑))

うわあ、今度はほんとに何のネタかわからん…。
# 逝ってよし、ですか。

> いやあ、ある程度は抑えておかないと、職場によっては「業界標準用語」扱いですよ。

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

> 以前、学校のパソコンで、検索エンジンの便利さをデモるのに、gooにアヤシゲな単語を
> 打ち込んだ結果を現行犯で見つかったことがあります(爆)。
> 席に座っていた別の友人がかなりオヤジ入っていた先生に「うわっ、お前こんなページ見てるのか」
> と大声で茶化されて終わったのですが(笑)。

話のわかる先生でよかったですね(^^;
そういえば、私は、小学校、中学校、高校でまともなパソコンの授業を受けていない
最後の世代です。

> >そういえば、市販のソフトで、そういう系のページを閲覧不能にするのがありますね。
> >あれってどういう仕組みで動いているんでしょう。
>
> (ローカル)プロクシが弾いているとか?

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

…そのデータベースは誰が作っているんだ(笑)

> うーん、個人のマシンを持ち込む大義名分がないなぁ。(^^;

もばいるしてるんだ! とか言っても駄目なんですか?

> 私が知りたい情報は完全無視されてましたが…。(泣)
> (CSS1/CSS2/HTML4.01/XHTML/XSL等への対応&改善具合)

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

> 地域と言語は別々に区別する都合上、jaは日本語、jpは日本国、を指すようです。

なるほど。勉強になります。
なんであのニュースグループだけjaなのかがよくわからないんですけど、
日本マイクロソフト社(か?)の管理外にあることを強調したいのかも。

> 遅れましたけど、リンクありがとうございます(^^)。>むたぐちさん

あ、ご報告忘れてました。
そういうわけで、今後ともよろしくです。

> Googleバー、文字化けがいつの間にかに半分直っているような気がします。

Googleバーについては、microsoft.public.jp.inetexplorer.winで熱く語りました(笑)
ver.1.1.44-deleonでテキストボックスの文字化けがなおったものの、
ページ内検索のボタンの文字化けが発生するようになっていたのですが、
つい先日出たver.1.1.45-deleonでは、どちらの文字化けも直っています。

ところでdeleonってDe Leonのことなんだろうか。



To: Lib30 さん

> IE5.5と比べて、起動が微妙に遅いんですよ。その「微妙」さに耐え切れずアンインストールしてしまいました。

その微妙なところが気になるんですよね。
でも、慣れると気にならなくなったりしません?
Win98にIE5を入れたときも、最初は苦痛でしたが、ある日突然、なんとなく慣れている自分に気づく。とか。
これって、思う壺、なのかもしれませんけどねー。

> しかしそのときいらないものまで持っていってしまったようで、アンインストール後
> OEが起動しなくなり、WScript.Shell や WScript.CreateObject などWScriptオブジェクトが必要なスクリプトが
> エラーで実行できなくなりました。

WSHのオブジェクトを消しちゃうわけですね。
IE6最後の嫌がらせ。

さん 2001年 03月 28日 17時 36分 50秒

度々お世話になっています。
先日ココの掲示板(かな?)のログでエクスプローラ風の表示をして
ファイルの表示までさせてましたが、

Const BIF_BROWSEINCLUDEFILES = &H4000
Set Win=Wscript.CreateObject("Shell.Application")
Do
 Set objFolder=Win.BrowseForFolder(0,"開くファイル・フォルダを選んでください。",BIF_BROWSEINCLUDEFILES)
 If Not objFolder Is Nothing Then
  Set objParentFolder=objFolder.ParentFolder
  If Not objParentFolder Is Nothing Then
   For Each objItem In objParentFolder.Items
    If objFolder.Title=objItem.Name Then
     objItem.InvokeVerb
    End If
   Next
  End If
 Else
 WScript.Quit
End If
Loop

この形式で複数のファイルを選択することは出来るのでしょうか?
よろしくお願いします。

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

管理人むたぐちさん

>5.5でもなんか不具合があったんですか?

どうでしたっけ(^^;)。確か 5.5 ベータでもブラウザというよりもエクスプローラ
の不具合があったような記憶があるのですが、それじゃどんな不具合となると憶え
ていなかったりします。

Lib30 さん

>IE5.5と比べて、起動が微妙に遅いんですよ。

この「微妙」は良く分かります(^^;)。どことなく動作が「ネトッ」としています。
アンインストールでの不具合はこれまでの IE、それも正式版でも聞いたことがある
ように思います。どうもこれだけ OS べったりのものだと、インストールにはダメ
ならダメで諦めるくらいの覚悟が必要かもしれませんね(もしくは Windows のク
リーンインストールの覚悟)。98Lite とかで消せるんでしょうかね(どっちにし
ても私は Win2k なのでダメかもしれませんが)。

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

> IE6

IE5.5と比べて、起動が微妙に遅いんですよ。その「微妙」さに耐え切れずアンインストールしてしまいました。
しかしそのときいらないものまで持っていってしまったようで、アンインストール後
OEが起動しなくなり、WScript.Shell や WScript.CreateObject などWScriptオブジェクトが必要なスクリプトが
エラーで実行できなくなりました。

IE5.5を再インストールしたら直りましたが。


松島 さん (matsushima@popup.org) 2001年 03月 28日 01時 59分 38秒
URL:http://www.popup.org/ai/


>>ウトウト病は難病です。
>これからの季節、病状が悪化しそうです。

日曜に、夕方から4時間+夜から7時間眠ったら、月曜日に目が覚めすぎて、
そのまま朝の5時まで起きてました。火曜日はかなりヤバかったです(^^;)。

>だからガンダムネタはよくわからないんですってばー。(あ、これ松島さんの掲示板で書いたんだった)

貴様! それでも日本男児か!! (ネタがかなり違う(笑))
いやあ、ある程度は抑えておかないと、職場によっては「業界標準用語」扱いですよ。

> 以前、学校のパソコンでピンクなページを見ていた人がいたことが先生にばれて、

以前、学校のパソコンで、検索エンジンの便利さをデモるのに、gooにアヤシゲな単語を
打ち込んだ結果を現行犯で見つかったことがあります(爆)。
席に座っていた別の友人がかなりオヤジ入っていた先生に「うわっ、お前こんなページ見てるのか」
と大声で茶化されて終わったのですが(笑)。

>だいたいそういう人はそういうページに詳しいのです(笑)。そうじゃないと分析できないですし。

ぐふふふ(笑)。真理ですね。(^^;

>そういえば、市販のソフトで、そういう系のページを閲覧不能にするのがありますね。
>あれってどういう仕組みで動いているんでしょう。

(ローカル)プロクシが弾いているとか?

>> 相手サーバに残っていいから社内プロクシサーバに残らないようにする方法…。
>方法3.
>ノートPC + PHS等を利用する。
>やはりこれかな。

やっぱりそれですね〜。
うーん、個人のマシンを持ち込む大義名分がないなぁ。(^^;
せっかくLOOXをWin2000化したのに。

>どっかにIE6の新機能とかまとめてあるページってないですか?

http://www.ascii24.com/24/news/soft/article/2001/03/26/624591-000.html

私が知りたい情報は完全無視されてましたが…。(泣)
(CSS1/CSS2/HTML4.01/XHTML/XSL等への対応&改善具合)

>…jaってjapan?

地域と言語は別々に区別する都合上、jaは日本語、jpは日本国、を指すようです。
公用語が幾つもある国もあるので、独自の言語が唯一の公用語となっている日本は、
もしかしたら珍しい国なのかもしれませんね。

>Win2000のエクスプローラなんてひどいもんです。(私のところだけなんかな?)

うちでは、GDIがらみのメモリリークと予想される不具合が出てます。
デバドラ回りかもしれませんが…。

P.S.
遅れましたけど、リンクありがとうございます(^^)。>むたぐちさん

P.S.2
Googleバー、文字化けがいつの間にかに半分直っているような気がします。

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

IEで印刷させる件ですけど、WSH-MLの方に、
readyStateプロパティが4(READYSTATE_COMPLETE)になるまでループさせれば
印刷終了まで待つことができる、という投稿がありましたね。

readyStateはページのロードを待つときにしか使えないと思っていたんですが、
ExecWBで実行したコマンドの状態もわかるんですね。なるほど。


To: 【おじさま】 さん

> 5.5 では正式版では一応直ってました(・・と思う)から大丈夫でしょう(とも
> 言えませんが(^^;))。

5.5でもなんか不具合があったんですか?
せっかくNTカーネルという堅強なシステムがあるんだから、シェルをもっとまともに
作りこんでもらいたいもんですね。
Win2000のエクスプローラなんてひどいもんです。(私のところだけなんかな?)

> なぁ〜んだ。

思わせぶりなことをするな > MS、ですね。


To: 高橋 さん

> wshshell.sendkeys "{%}"
> のように、エスケープしないと駄目ですよ。
> # 確かにあのヘルプの書き方は分かりづらいところもありますね。

この項目に関しては、比較的まともに書かれていると思います。
少なくとも嘘は書いてない(^^;


To: Lib30 さん

> テキストボックスに値を入れるだけなら、Sendkeysを使わなくても
> Valueの値を変更するだけでよいのでは?

そうですね。
せっかくValueにアクセスできるのですから、こちらの方がいいと思います。

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

>高瀬さん



テキストボックスに値を入れるだけなら、Sendkeysを使わなくても
Valueの値を変更するだけでよいのでは?


For Each tag In document.all
if tag.tagname ="INPUT" then

tag.Value = "%"

End if
Next

高橋 さん 2001年 03月 27日 12時 57分 05秒

>高瀬さん
こんにちは。

>sendkeys で <input> tag で定義されたテキストボックス
>に % を文字として送るにはどうすれば良いのでしょうか?
>
とりあえず、sendkeys で「%」を送る場合には、
wshshell.sendkeys "{%}"
のように、エスケープしないと駄目ですよ。
# 確かにあのヘルプの書き方は分かりづらいところもありますね。

高瀬 さん (shigeto.takase@jp.compaq.com) 2001年 03月 27日 11時 54分 44秒

お世話になります。

sendkeys で <input> tag で定義されたテキストボックスに % を文字として
送るにはどうすれば良いのでしょうか?

test.html を以下のようにつくり、

<html>
<form>
<input type="text" size="20">
</form>
</html>

テスト用のscript を以下のようにしましたがだめでした。

Dim complete, url

Set Wshshell=Wscript.createobject("wscript.shell")
Set Ie =Wscript.CreateObject("InternetExplorer.Application", "IE_")
IE.width=500
IE.Left=0
IE.visible=true
complete=false
url = "c:\wsh\test.html" 'この行は適宜変えてください。
Ie.Navigate url

Do
Wscript.sleep 100
loop while complete=false

set document=IE.document

For Each tag In document.all
if tag.tagname ="INPUT" then

tag.focus
wshshell.sendkeys "%"

End if
Next

sub IE_DocumentComplete(pdsip, surl)
Complete=true
End Sub


お手数ですがよろしくお願いします。

高瀬

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

管理人むたぐち さん

>ほんと、大丈夫なんだろうか。

5.5 では正式版では一応直ってました(・・と思う)から大丈夫でしょう(とも
言えませんが(^^;))。

正式アナウンス出ましたね。

http://www.microsoft.com/products/windows/ie_intl/ja/download/preview/ie6/ie6preview.htm

>今見たら入れました。
>でも、5.5のままですね。

なぁ〜んだ。

masas さん (masas@with-fcs.co.jp) 2001年 03月 27日 09時 28分 36秒

>どうぞどうぞー。
>リンク、推薦、大歓迎です。

有難う御座います。

>> # 推薦枠はWebアプリケーションのVBSになると思いますが。

>WebアプリケーションのWSHというのがあるので、そちらの方がいいですね。
>…でも、WSHはWebアプリケーションか? まあ、細かいことは気にしない、っと。

あ、ありましたね気づきませんでした。

ではまた。

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

To: masas さん

> 以前UsersGroupのWSHMLでお世話になった事のあるmasas@雁の巣です。

どうも、こんにちは。

> そこにむたぐちさんのこのWSHのサイトを推薦したいと思って下りますが、
> 宜しいでしょうか?

どうぞどうぞー。
リンク、推薦、大歓迎です。

> # 推薦枠はWebアプリケーションのVBSになると思いますが。

WebアプリケーションのWSHというのがあるので、そちらの方がいいですね。
…でも、WSHはWebアプリケーションか? まあ、細かいことは気にしない、っと。


To: 【おじさま】 さん

> 私のところでも web ブラウザとしては別に何てことないのですが、エク
> スプローラが挙動不審です。でもこれって誰でも使って 1 分で分かるよ
> うな不具合です。いつものことながら Microsoft はやんちゃでお茶目で
> す。

さて、正式版でこれが直っていないとすると、お茶目さんでは済まされないわけですね。
ほんと、大丈夫なんだろうか。

> Win2k の場合、これまでは新しい IE が出ても、Outlook Express など
> は Win2k のサービスパックが出るまではバージョンアップされなかった
> のですが、今回の IE6 Win2k 用パッケージには Outlook Express も含
> まれています。いつも悔しい思いをしていたので今回は嬉しかったのです
> が、ご紹介のニュースグループにも同じことが書いてありました。

そういえば、microsoft.public.ja.inetexplorer.ie6betaなるニュースグループができてました。
…jaってjapan?

> http://www.microsoft.com/msdownload/vbscript/scripting.asp
> に入れないですね。もしかしたら 5.6 用に変更中なのかな(希望的
> 観測)。IE6 Preview に入っている 5.6 は多分正式版だと思うので
> これを単体で出すのかも。私はどっちかというと日本語ヘルプの方が
> 欲しい。

今見たら入れました。
でも、5.5のままですね。
5.6正式版は、XPと同時リリースと聞いたことがあります。

日本語ヘルプは、いつもワンテンポ遅れて出ますよね。まあ、気長に待ちましょう。

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

http://www.microsoft.com/msdownload/vbscript/scripting.asp
に入れないですね。もしかしたら 5.6 用に変更中なのかな(希望的
観測)。IE6 Preview に入っている 5.6 は多分正式版だと思うので
これを単体で出すのかも。私はどっちかというと日本語ヘルプの方が
欲しい。

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

管理人むたぐちさん

>IE6、ニュースグループの方ではあまり評判がよくありません(いつもの
>ことだが)。なぜか(ではなく必然的なものかも)エクスプローラの方に
>不具合が出るという報告がされていますが、これもいつものことですね。

私のところでも web ブラウザとしては別に何てことないのですが、エク
スプローラが挙動不審です。でもこれって誰でも使って 1 分で分かるよ
うな不具合です。いつものことながら Microsoft はやんちゃでお茶目で
す。

Win2k の場合、これまでは新しい IE が出ても、Outlook Express など
は Win2k のサービスパックが出るまではバージョンアップされなかった
のですが、今回の IE6 Win2k 用パッケージには Outlook Express も含
まれています。いつも悔しい思いをしていたので今回は嬉しかったのです
が、ご紹介のニュースグループにも同じことが書いてありました。

masas さん (masas@comel.or.jp) 2001年 03月 26日 22時 03分 59秒

以前UsersGroupのWSHMLでお世話になった事のあるmasas@雁の巣です。
その節はお世話になりました。

# その後もこのサイトで色々勉強させて頂いております。

今回むたぐちさんにリンクのお願いがありまして書き込みました。

最近立ち上がった開発者技術検索サイトを発見しまして、
そこにむたぐちさんのこのWSHのサイトを推薦したいと思って下りますが、
宜しいでしょうか?

# 推薦枠はWebアプリケーションのVBSになると思いますが。

Cool Site Search for DeveloperS
http://bluemoon.g-7.ne.jp/navi.htm

宜しくお願いします。

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

To: 【おじさま】 さん

> Microsoft Internet Explorer 6 Public Preview March 2001
>
> というのだそうです。ベータですのでリスク大好き人柱大好きという人以外には
> 関係ないのですが(正式版も人柱みたいなものですが)、スクリプトエンジンは
> 5.6.0.6012 で、これは英語版ベータの 5.6 よりも新しいみたいです(日本語用
> の vbsjp.dll などもこのバージョン)。

# 正式版も人柱みたいなものですが、が面白いです(^^;たしかにね。

microsoft.public.jp.inetexplorer.winでも話題になっていたので、知っていましたが、
ついにメジャーバージョン6ですか。
でもスクリプトエンジンは5.6なんですね。正式版では6.0にしたらよさそうなものですけど。
WSHも6.0として出すとインパクトがあって良いですよね。5.6は中途半端な感じがします。

IE6、ニュースグループの方ではあまり評判がよくありません(いつものことだが)。
なぜか(ではなく必然的なものかも)エクスプローラの方に不具合が出るという報告が
されていますが、これもいつものことですね。
私はベータ版は見送ります。これもまたいつものことです(^^;


To: Lib30 さん

> 見た感じでは変わっていませんね。ツールバーを動かせなくすることができたり
> 「戻る」メニューに「履歴」なんていうのが加わっているくらいです。

パーソナルバーとかいうのが追加されたそうですね。
IEは、これからはWindowsのGUIとしての役割が減っていくような気がするので、
IE6を見てWindowsXPの使い勝手を評価したりはできそうにないですね。
Win98のときは、Win95にIE4をインストールすることで、シェルに関しては結構
似たものになったんですが。

> あと、VBのオブジェクトビューアでMSHTML.dllを調べてみたところJScriptに
> onmousewheelなんていうイベントが加わってました。

ホイールを動かしたときのイベントですね。
Shell32の方には新しい要素が加わってませんでしょうか。
どちらかというと、そちらの方が気になるのです(^^;

> どっかにIE6の新機能とかまとめてあるページってないですか?

ニュースからの転載です。
http://betanews.efront.com/article.php3?sid=985323126

> 付けたしです

おお、1分差だ。

> うーん、メソッドは無理ですねー。

あ、そうなんですか。あえて除外したというわけでなく。

> J(ava)Scriptでは、オブジェクトはプロパティを連想配列のようにして
> 持っているため( navigator["appName"] とかいう感じ)、for in で
> プロパティ名を取得できるんですよ。

VBSではこういう芸当はできないと思います。さすがJavaScript!

> メソッドもそういう風にしてくれればいいのですがねえ。

ちなみにWMIでは、メソッドもプロパティと同じような方法で取得できます。
26-36 管理人むたぐち 2000/12/19 02:28 に書いたスクリプトで、

For Each oIns In GetObject("winmgmts:").InstancesOf(sClass)
For Each oMethod In oClass.Methods_
sOut=sOut & oMethod.Name & vbCrLf
Next
sOut=sOut & vbCrLf
Next

に変えればOKです。

> # 「HTMLプロパティビューア」ですが、今度はNetscape6にも対応させたり、
> # プロパティの値を変更可能にしてその結果がリアルタイムにウインドウに
> # 反映できるようにしようかと考え中(できるのはいつのことだか...)。

お、楽しみですね。
Netscape6の対応って、どうやるんでしょう?

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

○WMIを使ったリモートシャットダウン
たまにはWSHの話でもしましょう(^^;

Const wbemPrivilegeShutdown=18
Const wbemPrivilegeRemoteShutdown=23
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oSec = Locator.security_
oSec.privileges.add wbemPrivilegeShutdown 'ローカルPCのシャットダウン権限を与える
oSec.privileges.add wbemPrivilegeRemoteShutdown 'リモートPCのシャットダウン権限を与える
Set oService = Locator.ConnectServer("対象PCのIPアドレス","root/cimv2","ユーザー名","パスワード")
Set oSystemSet = oService.InstancesOf("Win32_OperatingSystem")
For Each oSystem In oSystemSet
oSystem.Win32Shutdown 8 '電源オフ
Next

このようなリモートシャットダウンスクリプトを書いてみたんですが、うまく動作しません。
(For Each oSystem In oSystemSetの行で「書き込みできません」というエラーになる。)
このスクリプトで、ローカルPCのシャットダウンはうまくいきました。
また、oSystemSetにはちゃんとSWbemObjectSetオブジェクトが入っているので、コードに
ミスはないと思われます。
さらに、前回(28-46,も書いたとおり、リモートプロセス起動には成功しています。よって、設定の
不具合というのも考えにくいです。
いったいどこに問題があるんでしょうか?


To: 高橋 さん

> いえいえ、贅沢だなんてとんでもないですよ。

いえ、Lib30さん、やってくれないかなあ、という非常に他力本願で無責任な願望ですから、
贅沢でしょ?
プロパティには値がありますが、メソッドにはそれがありませんし、プロパティと同列に
列挙すべきものではないような気もします。(たしか、WMIのオブジェクトビューアもそういう
仕様だった)

> # その先生、VBScriptとかで専用のログアナライザを書いていたりして…(笑)

やな先生だ(^^;
だいたいそういう人はそういうページに詳しいのです(笑)。そうじゃないと分析できないですし。

> 方法1.
> 隣の人のPCからインターネットアクセスする。
> →普通、proxyのアクセスログはIPアドレス位しかとらないので、大体ばれない。

隣の人だからすぐにばれます。
「さっき○○さんがそのパソコンでインターネットしてたよ」
……ばれるの意味が違う?

> 他の人のPCに"こっそり"VNCを入れる。
> →席を移動せずに済む分だけ、方法1.よりも優れているといえます。
> 相手が在席の場合は、バレバレですが…

うーん。そこまでして見ることもないでしょ(^^;
見ていることが知られるとまずいページは、素直に家で見ましょう(笑)
少なくとも私はそうしている(爆)

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

付けたしです

> >むたぐちさん、Lib30さん
> >書き忘れてたんですが、DOMに関して、Lib30さんのページにある「HTMLプロパティビューア」
> >というHTAは必見です。HTMLのDOMを解析できる優れものです。
> ># これでメソッドも見たい、という私は贅沢者だろうか(^^;
> >
> いえいえ、贅沢だなんてとんでもないですよ。
> 必要は発明の母といいますし、むたぐちさんが「必要!!」と思われたのなら、即刻スクリプト
> を作成&公開されれば良いでしょう。(笑)
> # それを待っているだけで何もしないほうが贅沢ですね。>怠け者>自分

うーん、メソッドは無理ですねー。
J(ava)Scriptでは、オブジェクトはプロパティを連想配列のようにして
持っているため( navigator["appName"] とかいう感じ)、for in で
プロパティ名を取得できるんですよ。
メソッドもそういう風にしてくれればいいのですがねえ。

# VBのオブジェクトビューアを使ってください(汗)。

# 「HTMLプロパティビューア」ですが、今度はNetscape6にも対応させたり、
# プロパティの値を変更可能にしてその結果がリアルタイムにウインドウに
# 反映できるようにしようかと考え中(できるのはいつのことだか...)。


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

> Microsoft Internet Explorer 6 Public Preview March 2001

ヤフーの掲示板にありましたね(2chではもっと前から?)。
新しい物好きの私も早速ダウンロードしてインストールしてしまいました。
IE5.5のときと違ってまともに起動したのでちょっと安心しています(あの時はReGetが入っていた)。

見た感じでは変わっていませんね。ツールバーを動かせなくすることができたり
「戻る」メニューに「履歴」なんていうのが加わっているくらいです。

あと、VBのオブジェクトビューアでMSHTML.dllを調べてみたところJScriptに
onmousewheelなんていうイベントが加わってました。

どっかにIE6の新機能とかまとめてあるページってないですか?

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

http://download.microsoft.com/download/ie60/install/ie6/win98me/ja/ie6setup.exe

こんなのが出てるんですね。

Microsoft Internet Explorer 6 Public Preview March 2001

というのだそうです。ベータですのでリスク大好き人柱大好きという人以外には
関係ないのですが(正式版も人柱みたいなものですが)、スクリプトエンジンは
5.6.0.6012 で、これは英語版ベータの 5.6 よりも新しいみたいです(日本語用
の vbsjp.dll などもこのバージョン)。

高橋 さん 2001年 03月 26日 14時 52分 16秒

高橋@変なところに反応。
#マルチレス、失礼。m(_ _)m

>むたぐちさん、Lib30さん
>書き忘れてたんですが、DOMに関して、Lib30さんのページにある「HTMLプロパティビューア」
>というHTAは必見です。HTMLのDOMを解析できる優れものです。
># これでメソッドも見たい、という私は贅沢者だろうか(^^;
>
いえいえ、贅沢だなんてとんでもないですよ。
必要は発明の母といいますし、むたぐちさんが「必要!!」と思われたのなら、即刻スクリプト
を作成&公開されれば良いでしょう。(笑)
# それを待っているだけで何もしないほうが贅沢ですね。>怠け者>自分

> 以前、学校のパソコンでピンクなページを見ていた人がいたことが先生にばれて、
> パソコン使用が禁止になったことがありました。もしかして、その先生は大量に
> あるはずのログをすべてチェックしていたのでしょうか?
その可能性はありますよね。egrepとか使えばそれほど苦労もしないでしょうし。
# その先生、VBScriptとかで専用のログアナライザを書いていたりして…(笑)

> 相手サーバに残っていいから社内プロクシサーバに残らないようにする方法…。
>
方法1.
隣の人のPCからインターネットアクセスする。
→普通、proxyのアクセスログはIPアドレス位しかとらないので、大体ばれない。
# M$のproxyはデフォルトでログオンユーザー名もとっていそうですが。

方法2.
他の人のPCに"こっそり"VNCを入れる。
→席を移動せずに済む分だけ、方法1.よりも優れているといえます。
相手が在席の場合は、バレバレですが…

方法3.
ノートPC + PHS等を利用する。
やはりこれかな。

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

データ領域をFAT32で運用していたWin2000ですが、最近ファイル操作に異常に
時間がかかるようになったため、思い切ってNTFSに変換してみると、嘘のように快適になりました。

デュアルブートしているWinMeはたぶん二度と使わないでしょう(^^;


To: たけ さん

> そのネタを提供したたけです。(^^;

どうもです。
ネタに*して*ごめんなさい(^^;
# どうも場の空気が読めてませんでしたね。反省…。

> 某サイトのリンク コーナーに WSH Lab. をリンクさせていただきました。

どうもありがとうございます。
こちらからも「パパパパぱそこん」にリンクさせていただきますね。

# チャブーンさんとこのリンク集で、うちと同じカテゴリにありますね(^^;

> これだけの充実したサイトを運営されるのは大変かとは思いますが
> 今後ともよろしくお願いします。(__)

こちらこそよろしくお願いします。
あとでそちらにも伺いますね。


To: Lib30 さん

書き忘れてたんですが、DOMに関して、Lib30さんのページにある「HTMLプロパティビューア」という
HTAは必見です。HTMLのDOMを解析できる優れものです。

# これでメソッドも見たい、という私は贅沢者だろうか(^^;

たけ さん (e_takeda@din.or.jp) 2001年 03月 26日 00時 38分 46秒
URL:http://www.din.or.jp/~e_takeda/

こんばんは&こちらでははじめまして ですね。

> # なんかチャブーンさんところに書いたネタとかぶるなー(笑)

そのネタを提供したたけです。(^^;
実は WSH Lab. は会社でアクセスしていて参考にさせていただいてました。
これを機に今後ともお付き合いさせていただければと思っています。

某サイトのリンク コーナーに WSH Lab. をリンクさせていただきました。
これだけの充実したサイトを運営されるのは大変かとは思いますが
今後ともよろしくお願いします。(__)

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

To: Lib30 さん

> どうも、現在春休み中で大量の宿題そっちのけでパソコンやってるLib30です。

大変ですねえ。
学年が変わるときぐらい解放してくれても良さそうなもんですが。
# 宿題は始業式から始めてたなあ…。←おいおい

> 以前、学校のパソコンでピンクなページを見ていた人がいたことが先生にばれて、
> パソコン使用が禁止になったことがありました。もしかして、その先生は大量に
> あるはずのログをすべてチェックしていたのでしょうか?

現場を押さえられてしまったのではないでしょうか。
その場合、言い逃れができません(^^;

そういえば、市販のソフトで、そういう系のページを閲覧不能にするのがありますね。
あれってどういう仕組みで動いているんでしょう。

> とあるページの用語解説に、DOMは
> 「Download Only Memberの略。学術用語でDocument Object Modelというのもあるが
> 使われることはまれ」とありました。学術用語ではないと思いますが、私たちは使用頻度が逆転しています。

ん、それどこのページか知ってますよ(笑)

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

どうも、現在春休み中で大量の宿題そっちのけでパソコンやってるLib30です。

> 相手サーバに残っていいから社内プロクシサーバに残らないようにする方法…。

以前、学校のパソコンでピンクなページを見ていた人がいたことが先生にばれて、
パソコン使用が禁止になったことがありました。もしかして、その先生は大量に
あるはずのログをすべてチェックしていたのでしょうか?


> 普通はDownload Only Memberのことですね。何をダウンロードする人なのかは秘密だ。

とあるページの用語解説に、DOMは
「Download Only Memberの略。学術用語でDocument Object Modelというのもあるが
使われることはまれ」とありました。学術用語ではないと思いますが、私たちは使用頻度が逆転しています。

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

To: 松島 さん

> Unicode と、UTF-8 や UTF-16 や UTF-32 などは、別の基準のことを指しています。
> 第○水準漢字と、JISやEUCやSJISを比べるようなこと、と言えば分かりやすいでしょうか。

ははあ、なるほど。
比べてはいけないものを比べてしまいましたか。失礼しました。
# mp3はMIDIより優れている、とか(このネタはjapan.yosoでは有名(^^;)

> NHKで「韓国語講座」とも「朝鮮語講座」とも言えずに
> 「ハングル講座」という恐ろしい折衝案のネーミングに落ち着いたのは有名な話。

知りませんでした(^^;
そういえば、「日韓共同開催」という表現もまずいという話がありますね。
別に順序なんてどうでもいいようなものですが、どこでも頭の固い人間はいるもんです。

# なんかチャブーンさんところに書いたネタとかぶるなー(笑)

> >これって、Popupオブジェクトじゃなくて、ActiveXコントロールと見受けられますが。
>
> あれ、どこだろう。タネが見抜けない…(^^;

左のメニューをクリックすると、"News Menu"のダウンロードページに飛ばされました。
おそらく、インストールしていない場合だけ表示されるページなんでしょう。

> 相手サーバに残っていいから社内プロクシサーバに残らないようにする方法…。

うちの研究室なんか、プロキシサーバーが誰でも触れるんですよ!
誰がどこのページを見たか一目瞭然。
え、セキュリティ? さあ、どうなってるんでしょう(爆)

> なんか発想が普通の匿名化と逆の気がする(笑)。

串がどうたら、とかの話ですね。

> ホントに眠気に効くのは、コーヒーなんかより「会話」だったりするんですけどね(^^;)。
> ウトウト病は難病です。

これからの季節、病状が悪化しそうです。
春眠暁を覚えず…。

> ドムとかザクとかグフとか…はいいとして。

だからガンダムネタはよくわからないんですってばー。(あ、これ松島さんの掲示板で書いたんだった)
普通はDownload Only Memberのことですね。何をダウンロードする人なのかは秘密だ。

> HTMLのパーサはXMLと比べものにならないほど強力な誤り修正/省略補完機能が必要なんですよね(^^;)。
> そのIEのDOMに、簡単にアクセスできるのは、ホントに魅力です。

そうですね。HTMLってのはもともと曖昧に書いていいものだから、解釈するほうは
相当気合を入れてやらないといけません。ブラウザの機能を使わずにやるのは至難の業でしょうね。
(そのページがどれだけ厳密にかかれているかにもよるでしょうけど)

ただ、表示に関しては解釈が多少間違っていても問題ないですが、DOMにアクセスする際、
解釈が間違っているとやばい気がします。
やはり、厳密な記述が求められるXMLにこそ、外部からのDOMへのアクセスに意味が出てくるのでは
ないかと思います。


先ほどの記事の訂正。

> Sub wsck_Connect()
> wsck.SendData "GET http://www.ca.sakura.ne.jp/~patent/pa/bbs/wforum1/wforum.cgi HTTP/1.0" & vbCrLf & _
> "Referer: http://www.ca.sakura.ne.jp/~patent/pa/" & vbCrLf & _
> "Cookie: $Version=""1""; EatCookie=""on""; expire=""Wednesday, 19-Sep-2001 14:26:07 GMT""; $Path=""http://www.ca.sakura.ne.jp/~patent/pa""; $Domain=""www.ca.sakura.ne.jp"" & vbCrLf & vbCrLf
> End Sub

& vbCrLf & vbCrLf の前に" が一つ抜けています。
ここを直せば正常に動作しました。
あと、レスポンス待ちの時間調整は、レスポンスが帰ってくるまでループするようにした方がいいでしょう。

Return