1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:22:48 ] ( ´ゝ`) 誰か詳しい情報キボンヌ ●過去スレ WSH(・∀・)スレッド! pc11.2ch.net/test/read.cgi/tech/1055075469/ WSH(・∀・)スレッド! Part 2 pc11.2ch.net/test/read.cgi/tech/1176698934/ WSH(・∀・)スレッド! Part 3 pc12.2ch.net/test/read.cgi/tech/1208948450/ ●関連スレ お前ら、wsh使ってますか? Part7 pc12.2ch.net/test/read.cgi/win/1190548945/ HTAをもっと流行らせる計画 Part2 pc12.2ch.net/test/read.cgi/tech/1220874815/ ★WSHでCGI★JScriptVBScript pc11.2ch.net/test/read.cgi/php/1059745064/ ●公式サイト Windows Script www.microsoft.com/japan/msdn/scripting/ ●個人サイト Windows Scripting Host homepage3.nifty.com/aya_js/wsh/index.htm Windows Scripting Host Laboratory www.roy.hi-ho.ne.jp/mutaguchi/wsh/ Windows Script Wiki winscript.s41.xrea.com/wiki/index.php
186 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 12:03:39 ] レンホウ「こんなロボット作って、なんになるんです?」
187 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:04:00 ] ロボットになるんです
188 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 17:39:05 ] >cscript //e:jscript con CScript エラー: Windows Script Host の実行に失敗しました。 (この操作を完了するの に十分な記憶域がありません。 )
189 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:47:24 ] 純粋なあの頃は仕事で追い詰められて自殺なんて都市伝説だと思ってたけど 今じゃ知り合いの失踪も自殺も体験した
190 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 10:59:46 ] 正規表現が文法的に正しいかどうかを判別する方法はありませんか 括弧が足りないとか教えてくれなくていい スクリプトが異常終了しないでtrueかfalseを返してくれればいい
191 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 18:48:37 ] try catch
192 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:26:27 ] >>191 駄目だった try {var re = /asd(fgh/;} catch(e){WScript.echo("error");}
193 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:36:59 ] RegExp.compile
194 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:58:42 ] >>192 RegExp
195 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 00:05:02 ] wshで var n=/a]b/; と打ったらエラーが出ませんでした。他の括弧ならエラーが出ます。 エスケープ無しの右かぎ括弧ってなにか特別な意味はありますか? この場合は、"a]bと続く三文字"と解釈して大丈夫なんですか?
196 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 14:20:01 ] ためせば?
197 名前:デフォルトの名無しさん [2009/12/13(日) 13:23:44 ] Excel2003と2010が共存している環境で WSHを使うことで両者を使い分けようとしています。 参考 : www.drk7.jp/MT/archives/001226.html RegRead("HKEY_CLASSES_ROOT\\CLSID\\{00024500-0000-0000-C000-000000000046}\\LocalServer32\\").replace(/ \/[^ \/]+/g, '') で、Excel 最新版(最後にインストールしたもの?)のパスは得られるのですが、古い方のパスを得られません。 何か良い方法はないでしょうか?
198 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 13:24:56 ] 今は決めうちで、「C:\Program Files\Microsoft Office\*\EXCEL.EXE」の * の部分を変えて存在確認をとって処理しています。 * の部分は、 Office2010 : office14 Office2007 : office12 Office2003 : office11 Office2002 : office10 Office2000 : office9 Office97 : office8 Office95 : office であっているでしょうか? よろしくお願いします。
199 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 19:27:38 ] ttp://support.microsoft.com/kb/234788/ja
200 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:19:27 ] EXCEL.EXEを検索してFileVersionで判定すべき
201 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:00:12 ] Office2010ってもう発売されてるんだ.....
202 名前:デフォルトの名無しさん [2009/12/23(水) 14:44:53 ] さあ
203 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:06 ] office13は?
204 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:35:19 ] スレちがい
205 名前:デフォルトの名無しさん [2010/01/13(水) 18:31:33 ] お願いだから教えてください。スレ違いかも知れないけどPower Shellスレないみたいだし・・ Windows Power Shell(2.0)でIEを起動してマウスクリックをエミュレートさせようとした場合、Win32API(mouse_event)を使うと思うんですが DllImport("usr32.dll",Charset=Charset.Auto)でCharset = ←の=の後がどうとかいって、実行できません。Charsetのくだりを全削除すると今度は予期しない属性と出てしまいます。 mouse_eventにこだわりはないんですが IEを立ち上げ マウスクリックをエミュレートする 処理を教えてください。APIなら宣言部もお願い;;
206 名前:デフォルトの名無しさん [2010/01/13(水) 18:37:51 ] 205ですけど 座標とかハードコーディングで大丈夫ですので肝を簡潔にお願い;;
207 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:40:26 ] スレちがい Windows PowerShell 2.0 Part2
208 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:07:23 ] 普通はDOM使うんじゃなかろうか、いや知らんけど
209 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 02:56:55 BE:1403990069-PLT(23400)] >>207 URLも貼ってあげなよ pc12.2ch.net/test/read.cgi/win/1261106064/
210 名前:デフォルトの名無しさん [2010/02/22(月) 21:41:34 ] 次のように Folderオブジェクトの SubFolders でFolderコレクションを取得したとして、 Set c = folder.SubFolders これを For Each ではなくて以下のように For で処理したいです。 For i = 0 To c.Count : Next このループの中で、i 番目のアイテムを取得するにはどうしたらよいでしょうか? c(i) でも c.Item(i) でもダメでした。
211 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:44:18 ] c.Items(i)
212 名前:210 mailto:sage [2010/02/22(月) 21:50:27 ] それだと オブジェクトでサポートされていないプロパティまたはメソッドです。:'c.Items' です。 ちなみに、c.Item("Test") みたいに、実在するフォルダ名を与えればフォルダオブジェクトは取って来れます。 それじゃ意味無いですが。
213 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:06:18 ] c(i).Value c(i).Item()
214 名前:210 mailto:sage [2010/02/22(月) 22:17:28 ] >>213 プロシージャの呼び出し、または引数が不正です。
215 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 23:29:43 ] Shell.Application の FolderItems のほうを使ったら?
216 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 21:55:47 ] 配列に入れて使え
217 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:13:00 ] For i = 0 To c.Count j=0 For Each f In c If j=i Then Exit For j=j+1 Next MsgBox f Next
218 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:55:24 ] 番号は使えないみたいだな ItemクリックしたらDictionaryに飛んだ ttp://msdn.microsoft.com/en-us/library/9kcx47hd%28VS.85%29.aspx
219 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 21:36:27 ] test
220 名前:デフォルトの名無しさん [2010/03/05(金) 12:44:09 ] WMI使ってリモートPCのIP変更したいんだが、変更後にRPCエラー待ちが発生して自動処理が難しい。 エラー待ちを無視するとか、なんかいい方法知ってる人がいたら助けて。 On Error Resume Next strComputer = "10.1.1.1" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colNetAdapters = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") For Each objNetAdapter in colNetAdapters errEnable = objNetAdapter.EnableDHCP() Next
221 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:00:04 ] 素朴な疑問なのですが・・・ JScriptの変数の宣言(var文)って書いても書かなくても動きますが どちらが推奨されますか?
222 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 20:20:27 ] >>221 書いた場合と書かない場合は意味が違う 宣言時にはできるだけ書くべきと思う -------------- a = 10; function foo() {a = 20;} foo(); WScript.Echo(a); -------------- 結果:20 -------------- var a = 10; function foo() {var a = 20;} foo(); WScript.Echo(a); -------------- 結果:10
223 名前:221 mailto:sage [2010/03/14(日) 04:11:27 ] >>222 なるほど。そう言う違いがあるのですか・・・ ありがとうございました
224 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 12:34:38 ] varといえば var a = 10; var a; で、aがundefinedになると思い込んでいて はまりかけたことがあった。
225 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 23:24:20 ] バッチファイルからWSHを呼び出す際、 バッチからサブルーチン呼出すみたいにパラメータ渡すことは可能ですか・
226 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 23:52:43 ] >>225 可能 渡されたパラメタはWScript.Argumentsで参照できる
227 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 00:13:23 ] 有難う御座います!
228 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 10:28:58 ] WSHの何か良いリファレンスブックみたいなのってありますか? 言語は何の奴でもまぁ使えると思うんで何でも良いんですが
229 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 11:49:47 ] Scripting Guide 2000
230 名前:228 mailto:sage [2010/04/10(土) 01:11:59 ] すいません、日本語の書籍でお願いしますorz
231 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:32:23 ] >>230 初心者なら scd56jp.exe 内の script56.chm だけで良くねぇ?
232 名前:228 mailto:sage [2010/04/10(土) 02:27:18 ] >>231 おお、これは凄い便利ですね。 ありがとうございます、凄い役にたちそうなんで嬉しいんですが オフラインで使える本も、それはそれで欲しいです。 書籍の持ち込みは可能だけどデータの持ち込みは厳しい場所に持ち込みたいので。
233 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:33:33 ] 公式のヘルプを知らなかったって…
234 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:37:25 ] VWD2005でVBSのコード補完してくれるらしいから インストールしたけどVBSは全く補完してくれないよ。 かんか設定必要?
235 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 04:06:49 ] CoInitialize は呼び出されていません。 こういう場合はどうすれば?
236 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 18:46:06 ] CoInitialize を呼び出せば?
237 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 21:04:56 ] ちょっと教えてください。 Wshからバッチファイルを呼び出す事は可能ですか?
238 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:01:02 ] ちょっと教えてください。 WshからCoInitializeを呼び出す事は可能ですか?
239 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:53:38 ] COMを挟めば可能
240 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:59:32 ] COMが呼べるってことは既にCoInitializeされてることを意味するので無意味
241 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:39:11 ] 意味しないよ
242 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 18:16:08 ] explorerのnavigation paneのshow/hideはshowbrowsebarでできないのか?
243 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 21:52:27 ] セキュリティ対策だから無理だろ
244 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 18:03:17 ] Windowsスクリプティング環境比較:PowerShell vs WSH www.atmarkit.co.jp/fwin2k/operation/pshvswsh/pshvswsh_01.html >Windows XPがリリースされ、先日Windows Vistaがリリースされるまで何年も経過したにもかかわらず、 >WSHのバージョンはVer.5.6からVer.5.7へとマイナー・バージョンアップにとどまっている。 >実はWSHは今後メジャー・バージョンアップされない運命にあるのだ。 バージョンアップされないってホント?
245 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 22:30:32 ] うそ
246 名前:デフォルトの名無しさん [2010/05/28(金) 22:47:28 ] >>244 なんか困るの? つか、他の手段への以降してるんじゃないの?
247 名前:デフォルトの名無しさん [2010/05/28(金) 22:50:33 ] 移行だね。
248 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 16:07:55 ] バージョンアップしなくてもよいからインラインスクリプトをサポートしてほしいな
249 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 21:25:33 ] exec("cmd",0) も
250 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 11:44:46 ] 質問です。 例えば、sample01.exeという単一ファイルに対して、コンテキストメニューでavast!の"検査(S) sample01.exe"を実行することは FolderItems→FolderItem→InvokeVerbでできます。 一方、ファイルが複数選択された状態では、コンテキストメニューは、"選択した領域のウィルス検査(S)"となり、 これを実行すると選択された全てのファイルに対してまとめて処理が行われます。 この例のようにファイルを複数選択した状態で、"選択した領域のウィルス検査(S)"をWSHで実行するにはどうすればよいですか?
251 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 15:20:04 ] set items=folder.items items.filter SHCONTF_NONFOLDERS,"*.exe" items.invokeverbex "選択した領域のウィルス検査(S)"
252 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 15:22:56 ] ashQuick.exeを呼べばいいんじゃないの
253 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 16:29:09 ] >>251-252 ありがとうございます。 252のサンプル、大変参考になりました。
254 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 16:31:01 ] >>253 失礼。まちがえました。 × 252のサンプル、大変参考になりました。 ○ 251のサンプル、大変参考になりました。
255 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 19:09:05 ] JavaScriptを使ったWSHでIEを操作してハイパーリンクをクリックさせるってどうやってる?
256 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 20:36:09 ] >>255 自己解決した と思ったら次の問題が発生した <form action="..." method="post" > <input type="text" name="text"> <input type="submit" name="exec" value="test"> のフォームをVBSで操作したいんだが objIE.Document.Forms(0).test.value = test objIE.Document.Forms(0).exec.click だとエラーになる objIE.Document.Forms(0).test.value = test objIE.Document.Forms(0).exec.click objIE.Document.Forms(0).Action="./_msg_post" objIE.Document.Forms(0).Method="POST" objIE.Document.Forms(0).Submit でも同じようにエラーになるんだけどなぜ?
257 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 21:36:56 ] >>256 エラーの質問の時は環境とエラー詳細を書け まさか ×test ○text なんてことはないよね
258 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:54:32 ] >>257 Windows7 エラーは詳細不明 エラー番号が8004005
259 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:11:02 ] >>258 80004005だよ・・・orz
260 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:43:57 ] Dim K As Long For K = 0 To 5 MsgBox "今" & K & "周目" Next K これ 7で動かないんだけど7以外で動く人いる?
261 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:52:13 ] >>260 それは vba の書き方じゃないの? vbscript なら以下 Dim K For K = 0 To 5 MsgBox "今" & K & "周目" Next
262 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:23:24 ] >>260 いない
263 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 18:25:10 ] JavaScriptのWSHにVBScriptで取得した文字列を渡す方法ってある?
264 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 19:29:43 ] つwsf
265 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 20:06:17 ] sss="xxx" createobject("wscript.shell").run "aaa.js " & sss
266 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 20:11:05 ] runするならプロセス環境変数で渡してもOKだな
267 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 22:20:36 ] ちょっと難しい質問 WSHで起動したExcelのInputBoxに入力された数値を別のWSHに渡すことはできる? WSH1.vbsでExcelのInputBoxを起動して数値を入力 その数値を WSH2.vbsに渡す
268 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:27:10 ] >>267 普通にできる 逆に「どーやったらできない」のか聞きたいくらいだ
269 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:59:10 ] >>268 どうやればいいんだ…orz
270 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:24:25 ] sss=inputbox() createobject("wscript.shell").run "wsh2.vbs " & sss
271 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:36:54 ] wsh2.vbsにも指定したsssにはwsh1で入力した数値が入ってるんだね? 参考になった!本当にありがとう!
272 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:45:02 ] sssに入ってるというより、sssに渡したい値を引数として入れて 別のスクリプトを起動するっつうことだろ。 その結果、受けるほうはWScript.Argumentsで引数として受け取る。 またはWScript.CreateObject("WScript.Shell").Environment("Process")で渡して、受け取る。 テキストファイルを使っても渡せることは渡せる。
273 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:48:40 ] 「〜できる?」 ↓ 「どうやればいいんだ…orz」 ↓ ←今ココ 「全部ソース書いて」
274 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:52:37 ] JScriptは永遠に不滅です!
275 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 11:46:42 ] >>272 Processに入力されたデータを入れるには?
276 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:27:41 ] それはとっても難しい質問だね
277 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:41:12 ] どうやればいいんだ…orz
278 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 16:20:56 ] >>275 > ○○に入力された××を入れるには? 「誤字」と言うよりは「理解不足」だと思う って言うか、もう少し「人間としてのレベル」を上げて来い 以下に示す程度のガキは相手にされないことが多い ・どこまで分かるのか書かない ←「オレが分かるように答えろ」というレベル ・「どうやればいいんだ…orz」を多用 ←「助けてママ〜」というレベル ・スレ内を検索できない ・ググれない ・scd56jp.exeをDLしてマニュアルを読むことができない
279 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 22:46:06 ] >>278 >scd56jp.exeのマニュアル見てやっとわかった ありがとう
280 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:09:02 ] >>279 そうか。具体的にどう解決できた?サンプルを書いてみて。
281 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 12:51:16 ] >>280 WSH = WScript.CreateObject("WScript.Shell").Environment("Process")a = Inputbox WSH = Item("A") = a
282 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 13:30:20 ] >>281 ごめん携帯からあわてて書いたからおかしくなったわ 1.vbs WSH = WScript.CreateObject("WScript.Shell") env = WSH.Environment("Process") A = InputBox() env.Item("a") = A 2.vbs WSH = WScript.CreateObject("WScript.Shell") env = WSH.Environment("Process") A = + env.Item("a") WScript.echo(A)
283 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:13:16 ] WSHのコードやよく使う関数をdllにできたらすごく便利だね うふ
284 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:17:06 ] classでまとめておくのはやってる。
285 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:25:54 ] >>282 vbsだからset 使わんと駄目なんだろう。あとWSHもオブジェクトだからたぶん駄目だろ。あとはrun付け足せばいいはず。 WScript.CreateObject("WScript.Shell").Run "wscript.exe " & WScript.CreateObject("ファイルシステムなんちゃら").GetParentなんちゃら(WSH.ScriptFullName) & "\2.vbs" vbs全然つかってねえやw
286 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:39:49 ] >>285 だってこれJScript用だし