1 名前:デフォルトの名無しさん [03/06/08 21:31] ( ´ゝ`) 無ので立ててみた。 誰か詳しい情報キボンヌ
587 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 11:53:06 ] set wbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}") この行のあるプログラムをcscriptで実行しようとしたとき、(実行者はAdministrator) Server 2003 では問題出ないのですが、2000 Server 上では (ソースファイル名)(上の行の番号) SWbemServices: アクセスは拒否されました というメッセージが出て止まってしまいます。 wbemServices や impersonate で検索してみたのですが、 impersonate が権限を取得出来る可能性が高いので推奨 というくらいのことしか分かりませんでした。 何か解決策をご存知の方はいらっしゃいますでしょうか?
588 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 12:02:58 ] 自己レスです 検索してたら 「SeSecurityPrivilegeが割り当てられている必要があります」 「ない場合は、"Access Denied"がアプリケーションに返されます」 という記述が見つかりました もう少し調べてうまくいったらご報告します
589 名前:デフォルトの名無しさん [2006/06/17(土) 18:12:41 ] Aフォルダの中にあるファイルとフォルダを全て削除する。 ただしBフォルダ以外。 上記の操作をWSHで可能ですか? 色々調べたんですが、一時的にBフォルダを別の場所に移動 してから一括削除する方法位しか思いつかなくて・・・
590 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 18:32:51 ] >>586 さんくす
591 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 18:54:56 ] >>589 Aフォルダ自体に削除処理を掛けることばかり考えずに Aフォルダ以下のSubFolders、Filesをループで削除する処理を作って そのループの中でBフォルダの名前に一致した場合は削除処理を行わないようにすれば良い。 つーか > 時的にBフォルダを別の場所に移動 > してから一括削除する方法 に何か問題でもあるの? 別パーティションに移動するとかなら移動処理に時間が掛かるだろうが Bフォルダのパスを2回書き換えるだけで実際には移動せずに済むんだから、 そういう不都合も無いでしょ。いったい何が不満なの?
592 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 19:28:36 ] FAT32なのかもしれん
593 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 19:33:13 ] Win2000をサービスパックとか何も入れずに使っているのですが、 何やらXPだとかサービスパックだとかの場合、ADODBが殺されて使えない、 というような話を聞いたのですが本当なのでしょうか? ADODBを使ったスクリプトを他人のコンピュータ(特にXP)でも動作させたいのですが、どういう状況なのか教えてくださいませ。
594 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 19:42:58 ] 「Win2000をサービスパックとか何も入れずに」 しね
595 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 23:17:29 ] Dim SettingFile1 Set SettingFile1 = 〜 Dim SettingFile2 Set SettingFile2 = 〜 みたいなのを動的に増やしていきたいのですが、 どうすればいいのでしょうか?
596 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 23:24:41 ] 配列にする
597 名前:589 [2006/06/18(日) 04:42:54 ] >>591 Bフォルダの容量が大きいので、移動は避けたかったんですよ。 で、教えて頂いた通りにやってみるとできました! objStartFolder = ShowSubfolders objFSO.GetFolder(objStartFolder) Sub ShowSubFolders(Folder) For Each Subfolder in Folder.SubFolders Set objFolder = objFSO.GetFolder(Subfolder.Path) ShowSubFolders Subfolder If not objFolder = objStartFolder & "Bフォルダ" Then objFSO.DeleteFolder(objFolder),true End If Next End Sub
598 名前:デフォルトの名無しさん [2006/06/18(日) 19:49:21 ] Windows板のスレから移動してきました。質問させてください。 変数に格納されている文字列を元にした名前を持つグローバル関数を定義したいのですが WSH ではグローバル変数・関数が集まっているオブジェクトって存在するのでしょうか? (ブラウザでのJavaScript実行環境における window にあたるオブジェクト) 具体的には InternetExplorer のイベントを監視する為に function observe(s, f) { window["InternetExplorer_On" + s] = f; } のようなコードを書きたいのです。 Global オブジェクトかな、とも思ったのですが、うちの環境(Windows XP sp2)では 参照しようとするとエラーがでてしまいます。なんで…(´・ω・) eval を使う手も考えましたが、実行されるのが関数の中なのでグローバルにできません…。
599 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 20:11:12 ] マルチ乙
600 名前:598 mailto:sage [2006/06/18(日) 20:28:20 ] >>599 いえ、マルチとならないよう、向こうのスレで質問を中止する旨を書き込んだのですが まずかったのでしょうか…。こちらのスレに移動する、という事も書きました。
601 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 21:42:38 ] >>598 代用法はあるが、そのものの方法は無い。
602 名前:デフォルトの名無しさん [2006/06/19(月) 19:03:27 ] 開発環境はメモ帳ですか?
603 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 20:36:15 ] VS2005
604 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 23:44:16 ] おいらはメモ帳派
605 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 02:26:33 ] インターネット上のファイル(....../xxx.pdf )のタイムスタンプを調べて、 更新されていればダウンロードし、「ファイル名+日付.pdf」リネームする するスクリプトを作りたいんですが、他の部分はともかくネット上のファイルに アクセスする方法がわからないのですが、何かよい方法はあるでしょうか?
606 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 03:57:24 ] 取りあえず HTTP で公開されてるファイルには XMLHTTP とか使う。 そもそもそのサーバが最終更新日時をヘッダに含めてくれるのか? とか。 If-Modified-Since ヘッダを使えばできるかもな。
607 名前:605 [2006/06/21(水) 00:15:12 ] >>606 XMLHTTPでなんとかアクセスできるようにはなりましたけど、 タイムスタンプの取得がうまくいきませぬ。 If-Modified-Sinceヘッダに関しては、 ttp://www.su-jine.com/sujine_seo_if-modified-since_checker.php こんなサイト発見して、目的のサーバが対応してるところまでは 調べれましたが、問題はそのヘッダをどうやって送るかが、わかりませぬ。 もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。 あればできそうなのに・・・。HTTPの仕様に関する資料とか探せばいいのかな? とにかく助言ありがとうございました。
608 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 00:56:28 ] last_modified = XMLHTTP.getResponseHeader("Last-Modified"); XMLHTTP.setRequestHeader("If-Modified-Since", last_modified); > もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。 XMLHTTP ヘッダー でググったら一発で見つかったけど・・・?
609 名前:605 [2006/06/21(水) 01:08:36 ] ぐは!本当だ。申し訳なかとです、修行が足りませなんだ・・・。orz おかげでなんとか出来そうです。 ありがとうございました。
610 名前:デフォルトの名無しさん [2006/06/24(土) 15:49:45 ] スクリプトだと実行できてEXEだと実行できないような状態ってありますか?
611 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 15:59:39 ] 状態? なんの?
612 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 18:15:18 ] >>594 教えてくれたら死にます。なので教えて下さい。 原因はおそらくADODBがIObjectSafetyをサポートしているのでIEから使えてしまう事が原因だと思いますが、これの対策としては 1. ADODBをIObjectSafety非サポートに変更 2. ADODBのレジストリ登録を削除 3. ADODBのモジュール自体を削除 のいずれかだと思います。MSが取った対策はどれですか? #・・・しかしスクリプトな人達って疲れる・・・(^^;)
613 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 18:17:56 ] スクリプトもexeの実行だよ。 関連付け設定していれば、スクリプトファイル(コードを書いたファイル)を実行してるように感じるかもしれないが、 その実、Wscript.exeを実行して、スクリプトファイルを渡すという処理が行われている。 exeが実行できなかったら、.vbsや.jsを実行(ダブルクリック、Enter)したって何も起きない。
614 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 18:28:19 ] > 教えてくれたら死にます。なので教えて下さい。 教えたら死ぬという確かな証拠と、 あなたの死後、死んだことを証明するものを提示する手段を明らかにしてください。 >教えてくれたら死にます。 という前提があって > なので教えて下さい。 という欲求があるのだから、当然前提は明確にしないとね。
615 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 21:59:11 ] >>614 お前みたいなレスは一番(゚听)イラネ
616 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:02:14 ] >>615 オマエモナー
617 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:11:49 ] >>615 ID出ない板は便利だね( ̄ー ̄)ニヤリッ
618 名前:605 mailto:sage [2006/06/25(日) 00:26:49 ] 遅レスでスマソ。 とりあえず、ファイルの更新日時をチェックする部分はできますた。 url = "....../xxx.pdf" Set objHTTP = CreateObject("MSXML2.XMLHTTP") Call objHTTP.Open("GET",Url,False) objHTTP.send Last_Modified = objHTTP.getResponseHeader("Last-Modified") s = split(Last_Modified) strWeekday = s(0) strDay = s(1) strMonth = s(2) strYear = s(3) strTime = s(4) こんな感じで更新日時はゲットできますた。 教えていただいた方にまずは感謝です。 アリガト!(´▽`) あとはダウンロードするだけですが、 HTMLとかテキストデータをDLする方法はいくつか見かけたのですが、 バイナリファイルのダウンロードの方法はどんな方法があるのでしょうか?
619 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 00:32:47 ] おいおい、それくらいちょっと調べればすぐ出てくるだろ? てか XMLHTTP だけでも(アップロードだが)バイナリデータのがトップだ。
620 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 00:58:49 ] 普通に取ってデコードする
621 名前:605 mailto:sage [2006/06/25(日) 01:22:52 ] >>619 XMLHTTPだけでも〜〜〜 って、ことはXMLHTTPを使えばできるってことですよね? うーん、.ResponseTextメソッドとか.ResponseBodyメソッドとかを 使うってことですか? >>620 普通に取ってデコードするってことは、 上記のような方法で取ってきたデータを なんらかのデコード処理をしたあとでファイルに書き出すということでしょうか? レスありがとうございました。 まだまだ検索が甘かったようなので、もう一度探しに行っていきます。
622 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:02:37 ] >>621 バイナリはADODB.Streamで保存する 別にデコードはいらんだろ
623 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 00:05:45 ] ADODB.Stream使わないで保存できないの?
624 名前:605 mailto:sage [2006/06/26(月) 00:28:41 ] ADOBO.Streemで検索を掛けていたら、 ここにそのまんまな解決方法が載っていました。 www.roy.hi-ho.ne.jp/mutaguchi/bbs/list80.shtml ためしにサンプル通りに作ってみたところ見事ダウンロードできました。うはっ!! もうあまりにまんまでなぜ見つけられなかったか、 自分の不甲斐なさに涙が出てきました。 レスして頂いた方々へ→本当にありがとうございました。m(__)m
625 名前:612 mailto:sage [2006/07/01(土) 20:28:54 ] 私は以下の掲示板で活動してるAK○という者なんですが、教えていただけないでしょうか? ttp://www.roy.hi-ho.ne.jp/mutaguchi/bbs/index.shtml 別のスレや掲示板で聞き直してもいいのですが、たくさんそういう事をすると検索の時に引っ掛かって邪魔だ、とよく言われるので。
626 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 01:40:01 ] >625 アロンのトコじゃねぇか、ソコの住人の方が詳しいんじゃね?
627 名前:デフォルトの名無しさん [2006/07/29(土) 21:16:12 ] >>625 糞掲示板の宣伝乙
628 名前:デフォルトの名無しさん mailto:sage [2006/08/02(水) 19:47:22 ] JScript の Array オブジェクトを、VBArray に変換する方法を教えてください
629 名前:628 mailto:sage [2006/08/02(水) 20:12:57 ] 自己解決。 DynWrap Helper にまんまそのとおりのコードがありました。
630 名前:デフォルトの名無しさん [2006/08/15(火) 11:45:30 ] Microsoft.XMLDOMを利用してxmlファイルを作る場合なのですが ただ単にappendChildで追加していってSaveすると <root><item>a</item><item>b</item></root> というファイルが出来るのですが、これを改行やインデントを入れて <root> <item>a</item> <item>b</item> </root> とするには、何をすれば良いのですか? まさか自前で文字列解析するなんてことはないだろうから XMLDOMのプロパティなりなんなりでこの辺の設定が出来ると思うのですが 具体的にどうすれば良いのか解りません。ご教示お願いします。
631 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 15:01:49 ] >>630 改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。 どうしても整形したいならXSLTで変換かなぁ。勘だけど。
632 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 19:37:59 ] >>631 も言ってるようにそこはデータだから勝手に整形しちゃいかん。 やるんだったらこう。 <root ><item>a</item ><item>b</item ></root>
633 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 20:00:52 ] >>632 それは完全に間違い。
634 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 20:52:52 ] >>633 脊髄反射するな。
635 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 23:05:23 ] >>630 それらしきプロパティはあって、使えるかと思って以前試したけど それほど簡単ではなかった。 DOMDocument には PreserveWhitespace というプロパティがあって、これが falseのとき、ドキュメント内の空白は保存時に自動的にインデントされる仕様。 ところが、インデントする対象が "ドキュメント内の空白" なため、 以下のような既存文書を読んだ場合、 <root> <item>a</item> </root> <root>と<item>の間、</item>と</root>の間は空白扱いなので、 書き込むときも(空白=>インデント変換によって)同様にインデントされるが、 新規に <root><item>a</item></root> というデータを作成してsaveしても途中に空白がないので、保存しても そのままではインデントしてくれない。 仕方がないので、要素をルートから再帰的にたどってタグとタグの間に テキスト要素がなければ問答無用で1つの空白を挿入するという補助関数 を作って保存前に呼んでた。
636 名前:630 mailto:sage [2006/08/16(水) 09:50:58 ] >>631 > 改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。 > そこはデータだから勝手に整形しちゃいかん。 それは違うと思います。確かに改行や空白はテキスト要素として扱われます。 だから<root>をテキストノードとして扱い、余計な改行や空白が入っては拙い場合は、前者の書き方が正しいと言えますが <root>がエレメントノードであり、テキスト要素を利用しない場合は、テキスト要素に何が入ろうと間違いも問題もありません。 つまり改行や空白を入れれば、それらもテキスト要素として取得されるという仕様なだけの話であり、 テキスト要素に改行や空白を使ってはいけないなんてことはないので、改行や空白が取得されては困る場合だけ避ければ良いことだと思います。 少なくとも>>630 後者の記述は、仕様に沿った正しいXMLファイルとして扱えています。 >>633 間違いでは無いと思いますよ。 >>632 も>>630 後者も、どちらもXMLの仕様には違反していません。 ただ条件付きで>>630 後者は、<root>のテキスト要素に改行や空白は入っては拙い場合は不都合があるというだけです。 >>635 ありがとうございます。理想通りに改行&インデントされました。 やはりこういう記述を正式にサポートしてたのですね。
637 名前:デフォルトの名無しさん [2006/08/16(水) 10:54:42 ] EXEにできない時点で糞
638 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 11:06:57 ] 何処の誤爆だ?
639 名前:デフォルトの名無しさん [2006/08/17(木) 05:42:20 ] EXEにできないヨネ?
640 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 11:33:48 ] なぜEXEにできないと糞なの? Windowsならどんな環境でも大体は実行できるのに。 コード隠蔽したいってこと?
641 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 17:27:39 ] >>639 www.vector.co.jp/soft/win95/prog/se277804.html
642 名前:デフォルトの名無しさん [2006/08/17(木) 17:36:51 ] できるのかーーー 普通のウインドウも作れる?
643 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 17:59:22 ] HTA使えば余裕
644 名前:デフォルトの名無しさん [2006/08/17(木) 19:42:43 ] WSHの限界は何処ですか?
645 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 19:51:16 ] COMの限界
646 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 19:53:30 ] exeにしたければJScript.NETでも使ったほうがいいような気もする コンパイラ jsc.exe はバージョンの新しい順に C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705 あたりにある。 とは行ってもWSHのJScriptはほとんどそのままではコンパイルできないね。
647 名前:デフォルトの名無しさん [2006/08/17(木) 19:56:34 ] 構造体はありますか?
648 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 20:04:42 ] クラスならあります。C#等で定義した構造体は使える。
649 名前:デフォルトの名無しさん [2006/08/21(月) 20:42:48 ] 多分スレ違いだけど適当な場所が無いので教えてください。m(__)m Aというコンピュータのa.batからBのコンピュータのb.vbsを起動させたい。 b.vbsはあくまでもB自身で起動させたいというのがポイントです。 (Bのメモリ空間で実行したい) どんなコマンドを書けば実行できますか? ヒントでもいいから教えてもらえると助かります。
650 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 20:46:58 ] >>649 > どんなコマンドを書けば実行できますか? 普通に。
651 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 20:48:37 ] '普通に。' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
652 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:02:06 ] >>649 WshControllerというのがあるらしい。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsconRunningScriptsRemotelyRunningScriptOverThereFromHere.asp とか
653 名前:デフォルトの名無しさん mailto:sage [2006/08/21(月) 23:20:49 ] >>652 どうもです。m(__)m WshControllerでぐぐったらいろいろと事例がでてきました。 研究してみます。
654 名前:デフォルトの名無しさん [2006/08/22(火) 06:40:04 ] 先輩、 WSHでデスクトップのアイコンの座標を取得できますか?
655 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 20:11:55 ] >>654 WScript.exeの機能だけでは出来ませんが、 そういう機能を有するCOMを作れば取得できます。 後のことは、あなたがそのCOMを作るのに使う言語のスレでどうぞ。 COM作れないなら、出来ないってことで諦めるか、勉強して作れるようになりましょう。
656 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 23:45:56 ] COM作れば、そりゃ何でも出来るわな。
657 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 00:12:11 ] COM作れば、億万長者にもなれますか?
658 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 06:08:54 ] COMMAND.COMをつくったゲイツくんはおかねもちになりました。
659 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 22:52:51 ] Excel.Run "Macro1"
660 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 19:08:32 ] >>639 >>641 でも、一旦EXE化してしまうと、そのファイルを直接メモ帳で修正…って作業が、不可能になる。 使いながら、どんどんVersion UPさせて行くようなスクリプトがWSH/VBSは、特に多いから、メンテ上不利かも。 という事で、VBを持っていれば、Shell()関数で、同じフォルダに在るAutoexec.vbs を自動で読みに行くEXEを 作ってしまうと良い感じです。呼び出す時はEXEでありながら、なおかつ、メンテもしやすい環境になる。 Autoexec.vbs には、VBで作ったEXEファイルから、Drag&Dropしたファイルのフルパス情報を渡すようにしとけば、 ファイルとEXEの関連付け設定をした場合にも、実際には、VBS内で定義したアプリケーションで開いてくれる。 テキストファイルをランダムで、メモ帳/EmEditor/TeraPad/秀丸 に送る環境とかも、簡単にできるし、メンテも楽です。 そう言えば、昔、メモ帳トラッパー.exe ってアプリがあったのを思い出した…
661 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 19:38:47 ] >>660 ごめん、そこまでしてEXE化する理由が本当にわかんない。 なぜスクリプトファイルを直に使わないの?
662 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 20:25:11 ] >>661 VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。 >>660 は、そういう問題に関しての、回避例として簡単&便利かと思って。 VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。
663 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 20:31:45 ] 関連付けは普通にできる。
664 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 20:52:59 ] > VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。 いいえ出来ますよ。君が無知なのはどうでもいいが、勝手に出来ないことにしないように。 > そういう問題に関しての、回避例として簡単&便利かと思って。 わざわざスクリプトのトラッパーなんか作るより、関連付けの仕様を覚えて使いこなす方が 10倍簡単で100倍便利で1000倍クールです。 > VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。 それはスクリプトとして使いこなしてる人が言うと納得できる台詞だが、君レベルの人が言うと滑稽なだけ。
665 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 21:10:52 ] >>663-664 そうは言っても、 Win2K SP4だけど、 ファイルタイプの編集から、アクションを実行するアプリケーションで、 X:\P114.vbs "%1"を入れても、 指定されたアプリケーションが見つかりませんでした。 ファイル名とパスが正しいかどうか確かめてください。 なんて言われるだけだし。 自分の持ってる知識を組合せて実現して行くのが、その人にとっての一番の 解法だと思う。別に俺の方法が間違ってるってわけでもないもんねー 知ってるか知らないかだけで、そんなに居丈高になれる奴のほうが、気がおかしいんじゃないの? とは言え、ちょっと恥ずかしいから、ググってくるか… 次の話進んでて構わないよ。
666 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 21:25:24 ] >>665 X:\P114.vbs は非実行ファイルだ(アプリケーションでない)から %SystemRoot%\System32\WScript.exe X:\P114.vbs "%1" %* のようにしなければならない。
667 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 22:05:20 ] スクリプトファイルを動かしてるインタプリタの存在も知らなかったのか
668 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 22:36:15 ] >>666 めっちゃレスが早いんですが、もしかして、上の人(>>663-664 )と同一人物だったりしますか? 人気スレでもないのに、そんなに人が居るわけもないだろうし… ありがとうございます。検索中&確認中中だったのですが、まだ解法が見つかってなかったので助かりました。 無事動作を確認いたしました。 基本を忘れていました。 ( >>667 また、そーゆー事を…)
669 名前:デフォルトの名無しさん [2006/09/25(月) 12:05:56 ] VBScriptってVBなんだから With Wscript .echo "hell world!" End with っていうのがなんで出来ないのか?と思ってやってみたら出来た。
670 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 13:27:37 ] そういうのはチラシの裏に書け
671 名前:デフォルトの名無しさん [2006/09/25(月) 17:26:19 ] WshShell,RUNの第二、第三パラメーターのデフォルト値って いくつっすか? www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_02.html 第三パラメータのデフォルトはFALSEっぽいんだけど、第二がよくわからん。0?
672 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 20:31:34 ] まあ普通に考えると 5 (SW_SHOW) だと思うよ
673 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 00:16:52 ] 今ではまったく使い物にならなくなった第1版が大幅改訂するらしい ----------------------------------------------------------- 『WSHクイックリファレンス 第2版』 羽山 博 著 ISBN4-87311-309-1 定価3,990円 ■ロングセラー書の改訂版。最新のWSH 5.6対応に対応して大幅改訂!■ WSH(Windowsスクリプトホスト)を使えば、従来のWindowsバッチファイル よりも複雑なバッチ処理が可能です。OSレベルで管理されているデータにも アクセスできるので、システム管理やネットワーク管理にも重宝します。 本書は、WSHの本格的な活用に役立つリファレンスです。Windowsスクリプト ホストの初歩から応用までを豊富なサンプルとともにていねいに説明します。 最新のWSH5.6対応。 ============================================================
674 名前:デフォルトの名無しさん [2006/09/27(水) 12:41:25 ] HSPで中空扇形を書いて中も塗りつぶしたいのですが、どうすりゃいいっすか?
675 名前:デフォルトの名無しさん mailto:age [2006/09/27(水) 19:47:33 ] いろいろなサイトを閲覧して、ローカルPCに溜まったCookieファイルを、VBScriptで定期的に自動消去する処理は、どうすれば良いでしょうか? ttp://www.happy2-island.com/vbs/cafe02/capter00210.shtml ファイルの削除を参考にしてみましたが、Cookieファイルの指定がうまくできませんでした。
676 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:53:47 ] >675 ブラウザで設定する方が早くね?
677 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:54:12 ] うまくできないとは?
678 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 22:23:42 ] 別にWSHでやらなくても、既存のソフトが山ほどあるような。 それをタスクスケジューラに登録すればいいじゃない。
679 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 03:44:07 ] pc8.2ch.net/test/read.cgi/hp/1018858947/214
680 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 14:31:08 ] 台形の面積を求めたいんだけど、 Option Explicit Dim A, B, C, D A = InputBox("上底 cm","値を入力してください") B = InputBox("下底 cm","値を入力してください") C = InputBox("高さ cm","値を入力してください") D = (A + B) * C / 2 MsgBox D & " 平方cm" これだと、(A + B) のところが2桁の数字の左数字と右数字という文字の関係になってしまい、 計算式として認識してくれないんだが、A + B をどう囲えばいい?
681 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 14:42:28 ] CInt とか CCur とか
682 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 14:44:38 ] >>680 A,B,CそれぞれCDbl関数で括れば?
683 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:01:32 ] A か B どちらか一方を数値にすればおk
684 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:20:22 ] A = CDbl(InputBox("上底 cm","値を入力してください")) こうすることで、解決できました。 ありがd
685 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 23:27:59 ] 例外処理きちんとしようぜ。 IsNumericっていう便利な関数あるんだから。
686 名前:デフォルトの名無しさん [2006/10/02(月) 10:17:57 ] A=A+0 っていうのでどうでしょ?
687 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 10:43:37 ] 洒落で言ってるの?
688 名前:デフォルトの名無しさん [2006/10/02(月) 12:34:41 ] >>687 どれがしゃれ?
689 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 13:10:26 ] いや、君に聞いてるんだけど。
690 名前:デフォルトの名無しさん [2006/10/02(月) 19:40:26 ] "って、chr(34)で入れるしかないですか? """とか"^""とか"\""とか、だめ?
691 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 19:47:59 ] WScript.Echo('"');
692 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 22:06:20 ] >>690 VBScript の場合は、Chr() 関数を使うしかない。 JScript の場合は、シングルクォーテーションで囲っても良いし エスケープシーケンスを使って \" と書いても良い。 "\""って発想が出てくる喪前に JScript 。
693 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 22:11:47 ] """" 1 文字列囲い開始 2 ダブルクォーテイションのエスケープ文字 3 ダブルクォーテイション 4 文字列囲い閉じ
694 名前:680 mailto:sage [2006/10/03(火) 08:39:28 ] >>685 IsNumericの存在を始めてしったが、使いこなせないのが鬱 Or=z__ 修行に出るわ
695 名前:690 [2006/10/03(火) 10:38:54 ] >>693 さんくす。うまくいきました。 それ、どっかにドキュメントがありますか?
696 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 18:34:07 ] ソースだせやゴルア!ってこと?
697 名前:690 [2006/10/03(火) 19:16:06 ] >>696 そんな言い方はしてないw
698 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 19:40:06 ] >>690 Visual Basic における文字列の基本 ttp://msdn2.microsoft.com/ja-JP/library/ms234766.aspx
699 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 08:38:01 ] SeraphyScriptTools を使って、GUI画面作っているのですが… www.vector.co.jp/soft/win95/prog/se177026.html CommonDialogオブジェクトの MultiOpenFileDialog メソッドで配列を取得するんだけどVBのVariant配列が帰ってくるんです。 それでこれをJScript上で取得したいんだけど、方法を知っている方いらっしゃらないでしょうか?
700 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:38:03 ] >>699 つ ttp://hp.vector.co.jp/authors/VA017626/
701 名前:690 [2006/10/04(水) 10:35:54 ] >>698 だんけ
702 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 16:02:23 ] d.hatena.ne.jp/xAloe/20061001
703 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 17:09:48 ] >>699 varName = new VBArray(safeArray)
704 名前:699 mailto:sage [2006/10/04(水) 20:24:45 ] >703 サンキュ! 解決した!
705 名前:デフォルトの名無しさん [2006/10/04(水) 23:31:31 ] 初心者です。初めて質問します。C#からWshを使おうと思っています。 現在、既に開かれているIEのテキストを取得しようと試みています。 そのため、IEのWindowのIEオブジェクトを取得しようと 思っているのですが、その取得方法が分かりません。 Set Shell = Wscript.CreateObject("Shell.Application"); //既に開かれているWindowからIEを探す処理 //IEオブジェクトからテキストを抜き出す処理 DocumentプロパティからIHTMLDocumentを取得するとよい?? 大体このような流れだと思うのですが、詳細が分かりません。 どなたかご教授願います。 ちなみにIE6.0.0系を使おうと思っています。
706 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 23:55:48 ] >>705 つSystem.Runtime.InteropServices.Marshal.GetActiveObject 流れはおおよそ間違っていないが、WSHは全く関係しない。
707 名前:デフォルトの名無しさん [2006/10/05(木) 00:08:36 ] >706 素早い回答、真に有難う御座います。 この方法を使うとC#から直接COMオブジェクトを利用できると思ってイイですか?
708 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 00:17:37 ] >>671 wShell.Run(strCommand, [intWindowStyle], [bWaitOnReturn]) のintWindowStyleのデフォルトを調べてみました。 関連付けのコマンドラインに、%Sを指定すると、ここに、WindowStyleが入ります。 ダブルクリック 1 ドロップ 5 wShell.Run 1 CMD.EXE /C 1 START /MIN 7 START /MAX 3 でした。
709 名前:690 [2006/10/12(木) 10:42:56 ] >>708 ってことは、1ですかね?どうもありがとうございまs
710 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 12:23:32 ] 10 ではないだろうか
711 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:36:50 ] 10じゃなくて1のようです。
712 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:15:06 ] WindowsのGUIからではなくコマンドまたはスクリプトを用いて 各インターフェイスの「Microsoft ネットワーク用ファイルとプリンタ共有」 のチェックを外す事は可能でしょうか? ローカルエリア接続が出来れば結構です。 netshやサービスのコマンドを見てみてもそれらしき、項目はありませんでした。 どなたか教えてくださいm(_ _)m
713 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:21:10 ] >>712 Windows XP SP2なら netsh firewall set service FILEANDPRINT DISABLE とやればWindowsファイヤウォールの設定によって 同等の効果が得られそうだけど、 スクリプトでやるとしたらWMI使ったりレジストリ操作したりで面倒そう。
714 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:17:37 ] >>713 ありがとうございます。 OSはWinXPSP2ですが、各インターフェイスごとというのが難しいようですね。 例えば無線LANでは有効、有線LANでは無効といった使い方をしたいんです。
715 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 13:59:22 ] うろおぼえなのですが、マウスの右クリックと同じ動作をさせるInvokeとかなんとかっていう機能があったような。 あんまり関係ないでしょうか?
716 名前:デフォルトの名無しさん [2006/10/25(水) 01:01:48 ] wshでセットした変数をバッチスクリプトで使うには environmentを使えばいいのでしたっけ?
717 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 01:38:14 ] >>673 これってどうなの?
718 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 11:10:37 ] 全然ダメ
719 名前:デフォルトの名無しさん [2006/10/25(水) 19:49:07 ] sendkeysは左右のshiftとctrl(各々個別に)が使い分けられない事を知った。 Sendinputやらkeyeventやらのモノがあるらしいが、どこ見ても難しい;; ぶっちゃけ↓だけメモ帳にいれて.vbsにすると、実行されるじゃない? msgBOX "aaaaa" ま、ここまで簡単でなくとも、も少し簡単な例はないですか?
720 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:02:16 ] ようやくHTAの引数の読み込み方が分かった…
721 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:03:21 ] シマタ誤爆。
722 名前:デフォルトの名無しさん mailto:e_e [2006/10/26(木) 23:46:40 ] ( ´_ゝ`)フーン
723 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:44:40 ] >>720 ちなみに、WSHと同じく、Arguments で取得できたりするの?
724 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 22:42:40 ] >>723 資料読めばわかるけど、HTA の設定をするための <HTA:APPLICATION /> タグってのがある。 これに id 属性を設定すると、設定した id を使って スクリプト中からこのタグを表したオブジェクトにアクセスできるようになる。 <HTA:APPLICATION id="app" applicationname="MyApplication" /> こうすると、例えば JS では app.applicationName で "MyApplication" が参照できる。 んで、このオブジェクトの commandLine プロパティに起動時のコマンドライン文字列が入ってる。 調べた限りでは、引数が取得できるのはこのプロパティを通してのみで、 自動的に Arguments のように配列にわけてくれたりはしない。
725 名前:723 mailto:sage [2006/10/29(日) 00:15:11 ] >>724 丁寧にありがとう。
726 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 00:20:36 ] 誤爆っていってんだから紛争地域にいってやれよ pc8.2ch.net/test/read.cgi/tech/1124559962/
727 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 13:09:19 ] いや向こうのスレからネタ拾ってきたんでしょ。 それに紛争している訳でもないし。
728 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:18:45 ] 外部からVBスクリプトで書かれた関数を呼び出すにはどうしたらよいでしょうか? 例として、 cscript hoge.vbs foo (hoge.vbsのモジュール的な箇所は実行しつつもfoo関数を呼び出す)
729 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:25:45 ] モジュール的な箇所にfoo関数を呼び出すコードを書く
730 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:27:11 ] .vbs でなく .wsf にVBSを書くようにして cscript hoge.wsf //job:foo のようにする。
731 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:46:50 ] コマンドラインの第1引数に少し文字列付け足して、Evalに渡す。
732 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:49:01 ] >>729 ,730 貴重な情報ありがとうございます。 どちらの方法もよさそうなのでとりあえず両方作ってみようと思います。 ありがとうございました。
733 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:50:37 ] >>731 引数を渡して内部で関数を呼び出すカンジですよね。 勉強も兼ねているので色々試してみたいと思います。 ありがとうございました。
734 名前:デフォルトの名無しさん [2006/11/02(木) 01:37:53 ] >>733 完成したら、さらしてね
735 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 21:48:05 ] >>728 VBscriptハッカーズマニュアルの続編の本に、 Executeメソッド内に、他のvbsプログラム(←関数の集まりを入れておく) を実行するコードを書いておくっていう裏技を紹介してた。 これで、vbsから、別のvbs内の関数を使える。 でも、呼び出されるvbsコード内に、不要なコードが入ってると、それも実行されてしまうみたいなので、 >>730 のように、wsfとか、htaから呼び出すのが、基本みたい。
736 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 21:55:39 ] WshShortcut オブジェクトのRelativePathってどう使うんでしょう? 設定は出来ても、参照はできず、実行もできないみたい。
737 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 18:42:49 ] >>736 ちゃんと実装されてないのでは
738 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 18:52:42 ] バッチファイルにJScriptを埋め込む例(※参照)。 バッチファイルの拡張子は .cmd で。 @if (0)==(0) echo off setlocal set me=%0 cscript.exe //nologo //e:jscript %me:.cmd=%.cmd %* goto :eof @end // ここからJScript var args = WScript.Arguments; for (var i = 0; i < args.length; i++) WScript.Echo(i, args(i)); ※↓ pc8.2ch.net/test/read.cgi/tech/1123842575/100 pc8.2ch.net/test/read.cgi/tech/1148485555/72
739 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 19:23:08 ] そんな枯れた情報をいきなり書かれてもねぇw
740 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:09:03 ] しかも、情報が劣化してる。変なことせずとも、 CScript.exe //NoLogo /E:JScript "%~f0" でよい。
741 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:14:11 ] あれ、//Eでなくても通るのね。訂正。 CScript.exe //NoLogo //E:JScript "%~f0"
742 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:30:18 ] では、こんなのも。バッチでクリップボードを処理する例。 @ECHO OFF FOR /F "delims=" %%0 IN ('MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') DO ECHO %%0 でも、これ、WSHじゃないな。
743 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:45:40 ] FileSystemObject ObjectのGetStandardStreamって日本語版の Windows Script V5.6 ドキュメント(Script56.CHM)には載ってないよね
744 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:47:57 ] MSDNライブラリ参照
745 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:57:22 ] MSDN見ても日本語では載ってないから英語版のscript56.chmでいいや
746 名前:デフォルトの名無しさん [2006/11/07(火) 02:01:01 ] wscript実行時に窓に表示される バージョン情報と、〜All rights reserved の文字を 表示させないようにすることはできますか? ご教示ください。
747 名前:746 mailto:sage [2006/11/07(火) 02:20:21 ] すいません。解決しました。 //nologo ですね。
748 名前:デフォルトの名無しさん [2006/11/13(月) 02:26:09 ] WScript.ShellのRegWriteメソッドで、バイナリ値で「00 00 00 00」を書き込む方法を教えてください。 .regに書き出して結合するとかreg.exeやWMIを使うとかではなくRegWriteでの方法です。 WinXP/WSH5.6
749 名前:デフォルトの名無しさん [2006/11/13(月) 09:10:43 ] >>748 var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.RegWrite ("HKCU\\Software\\company\\application\\bin_value", 0, "REG_BINARY");
750 名前:748 [2006/11/13(月) 17:49:22 ] >>749 回答ありがとうございます。しかし、それだと「00 00」になるんです。 そして第二引数をCByte(0)にすると、「00」になります。 この板の方なら、同じ0でも、「00 00」と「00 00 00 00」の意味が違うことは 解ってると思いますが、望む結果は「00 00 00 00」なんです。 WMIだとArray(0,0,0,0)を書き込むことで「00 00 00 00」になるんですが これと同じ結果をRegWriteで行いたいと言うことです。 引き続きよろしくお願い合います。
751 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 19:20:09 ] >>750 やってみれば簡単に理解できると思いますがJScriptなら 4バイトになるぞ。 しかし、CByte()を知ってるのにCLng()を思いつかないとは・・・
752 名前:デフォルトの名無しさん [2006/11/13(月) 21:38:12 ] イメージ名で指定して、そのプロセスが動いているかどうか判定したいのですが、 wshでできるでしょうか。 できるならその方法を教えていただきたいです。
753 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 21:50:21 ] WMI 使えば出来るな。 Win32_Process
754 名前:752 mailto:sage [2006/11/13(月) 22:38:52 ] ありがとうございます
755 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 14:23:49 ] etc3.2ch.net/test/read.cgi/charaneta2/1133239288/
756 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 20:55:41 ] Windows PowerShell Version 1.0 www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx www.microsoft.com/windowsserver2003/technologies/management/powersh ell/default.mspx
757 名前:デフォルトの名無しさん [2006/11/18(土) 00:22:30 ] VBscriptもしくはVB6.0でバイナリデータのファイル操作ってできますか?
758 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:25:41 ] っOpen
759 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 00:20:45 ] IEを起こして取れますが、遅いので、 Set Document=CreateObject("htmlfile") Document.write "<input type=text id=xxx>" Document.all.xxx.value="ほげほげ" MsgBox Document.all.xxx.scrollWidth で、文字列の表示幅を取ろうとしたのですが、0しか返って来ません。 "htmlfile"は、ウィンドウを持たないので、〜Widthなどは取れないってことでしょうか?
760 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 00:49:40 ] >>759 <INPUT>エレメントの持つプロパティで、 それっぽいのは offsetWidth かな? scrollWidthやめて、offsetWidth にしたらどう?
761 名前:デフォルトの名無しさん [2006/11/19(日) 18:13:52 ] VBscriptで A=150 Dim B(A) Dim C(A) Dim D(A) というふうに配列宣言時、添え字の数字に変数を使いたいのですが、エラーになります。 解決方法を教えて下さい。
762 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 18:33:39 ] Dim A A = 150 ReDim B(A) ReDim C(A) ReDim D(A)
763 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 20:52:54 ] >>762 俺もそう思ったw
764 名前:761 [2006/11/19(日) 21:53:39 ] >>762 そうやってもエラーになります
765 名前:761 mailto:sage [2006/11/19(日) 21:56:40 ] すいません勘違いでした。無事できました。
766 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 22:30:28 ] StrCnvさえ使えたら
767 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 22:49:45 ] うちではVBSで使ってるよ。>>VBランタイム内のStrCnv
768 名前:デフォルトの名無しさん [2006/11/21(火) 23:24:09 ] >>767 kwsk
769 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 00:32:32 ] >>766 >StrCnvさえ使えたら なにがしたいの?なくても困ること特にないけど。
770 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 11:45:18 ] そんなこと言ったらWSH自体使わなくても(r
771 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:48:49 ] >>767 VBで、VBの内部オブジェクトを公開するCOMを作ったことあるけど、 MSはそういう使い方保証してないし、開発ライセンスのないひとに そのCOMを提供するのはどうかなというのと、 どうしても必要ということがなくてやめた。 >>766 VB持ってたら作ってみたら。 EXCELなど持ってたらVBAでも同様のことできるのでは。
772 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 19:05:25 ] 直接使えばいいのに
773 名前:デフォルトの名無しさん [2006/11/29(水) 15:52:47 ] 子供の為にPCの起動を監視する(起動したら掲示板に「起動しました」と書き込む)スクリプトを書いているのですが、 レジストリのローカルマシーン(都合があって)の方にスタートアップを登録したのですが、うまく起動しないことがあります。 通常の起動なら大丈夫なのですが、スタートアップだと1/5ぐらいの確立でしか起動してくれないです・・・ xmlhttpを使ってます。
774 名前:デフォルトの名無しさん [2006/11/29(水) 16:21:55 ] >>773 コード貼り付けてよ
775 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 17:02:41 ] >>773 ネットワークがUPしてないんだろ。1分くらいしてから処理開始しなよ。 あとそれたとえ相手が自分の子供でも犯罪行為だから。 こんな人間がいるとは、リアルで気分悪くなった。
776 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 17:20:18 ] >>773 イベントビューアでログ見れば済む事を なぜわざわざ掲示板に書かせるんだね?
777 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:11:20 ] ヒント: 自分の子供じゃない
778 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:52:30 ] ヒント: 子供云々は口実で、本当はストーカー行為目的。
779 名前:デフォルトの名無しさん [2006/11/29(水) 22:25:06 ] 一応WScript.sleep で120000ミリ秒待機するようにしてます 犯罪行為になるならば、HD上にログに残す方法でやるしかないんでしょうね 確かにキーロガーとか仕込めばストーカーですね
780 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:28:53 ] だからイベントビューア
781 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 18:36:23 ] きっとお兄さんたちに人気がありそうな容貌をした小学生のお子さんなんだろう だとしたらそこまでして監視したいという気持ちもわかる がやっぱ気分悪いな
782 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 21:08:54 ] ここにいるのはお子様ばかりか? 俺はすべてのファイルを監査対象にして、何をいつ触ったかまで細かくフルロギング! もちろん監査ログは5分おきに携帯へ逐一転送。 万一の場合にはリモートから即座にシャットダウン可能です。 まあ、愛する我が子を危険なインターネットから守るにはこのぐらいして当然ですよね。
783 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 21:12:38 ] >>782 まだまだヒヨっ子だなw
784 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 21:44:29 ] 楽しい釣り場でつね
785 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 22:06:11 ] うん。 でも釣る側の俺は楽しいが、 釣られる奴等は悔しがってるんだろうなw
786 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 04:02:33 ] 統合アーカイバのKBAってちゃんと動く? Path = "C:\\DATA\\PROG\\WSH\\KBA\\test.zip" Set UnZip = CreateObject("KBA.UNZIP") Result = UnZip.FileCount(Path) WScript.Echo Result Result = "" & UnZip.OpenArc(Path) WScript.Echo Result こういうのをやると、FileCount()は動くのに、OpenArc()は動かない。 OpenArc()が動かないとファイル情報系のメソッドが全く使えない。
787 名前:786 mailto:sage [2006/12/07(木) 02:09:01 ] ProgIDが"KBA.UNZIP"だからUNZIP32.DLLだけあればいいかと思ったけど違った・・・orz
788 名前:デフォルトの名無しさん [2006/12/15(金) 17:09:58 ] Windows板で質問して、WSHなら出来そうって事でやってきました。 やりたい事は、 ショートカットなどをダブルクリックするごとに、 1)タスクバーを自動的に隠す設定にする。 2)1を解除。 というものです。 WSH無しでもいけそうならお教えいただけるとありがたいです。 ググってみたのですが、WSH関係のサイトにタスクバーについて の処理というのが見つけられず、困っている次第です。 よろしくおながいします。
789 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 17:43:51 ] SHAppBarMessage 使うアプリを書いてそれを呼び出す
790 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 18:01:16 ] メニューでやってることを、SendKeysでやらせる。 or レジストリの変更箇所を見つけて、RegWriteで書き換える。+ 即反映の何か。
791 名前:こんな時間まで何やってんだろ俺.wsf mailto:sage [2006/12/16(土) 04:10:35 ] <job> <script language="JScript"> function deRLE(src){ return src.replace(/\s/g,"").replace(/(.)\.(.)/g,function($0,$1,$2){ return Array(parseInt($2,35)+(($2<"A")?56:($2<"a")?-6:20)).join($1);});} </script> <script language="VBScript"> Set fso=CreateObject("Scripting.FileSystemObject") path=fso.BuildPath(fso.GetSpecialFolder(2),"SwHide.exe") Set elm=CreateObject("Microsoft.XMLDOM").createElement("data") elm.DataType="bin.base64":elm.text=deRLE(getResource("bin")) With CreateObject("ADODB.Stream") .Open:.Type=1:.Write elm.NodeTypedValue:.SaveToFile path:.Close End With CreateObject("WScript.Shell").Run path,1,True WScript.Sleep 1000:fso.DeleteFile path </script> <resource id="bin"> TVqQAAMA.BEA.B//8AALgA.GQA.syA.C4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm 5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJA.HvsN/Fa9GxlmvRsZZr0bGWqN7slm7RsZZr0 bCWadGxlkwXw5Zp0bGWTBfJlmrRsZZSaWNoa9GxlgA.RBQRQAATAEDADWwgkUA.HOAAAwELA QgAAAIA.BEA.GBA.CQA.BIA.CBA.BQA.CgAABA.HEA.HBA.CBA.GIAAAQAABAAABA.DEAAAE A.FBA.MBAgAAA8A.9A.tIAAAEA.hC50ZXh0A.BRQA.CQA.CgA.BQA.PCAAAGAucmRhdGEAAJ YA.CIA.CIA.BGA.PBAAABALmRhdGEA.BEA.CDA.bQAAAwA.9A.9A.9A.9A.9A.9A.9A.9A.9 A.dIPsJFaLNQggQACNRCQEUGoEx0QkDCQAAADHRCQQA.CP/WD7bIg/H/jVQkBIPhAVKDyQJq ColMJCz/1moA/xUAIEAAXgA.9A.9A.9A.9A.9A.9A.9A.9A.9A.LXCA.FB4IA.FEwgA.KGog A.BIAAAVCA.LiiA.BggA.aFwgA.FeCA.FC5AEV4aXRQcm9jZXNzAEtFUk5FTDMyLmRsbAAAd gBTSEFwcEJhck1lc3NhZ2UAU0hFTEwzMi5kbGwA.9A.9A.9A.9A.9A.9A.9A.h= </resource> </job>
792 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 04:26:22 ] >>791 のバイナリ部分も一応書いとくね #include <windows.h> #include <shellapi.h> void WINAPI WinMainCRTStartup() { APPBARDATA abData; abData.cbSize = sizeof(APPBARDATA); abData.hWnd = NULL; if (SHAppBarMessage(ABM_GETSTATE, &abData) & ABS_AUTOHIDE) { abData.lParam = ABS_ALWAYSONTOP; } else { abData.lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP; } SHAppBarMessage(ABM_SETSTATE, &abData); ExitProcess(0); }
793 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 04:39:04 ] マジで何やってるんだかw
794 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 10:27:55 ] 何これ?
795 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 11:30:57 ] おもしろいけど 実行ファイル生成するんだったら 次回からそれ実行した方がはやいよなww
796 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 14:04:03 ] >>791 せめて.NETかPowerShellにならん?
797 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 14:11:46 ] >>791 5行目訂正 parseInt($2,35) → parseInt($2,36) それと>>792 のコード自体がXPじゃないと動作しないみたいですね。 データがほとんど0(A)だったんで適当にRLE圧縮してみたんだけど もっとかっこいい圧縮スクリプトって無いかな?かな?
798 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 14:14:15 ] >>796 なぜ、このスレで聞くww
799 名前:デフォルトの名無しさん [2006/12/16(土) 14:20:25 ] WSCで定数を公開する方法を教えてください。 現在は読み取り専用のプロパティで固定数を返してますが FileSystemObjectのForReadingやADODB.StreamのadTypeBinaryのように インスタンスのメンバとしてではなく、そのまま書けば使えるようにしたいのです。
800 名前:799 [2006/12/16(土) 14:20:47 ] ▼public要素(公開メンバ) <public> <method name="hoge"> <parameter name="arg"/> </method> <property name="foo"> <get/> </property> <property name="bar"> 以下略 ▼WSCスクリプト Public Sub hoge(arg) End Sub Public Function get_foo get_foo = 1 End Function Public Function get_bar get_foo = 2 End Function 以下略 ▼呼び出し側スクリプト Call obj.hoge(obj.foo) 現在こんな感じですが、呼び出し側で Call obj.hoge(foo) で同じ効果が出せるようにしたいのです。 もちろん呼び出し側で定数宣言しろとかは無しで。 FileSystemObjectやADODB.Streamも宣言無しで定数を使えるので、 それと同じようにしたいのです。
801 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 15:59:58 ] WSC側で、JScriptで、 function xconst(Me){ Me['xxx']=111; Me['yyy']=222; } 呼び出し側で、VBScriptで、 wsc.xconst Me とすれば、xxxやyyyが使えるようになる。 JScriptなら、wsc.xconst(this);
802 名前:799 [2006/12/16(土) 16:21:03 ] >>801 回答ありがとうございます。しかし、そういう事ではなくて、先にも書いたように FileSystemObjectやADODB.Streamなんかの定数と同じように使いたいんです。例えば <job> <reference object="Scripting.FileSystemObject"/> <script language="VBScript"> WScript.Echo CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.ScriptFullName, ForReading).ReadAll </script> </job> という感じでForReadingが使えるように、呼び出し側のスクリプトで何かするのではなく reference要素の設定だけで定数を使えるようにしたいのです。 reference要素の設定をしなければFileSystemObjectやADODB.Streamの定数も宣言無しには使えないので、 「FileSystemObjectやADODB.Streamと同じように」というのは「reference要素の設定だけで」という意味で使ってます。 引き続きよろしくお願いします。
803 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 16:32:35 ] >>802 >引き続きよろしくお願いします。 やっぱりな。そう来ると思ったよ。 スレ違い。MSに言え。
804 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 16:40:56 ] wscじゃむりなんじゃね? つーかFileSystemObjectのForReadingってただの整数で定数じゃないんじゃ? adTypeBinaryは定数ったってCOMの実装でenumなんでしょ
805 名前:799 [2006/12/16(土) 16:51:36 ] >>803 お手数お掛けしました。 今後は他の方の回答を待ちますので私のことは無視してください。 >>804 リファレンスには定数と書いてあったので、定数だと思い込んでました。 どちらにしてもForReadingと同じ使い方が出来れば良いだけなのですが。 「無理なのでは?」という意見をいただけるのもありがたいのですが、 失礼ながら他の方が知ってる可能性もあるので、もうしばらく待ちます。
806 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 16:52:28 ] 可読性にこだわるなら数値のかわりに文字列を使えばいいじゃない。
807 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:04:50 ] >>799 無視できるように、コテハン使ってください。 例えば、 「引き続きよろしくお願いします。」 「木に縁(よ)りて魚を求む」
808 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:12:34 ] 徳川埋蔵金を信じている人に何を言っても無駄ですよ。>みなさん
809 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:13:11 ] ハンドルじゃないけど名前欄に799って入れてるんだからこのスレ指定で799という名前を消せばいいじゃん スレ単位での無視条件設定できない糞専ブラ使ってるとかならそれはそういうソフト選んだ自分の責任だ というか嫌味なコテ押しつけたいだけか?
810 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:23:39 ] 過疎スレで熱くなるなよ
811 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:29:20 ] いいえ、今後は、でなく、最初から無視したいから、スレッドを超えたコテハンにして。 と言ってるのですよ。参考、検索「引き続きよろしくお願いします。 」 だって、どんな答えもそれは私の求めているものとは違う、というだけなんですよ。 最初から、条件を明示すればよいのに。 「代替方法の提案や出来ないという回答は不要」というふうに。
812 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:40:27 ] この子、どうしたんだろう?
813 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 18:49:51 ] >>811 あなたを無視したいから「スレッドを超えたコテハン」とやらにして。 って煽って欲しいんじゃない?
814 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 18:53:59 ] >>811 あなたを無視したいから「スレッドを超えたコテハン」とやらにして。
815 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 20:21:09 ] >>811 あなたを無視したいから「スレッドを超えたコテハン」とやらにして。
816 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 20:30:03 ] 次のWSHのネタをどうぞ ↓
817 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 20:39:12 ] WSHで811みたいな根暗で陰気な奴を消す方法を教えてください
818 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:06:02 ] そういうCOM作って呼び出しなさい。
819 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:28:47 ] 自分では上から見下ろし、バカな質問者を叩く側だと思ってたのに 何を間違えたか皆から見下され、叩かれる立場になってしまった811(´・ω・) カワイソス
820 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:40:07 ] どこが?上から見下ろし、バカな質問者を叩く側だと見えんけど
821 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:49:31 ] 最初っから上に居るようには見えないってか
822 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:59:49 ] 見方がおかしいのかなぁ pc8.2ch.net/test/read.cgi/win/1155040873/103- と同じ流れだと言ってるんでしょ
823 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:01:21 ] なんだ811本人かw
824 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:03:18 ] もう諦めろ お前は玩具側の人間だ
825 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:07:40 ] . .: : : : : : : : :: :::: :: :: : ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: . . : : : :: : : :: : ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::::::::::::::: . . .... ..: : :: :: ::: :::::: :::::::::::: : ::::::::::::::::::::::::::::::::::::::::::::: Λ_Λ . . . .: : : ::: <こんなはずでは・・・・・ /:彡ミ゛ヽ;)ー、 . . .: : : :::::: ::::::::::::::::::::::::::::::::: / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . ::::::::::::::::::::::::::::::::::::::: / :::/;;: ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄ >>811
826 名前:ひとりぼっちのクリスマス mailto:sage [2006/12/16(土) 22:15:38 ] .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::☆:::::::+:::::::::::::: . . : : : ::::/⌒ヽ: ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::..,,::。:+::::::::::::::::::::::: . .... ..::::/ <`O:: :: ::: :::::: :::::::::::: : :::::::::::::::::::+,::o;;::・;,::::::::::::::::::::: ⊂ニニニ⊃. . .: : : ::: : :: ::::::::: ::::::::::::::::..<;;::・,,::;ゞ;;o;*::.::::::::::: /:彡ミ゛ヽ;)ー、. . .: : : :::::: ::::::::::::::::,,;;;<;+::;;;´;*::o*:,,;;ゞ;;:::::::: ./ /ヽ/ヽ、ヽ i. . .: : : :::::::: :::::::::::;;;*;;;〇;ゞ;*::;;:<;;;*;:;ゞ;;o; / / 。 ヽ ヽ l :. :. .:: : :: ::<;;;;〇;ゞ;*::o,ゞ ;*;;;;*ゞ;*:o  ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ;;;*;;;〇;ゞ;*::;;;;;*ゞ;*::o, 〇;;; * >>811 : : : : : : llllllll : : : : : : 田田田
827 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:18:04 ] おまえら便乗しすぎw
828 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:37:03 ] 811の人気に嫉妬
829 名前:デフォルトの名無しさん [2006/12/16(土) 22:41:37 ] もうWSHと関係ない話は別のところでやってくれ
830 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 23:39:12 ] Public Const get_foo=1 のほうが簡単。
831 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 01:05:03 ] wsfファイルのサイズが500KB超えると開けなくなるみたいだ。残念。
832 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 18:37:43 ] なーおまいら、>>830 って通るか? うちじゃエラーになるんだが
833 名前:マチルダ mailto:sage [2006/12/19(火) 10:37:20 ] WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。 今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。 なので、ProcessID指定で確実にSendKeysをしたいのです。 InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。 要はProcessID指定で確実にブラウザにSendKeysしたいんです。 よろしくお願いします。 Set IE = WScript.CreateObject("InternetExplorer.Application","IE_") Set sShell = WScript.CreateObject("WScript.Shell") sShell.AppActivate("ブラウザのwebページのタイトル文字列") sShell.SendKeys "ほげほげ" 参考にしたページ ttp://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html > 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。