1 名前:名無し~3.EXE [2006/08/08(火) 21:41:13 ID:hqaA5ks/] こんなことコンピュータにやらせろよ。そう思ったことはありませんか? 簡易的な実行環境も含めて普通のOSだったら当たり前に備わっている自動実行。 Windowsの標準に備わっているそれがWSH(Windows Script Host)です。 また、ここではWSHだけに限らずWMI、ADSIなどのネタもOKです。 ・煽りや荒らしは無視の方針で。基本的にsage進行です。 ・ここでヒントを得て完成したスクリプトは、出来れば皆さんにお披露目してください。 同じことで悩んでいる人のためになります。 ・質問する際は、OS及び使用するコンポーネントのバージョンもお忘れなく。 ●過去スレ #1 pc.2ch.net/test/read.cgi/win/1009175619/ #2 pc2.2ch.net/test/read.cgi/win/1022248379/ #3 pc8.2ch.net/test/read.cgi/win/1058829737/ #4 pc8.2ch.net/test/read.cgi/win/1100489339/ #5 pc8.2ch.net/test/read.cgi/win/1126543183/ その他 >>1-10 あたり
2 名前:名無し~3.EXE [2006/08/08(火) 21:42:04 ID:hqaA5ks/] ●便利なリンク Windows Script www.microsoft.com/japan/msdn/scripting/default.asp MSDN Library (オンラインドキュメント) msdn.microsoft.com/library/ja/ Windows Script 5.6 ドキュメント ダウンロード (exe 形式; 1.67 MB) download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe OLE/COM Object Viewer ダウンロード (exe 形式; 656 KB) download.microsoft.com/download/win2000platform/oleview/1.00.0.1/NT5/EN-US/oleview_setup.exe Sesame Script (スクリプト作成初心者向けコラム) www.microsoft.com/japan/technet/scriptcenter/resources/begin/default.mspx Hey, Scripting Guy! (スクリプトのQ&A・ハウトゥ集) www.microsoft.com/japan/technet/scriptcenter/resources/qanda/default.mspx Windows管理者のためのWindows Script Host入門 (@IT内記事) www.atmarkit.co.jp/fwin2k/operation/wsh01/wsh01_01.html Windows XP に含まれるコマンドラインツールの紹介 (@IT内記事) www.atmarkit.co.jp/fwin2k/xp_feature/013commandtool/commandtool.html ADSI (Active Directory Service Interfaces) の特集記事全文 web.archive.org/web/20050309045811/http://www.galliver.co.jp/writing/nikkei_tokushu/wad002/index.html ●個人サイト Windows Script Wiki ttp://winscript.s41.xrea.com/wiki/index.php 趣味のJavaScriptなページ ttp://homepage3.nifty.com/aya_js/ Windows Scripting Host Laboratory ttp://www.roy.hi-ho.ne.jp/mutaguchi/wsh/ Tips - (小技にも満たない)微ワザ集 ttp://www1.u-netsurf.ne.jp/~tomo_c/tips/Scr002.html
3 名前:名無し~3.EXE [2006/08/08(火) 21:42:58 ID:hqaA5ks/] ●コンポーネント関連リンク ○Microsoft 製外部コンポーネント DCOM (98/Me) www.microsoft.com/japan/com/dcom/dcom98/dcom13.asp (95) www.microsoft.com/japan/com/dcom/dcom95/dcom13.asp MDAC - データベース・メールボックス・WebDAV・バイナリの操作 msdn.microsoft.com/data/ref/mdac/downloads/ WMI(95/98/NT4.0) - 統一されたコンピュータオブジェクト化モデルを提供するスクリプティングAPI、リモート管理 www.microsoft.com/downloads/release.asp?releaseid=23142 ADSI - Active Dictoryの機能を操作 www.microsoft.com/downloads/release.asp?releaseid=11093 MSXML - XMLパーサ、SAX・DOM API、XSLT変換、POST/HTTPダウンロード www.microsoft.com/downloads/details.aspx?familyid=993c0bcf-3bcf-4009-be21-27e85e1857b1 ○サードパーティ製外部コンポーネント BASP21 - メール、ファイルエンコード、文字コード変換、FTP/HTTPアップ、その他 www.hi-ho.ne.jp/babaq/basp21.html Doodle2 - グラフィック変換、操作、描画 www.vector.co.jp/soft/winnt/prog/se219120.html DynaCall - Win32APIコール people.freenet.de/gborn/WSHBazaar/WSHDynaCall.htm AutoItX - マウス・キーボード・クリップボード操作 www.hiddensoft.com/AutoIt/
4 名前:名無し~3.EXE [2006/08/08(火) 21:43:41 ID:hqaA5ks/] ●WSH(COM)参考書籍 「はじめてのWindows Scripting Host」 (株)アンク著 技術評論社 www.amazon.co.jp/gp/product/477410650X/ 「[改訂版] VBScriptポケットリファレンス」 www.amazon.co.jp/gp/product/4774127930/ 「使いながら覚えるWindows Scripting Hostプログラミング入門」 竹田英雄著 エーアイ出版 www.amazon.co.jp/gp/product/4871936678/ 「Windows Scripting Host入門 with VBScript」 毎日コミュニケーションズ www.amazon.co.jp/gp/product/4839900906/ 「WSHで楽しむWindows95/98/NT4.0版 ウィンドウズ・スクリプティング入門 VBScript編」 メディアテック出版 www.amazon.co.jp/gp/product/4896270207/ 「WSHクイックリファレンス」 羽山博著 オライリー・ジャパン www.amazon.co.jp/gp/product/4873110068/ 「Rubyを256倍使う本 邪道編」 arton著 ASCII www.amazon.co.jp/gp/product/4756136036/ 「ADSIスクリプトによるWindows2000システム管理 Windows2000管理者ガイドブック」ピアソン・エデュケーション トーマス・エック 著 www.amazon.co.jp/gp/product/4894712881/ (どちらかというとVBによる操作本?) 「標準ASPテクニカルリファレンス」山田祥寛著 SOFTBANK www.amazon.co.jp/gp/product/4797314001/
5 名前:名無し~3.EXE [2006/08/08(火) 21:44:21 ID:hqaA5ks/] ●JavaScript、VBScript 以外のWSHで使える言語 TCLScript tclscript.sourceforge.net/ Perl www.activestate.com/Products/Download/Download.plex?id=ActivePerl Ruby www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/ Python www.python.jp/Zope/download PHP www.php.net/downloads.php REXX www.borg.com/~jglatt/rexx/win32/rxusrw32.htm
6 名前:名無し~3.EXE mailto:sage [2006/08/08(火) 21:47:19 ID:hqaA5ks/] テンプレ終わり。なかったので立てました。 リンク切れ修正したり、簡潔にしたり、書籍をAmazonでまとめたり、色々追加したりしてみました。 まずかったらごめんなさい。
7 名前:名無し~3.EXE mailto:sage [2006/08/08(火) 22:44:29 ID:m2nJYuN9] やっと立ったか >>1 乙
8 名前:名無し~3.EXE mailto:sage [2006/08/09(水) 02:18:52 ID:HZLszs1m] おつりんこ
9 名前:名無し~3.EXE mailto:sage [2006/08/09(水) 21:29:00 ID:3ZEp9c5C] 元ネタttp://www.apple.com/jp/macosx/features/applescript/
10 名前:名無し~3.EXE mailto:sage [2006/08/10(木) 01:20:51 ID:dgC59hri] そろそろ、大学入試に採用して欲しいものだ。
11 名前:11 mailto:sage [2006/08/10(木) 02:20:10 ID:/7XeLnYy] こっそり。 連載って大変です・・・
12 名前:名無し~3.EXE mailto:sage [2006/08/10(木) 11:10:30 ID:QZ8c+eSn] >>11 ただの11に興味はありません。
13 名前:名無し~3.EXE [2006/08/13(日) 11:50:50 ID:41wVJTOD] 「VBScrip逆引き大全 500の極意」 井川はるき著 秀和システム ttp://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-1379-X
14 名前:名無し~3.EXE mailto:sage [2006/08/13(日) 20:54:27 ID:8j+UDFyv] ファイルをD&Dすれば、その配下に「2006年08月」の年月フォルダを作って 振り分けてくれるスクリプトはどこかにないですか?
15 名前:名無し~3.EXE mailto:sage [2006/08/13(日) 21:14:49 ID:mVE7+F6R] 見当たらないものを作るのがこのスレ。とにかく書いてみろよ。
16 名前:名無し~3.EXE mailto:sage [2006/08/13(日) 22:15:18 ID:Th0qG/nU] 簡単っぽいね 現在の年・月取得 →「y年m月」というフォルダがないなら作る →引数のファイルをそのフォルダにコピーor移動 >>14 がんばれ
17 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 17:13:21 ID:5toxITo3] 本当にスクリプトで画面の解像度を変更できませんか
18 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 20:34:44 ID:5SvS0Mip] >>17 WScript.exe自体の機能では出来ない。 そういう機能のあるCOMを探すか作るかすれば出来る。 WMIのWin32_DisplayConfigurationあたりでも出来るかもしれないが 面倒なので自分で調べて。 というか、コマンドラインから解像度変更するツールは確かあったから そいつをWshShellのRunで呼ぶのが一番手っ取り早いかも。
19 名前:名無し~3.EXE [2006/08/18(金) 02:23:11 ID:huYxnQWS] IE7をCOMで扱うときの資料ってどこかにありますか? メソッド一覧とか。 自作のIE自動運転ツールで、CreateObject("InternetExplorer.Application")ってやって新規IEをいくつも立ち上げてるんですが、 IE7のタブ機能で、同じIEの新規タブを使うように変更したいんです。
20 名前:名無し~3.EXE mailto:sage [2006/08/18(金) 03:20:19 ID:huYxnQWS] あと、CreateObject("InternetExplorer.Application") みたいな感覚で、 FireFoxって扱えないのでしょうか? どっかに資料があったら教えてください。
21 名前:名無し~3.EXE mailto:sage [2006/08/18(金) 05:52:24 ID:X3GM4s/3] 前まで使っていたHTAがある日突然文字化けして使えなくなってしまいました。 拡張子をHTMLにすると文字化けも解消し、動作します なんとか元通りHTAのまま動作するようにしたいのですが、なにが原因なんでしょうか ちなみに他のHTAは文字化けしませんでした
22 名前:名無し~3.EXE mailto:sage [2006/08/18(金) 06:09:17 ID:Y6b9lzs3] >>21 <meta http-equiv="Content-Type" content="text/html; charset=****" /> を入れてみたら?****はshift_jis, EUC-JP, UTF-8など HTAスレがありますよ HTAをもっと流行らせる計画 pc8.2ch.net/test/read.cgi/tech/1124559962/l50
23 名前:名無し~3.EXE mailto:sage [2006/08/18(金) 10:26:16 ID:cwDh88nh] >>19 msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reflist_cpp.asp IE7は使ったことないから分からないけど タブで開くには Navigate2で第2引数のフラグ(BrowserNavConstants)に navOpenBackgroundTab = 0x1000を立てればいいんじゃないかな
24 名前:名無し~3.EXE mailto:sage [2006/08/18(金) 10:27:46 ID:cwDh88nh] ああ間違えた navOpenInNewTab = 0x0800 でもいいね msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/enums/browsernavconstants.asp
25 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 21:40:24 ID:Ax5AbTvR] 789 名無し~3.EXE [sage] 2006/08/19(土) 13:35:26 ID:IAl43imz MS06-023で指摘された脆弱性対応版ですかね? バージョンは 5.6.0.8831 Windows 98、Windows Millennium Edition (Windows Me)、および Windows NT 4.0 用の Windows Script 5.6 ※OS本体はサポート終了、しかも何故か→【要認証】 www.microsoft.com/downloads/details.aspx?FamilyID=0a8a18f6-249c-4a72-bfcf-fc6af26dc390&DisplayLang=ja download.microsoft.com/download/3/a/0/3a09aa38-a01d-437d-aff0-517d1d47746e/Windows9x-Script56-KB917344-x86-jpn.exe Windows 2003 用の Windows Script 5.6 【要認証】 www.microsoft.com/downloads/details.aspx?FamilyID=887fce82-e3f5-4289-a5e3-6cbb818623aa&DisplayLang=ja download.microsoft.com/download/5/8/2/582f8ad3-c9c2-40db-a7cd-e30bdf8c6e70/WindowsServer2003-Script56-KB917344-x86-jpn.exe 簡単な説明 このダウンロードは、Visual Basic Script Edition (VBScript) Version 5.6、JScript Version 5.6、Windows Script Components、 Windows Script Host 5.6、および Windows Script Runtime Version 5.6 からなる Microsoft Windows Script をインストールします。 pc8.2ch.net/test/read.cgi/win/1133803512/789
26 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 08:36:17 ID:7AZj00I6] バッチファイルの結果って、wsh からコピーできないんでしょうか。 Alt + Space を SendKeys してもメニューが出ないので、困ってます。 かなりぐぐったけど、結局できなかったって話しかないし。 -- 8< Login-FTP.bat 8< -- @echo off TITLE FTP-Tool ftp hoge echo "FTP 終わったら [OK] をクリックしてください" -- 8< FTPcopy.wsf 8< -- set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "cmd.exe /k Login-FTP.bat", 1, false MsgBox "[OK] をクリックしてください" Do Until objShell.AppActivate("FTP-Tool") WScript.Sleep 100 Loop objShell.SendKeys "%({ }ES)%({ }EY)" WScript.Sleep 100 Set objExec = objShell.Exec("notepad.exe") Do Until objShell.AppActivate(objExec.ProcessID) WScript.Sleep 100 Loop objShell.SendKeys "%(EP)" WScript.Sleep 100 objShell.SendKeys "%(FA)" WScript.Sleep 500 objShell.SendKeys "FTP.log"
27 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 09:21:16 ID:NGHbsPUz] >>26 Run じゃなくて Exec を使う。 WshShell.Exec の返り値として WshScriptExec のオブジェクトが返ってくるから その StdOut を読めばいいよ。
28 名前:26 mailto:sage [2006/08/26(土) 11:18:57 ID:7AZj00I6] >>27 サンクス! 全然考えてなかったやりかたでした。 試しました・・・ら、かんじんの FTP 処理がコマンドプロンプト上で 入力できないんですね・・・。 WSH から標準入力としてコマンドを送りつければよいのでしょうが、 FTP を自由に使いたいのでそういうわけにも行かず・・・。 うーむ・・・。 標準入力だけは WSH を経由しないようにできないものか・・・。
29 名前:26 mailto:sage [2006/08/26(土) 11:31:17 ID:7AZj00I6] あ、標準入力っていうか、普通にコマンドプロンプト上で操作できて、 その後で Exec の結果を取得できなくちゃいけないのか。 ・・・できそうにないな・・・。
30 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 12:03:52 ID:X5Z8XRwb] 出来ることをできそうにないとか言って諦めきれるならやらなきゃいいさ。 諦めきれないなら調べるなり試行錯誤するなりすればいいさ。 それが出来ないと本当に困るという状況で必死になってるなら自分で解決まで 這い蹲ってでも辿り着くだろうし、解決できないなら出来なくてもたいして困らないから 必死になりきれてないだけ。本人が別に解決しなくてもいいや程度に考えてるなら 俺等が手を掛けることでもないし、これ以上教えることは何も無さそうだな。
31 名前:26 mailto:sage [2006/08/26(土) 12:23:05 ID:7AZj00I6] いや、まだやってますけど・・・。
32 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 22:54:38 ID:caN/FdXT] HTAって、背景透過できない?
33 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 23:22:22 ID:NGHbsPUz] このスレ的な回答なら COM を作ればできる かな。
34 名前:名無し~3.EXE mailto:sage [2006/08/27(日) 18:11:11 ID:iJpflacd] 難しいそうでつね。
35 名前:19 mailto:sage [2006/08/27(日) 23:34:30 ID:7+PWpyeP] >>23-24 情報感謝です。そんなIE7を反映した資料があるの、全然知らなかった。 複数サイトに対して自動巡回をするため、これまでは CreateObject("InternetExplorer.Application") でIEをいくつも立ち上げてたんですが、 ・IEインスタンスが存在しない→ ・CreateObject("InternetExplorer.Application") ・それに対してNavigate2 URL (これまでどおりの処理) ・IEインスタンスが存在する→ ・インスタンス取得 ・それに対してNavigate2 URL, navOpenInNewTab ・新規タブで作った新インスタンスを取得、それに対して巡回操作 こう改造することで、1つの窓の複数タブにまとめることができました。 縮小表示で複数の巡回を一覧できて快適です。 ただし、IE7beta3がめちゃめちゃ落ちやすい罠。実用にはちょっと厳しいです。 いっぺん落ちるとDOM関係の内部構造がぐちゃぐちゃになるらしく、 IE7を再起動してもDHTML要素が取得できなくなります。 タスクスケジューラでexplorer.exeを全部殺して立ち上げなおすと、なぜか治る。 あと、普通に使ってても、Formで日本語入力できなくなったりすることがやたら多い。 9月のIE7正式版登場までには、もうちょい使い物になるようになってくれないと…。
36 名前:26 mailto:sage [2006/08/29(火) 01:28:54 ID:o0XsAnyT] Alt + Space を SendInput する .exe を作って wsh から呼び出すことにして解決しましたです。
37 名前:名無し~3.EXE mailto:sage [2006/09/03(日) 02:10:24 ID:9m7JaXWT] フォルダAにあるファイル全てと(サブフォルダ内のファイルを含む) フォルダBにあるファイル全てを(サブフォルダ内のファイルを含む)比較して 同じファイル名のものがあれば、フォルダAのファイルをフォルダBのファイルに 上書きしたいのですが、どのような繰り返し処理を行えばいいのかわかりません。 初歩的な質問で申し訳ないのですが、どなたか参考になるご意見を聞かせて下さい。
38 名前:名無し~3.EXE mailto:sage [2006/09/03(日) 02:23:00 ID:M/8yjKeF] まずFileSystemObjectを使ってフォルダAにあるファイル全てを列挙して 配列(または連想配列)に入れておく。 あとはフォルダBのファイルを1つずつ調べていき、配列に同じ名前があれば フォルダAのファイルを上書きコピーすればいいんじゃない? 列挙→GetFolder + Files 辺り 上書きコピー→CopyFile もしくは GetFile + Copy 辺り
39 名前:37 mailto:sage [2006/09/03(日) 23:36:27 ID:9m7JaXWT] >>38 レスありがとうございます。 参考書片手に四苦八苦していたところに ヒントを頂けて大変助かります。 早速試してみますね。
40 名前:名無し~3.EXE mailto:sage [2006/09/04(月) 00:42:41 ID:4RNTB77S] 念のため言っとくと、GetFolder + Filesの列挙処理は、再帰的にな。 下層フォルダもぜんぶ処理対象にするためには。 もしわかんなきゃ「再帰」をキーワードに入れてぐぐること。
41 名前:名無し~3.EXE mailto:sage [2006/09/04(月) 16:42:27 ID:QYJv5P/p] JScriptからフォルダ共有の解除を行いたいと考えているのですが、外部からアクセスされている場合、 「この操作を続行しますか? (Y/N) [N]:」ってプロンプトが表示されてうまく動きません。 調べた感じでは標準入力(StdIn)に"Y"って送ってあげれば良い気がするのですが、うまく動いてくれません。 私が作ったjsファイルの内容は... var WShell = WScript.CreateObject("WScript.Shell"); var objNet = WShell.Exec("net share Share /DELETE"); while (!objNet.StdOut.AtEndOfStream) { var strLine=objNet.StdOut.ReadLine(); var nPos=strLine.indexOf("この操作を続行しますか?"); if (nPos>=0) { objNet.StdIn.WriteLine("Y"); } } ちなみに誰も使用していない場合はちゃんと共有が解除されます。 対象はWindows2000 Serverです。 どうすればうまく動くようになりますか? 教えてエライ人!
42 名前:名無し~3.EXE mailto:sage [2006/09/06(水) 02:31:02 ID:6VRM8O2+] WShell.Exec("cmd /c echo y | net share airplane /DELETE"); あーあ、なんだよこの旧世代プログラマがやりそうな力技は こんなことを考えついて試してしまう自分が嫌だ
43 名前:名無し~3.EXE mailto:sage [2006/09/06(水) 03:14:37 ID:W4o+AU9u] >>42 なるほどw パイプ便利だな
44 名前:名無し~3.EXE mailto:sage [2006/09/06(水) 03:46:18 ID:mG/64ktE] むしろ当然の解決策だと思った
45 名前:名無し~3.EXE mailto:sage [2006/09/06(水) 08:24:38 ID:Z523kT6K] stdinを読んでるわけでないようだから>>42 もうまくいかない
46 名前:41 [2006/09/06(水) 11:01:06 ID:B7U19HoE] >>42 ,43,44,45 レスありがとうございます。 wktkしながら試しましたが私の環境ではダメでした... (´・ω・`) なんでだろうな...
47 名前:名無し~3.EXE mailto:sage [2006/09/07(木) 00:01:08 ID:Sux4zrox] >>46 var prc = GetObject("winmgmts:{impersonationLevel=impersonate}") .ExecQuery("SELECT * FROM Win32_Share"); for ( var e = new Enumerator(prc); !e.atEnd(); e.moveNext() ) { var sd = e.item(); if ( sd.Caption == "Share" ) sd.Delete(); }
48 名前:47 mailto:sage [2006/09/07(木) 00:02:48 ID:7NNz2Yc3] しまった。プロセス操作のヤツからコピペしたから変数名が変だ。
49 名前:名無し~3.EXE mailto:sage [2006/09/07(木) 10:45:44 ID:EZRTppgw] >>47 同様のスクリプトを作ってやったことあるけれど 誰かが共有フォルダにアクセスしていると共有解除されないような
50 名前:41 [2006/09/07(木) 11:25:34 ID:kklWKgcq] >>47 レスありがとうございます。 試したところ無事動作しているみたいです! もしやあなたはネ申でつか。 ...WMIは色々使えそうですね (. .)〆 >>49 簡単にやってみたところ大丈夫そうです。 もう少し色んなケースを試して見たいと思います。 PS. レスくれた方々ありがとうございます。
51 名前:名無し~3.EXE [2006/09/12(火) 17:21:16 ID:6aj+7wdR] 指定したフォルダのmp3ファイルをランダムで実行したい。 Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "C:\MP3\*.mp3",3,true これじゃエラー出るんだけど何故?この場合ってワイルドカード使えない?
52 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 17:22:50 ID:8qFdY5Hd] _, ,_ パーン ( ‘д‘) ⊂彡☆))Д´)
53 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 17:47:46 ID:A3UEU+1f] *はランダムではない。 任意の文字列という意味。 Runの引数にワイルドカードなんて認められてない……はず。 ランダムで実行したかったら すべてのファイルパスを配列にぶちこむ ↓ Rndとかでファイル数以下のランダムな整数作る ↓ それをインデックスにしてファイル実行する
54 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 19:29:56 ID:5GCyJ/an] var WSHShell = WScript.CreateObject("WScript.Shell"); var Fso = new ActiveXObject("Scripting.FileSystemObject"); // .mp3ファイル名をmp3[]配列に格納 var folder = Fso.GetFolder("C:\\MP3"); var mp3 = []; for (var e = new Enumerator(folder.Files); ! e.atEnd(); e.moveNext()) { var f = e.item(); if (/\.mp3$/i.test(f)) mp3.push(f); } var i; do { // ランダムに並べ替え for (i = 0; i < files.length; i++) { var r = Math.floor(files.length * Math.random()); var t = mp3[i]; mp3[i] = mp3[r]; mp3[r] = t; } // プレイ for (i = 0; i < files.length; i++) WSHShell.Run(mp3[i], 3, true); } while (true); // trueで無限ループ
55 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 19:41:04 ID:jll2Gkhp] WSHで、既に作成されているExcelファイルを開き、そこにある イメージコントロールに画像を表示させるにはどうしたら良いの でしょうか? Option Explicit Dim objExcel Dim objExcelBook Dim objExcelSheet Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objExcelBook = objExcel.Workbooks.Open("D:\Book1.xls") Set objExcelSheet = objExcelBook.Worksheets(1) objExcelSheet.cells(1,1).value = "aaa" objExcelSheet.Image1.Picture = LoadPicture("D:\test.jpg") objExcel.Quit Set objExcelSheet = Nothins Set objExcelBook = Nothing Set objExcel = Nothing を実行すると、A1に"aaa"が入る所までは良いのですが、LoadPictureの 行で「致命的なエラーです」が出てしまいます。 おそらく、Image1の指定方法に問題があるかと思うのですが、具体的な 指定方法または、それについて記載されているURLなどを教えて頂けない でしょうか?
56 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 20:01:14 ID:5GCyJ/an] >>54 は × files.length ○ mp3.length です
57 名前:51 mailto:sage [2006/09/12(火) 23:16:11 ID:rMXBUJr8] >>53 >>54 サンクス。動作は確認できたが、出来ればWSHで書いて欲しかった。javascriptはウヴォア
58 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 23:30:42 ID:5MYDPybn] WSH は VBScript だけのもんじゃないよ?
59 名前:名無し~3.EXE mailto:sage [2006/09/12(火) 23:36:25 ID:muCQp/dj] JavaScriptもPerlもRubyもPythonも。
60 名前:名無し~3.EXE mailto:sage [2006/09/13(水) 00:08:35 ID:ry6CWKuK] あーそうなのかー 無知ですまぬ
61 名前:名無し~3.EXE mailto:sage [2006/09/13(水) 10:17:38 ID:74VYdgSO] >>55 > おそらく、Image1の指定方法に問題があるかと思うのですが、 問題ないよ。試しにその前で MsgBox TypeName(objExcelSheet.Image1) ってやってみな。これで「Image」が返るなら、正しくImageオブジェクトを参照出来てる。 問題があると言えば、objExcel.Quitの前にobjExcelBook.Closeが必要なのと Set objExcelSheet = Nothingの、Nothingのスペルが間違ってることくらいだが エラーが出ている部分は問題なし。おそらく間違ってるのではなく、仕様として出来ないんだろうね。 Picture = LoadPictureをブックのVBAモジュールに書いて、VBSからそのプロシージャを読んでみれば? 画像のパスはVBS側で指定することも可能だし。
62 名前:55 mailto:sage [2006/09/13(水) 11:01:41 ID:P4go6OWL] >>61 御回答ありがとうございます。 > MsgBox TypeName(objExcelSheet.Image1) > ってやってみな。 こうすれば、オブジェクトの確認が出来るんですね。 やってみた所、「Image」と表示され、参照方法には問題が無かった様です。 > 問題があると言えば、objExcel.Quitの前にobjExcelBook.Closeが必要なのと > Set objExcelSheet = Nothingの、Nothingのスペルが間違ってることくらいだが そこに行く前に、エラーで止まっていたので気付きませんでした。 > おそらく間違ってるのではなく、仕様として出来ないんだろうね。 御指摘の方法等を含め、別の方法を検討してみます。
63 名前:55 mailto:sage [2006/09/13(水) 20:42:40 ID:8lTHFtaw] >>61 御指摘の通り、Excel側にVBAを仕込み、VBS側から実行したら画像の表示が出来ました。 やった事は、 1. Module1の下に、下記の様なマクロを仕込む。 Sub Macro1() Worksheets("Sheet1").Image1.Picture = LoadPicture("D:\test.jpg") End Sub 2. VBS側のLoadPictureの行を下記の様に変更 objExcel.Run ("Book1.xls!Module1.Macro1") です。 Macroの実行方法が分からなかったのですが、 suiten.wig.nu/index.php?itemid=289 が参考になりました。 今回は、ありがとうございました。
64 名前:名無し~3.EXE [2006/09/14(木) 23:27:15 ID:XRemmWNN] VBScriptから別のVBScriptを呼び出すことはできますか? あとユーザライブラリの関数を呼び出す的なことをしたいのですができますか? 一度作った関数をコピペするのが面倒で。 よろしくお願いします。
65 名前:名無し~3.EXE mailto:sage [2006/09/14(木) 23:36:11 ID:6COp2u2i] ファイル読み込んで Eval 後者は意味が良く分からんが ユーザライブラリって何?
66 名前:名無し~3.EXE mailto:sage [2006/09/14(木) 23:40:30 ID:8WXwarb4] 外部のスクリプトを読み込みたいんでしょ wshなら素直に.wsfファイル作って、 <package> <job> <script language="VBScript" src="外部スクリプト1.vbs" /> <script language="VBScript" src="外部スクリプト2.vbs" /> <script language="VBScript" src="メイン.vbs" /> </job> </package>
67 名前:名無し~3.EXE mailto:sage [2006/09/15(金) 00:22:29 ID:MxvWsxE+] あとついでに、ライブラリはクラス化すると吉。 VBScriptのクラス機能って存在感なさすぎて忘れがちだけどね。
68 名前:名無し~3.EXE [2006/09/15(金) 00:49:05 ID:6z+vLxyz] >>65 ,66,67 ありがとです。外部スクリプトの呼び出しは最初 Set obj = WScript.CreateObject("WScript.Shell") Set obj2 = obj.Run("RunNotepad.vbs") ってやってWin32オブジェクトじゃないって怒られたんですが、2行目を obj.Run "RunNotepad.vbs" で出来ました。いろんなやり方があるようですね。 ライブラリはクラス化して中にメソッド書けばいいのですかね? いや、皆さん作られた関数をどうやって再利用されているのかと思いまして。
69 名前:名無し~3.EXE mailto:sage [2006/09/15(金) 00:50:34 ID:1e9FhoNf] コピペさ
70 名前:名無し~3.EXE mailto:sage [2006/09/15(金) 00:54:36 ID:3qVVhzeE] wsh で使うようなのは書き捨てが基本だな、私は。 String とか Date とか Number とかの prototype にいくつかメソッドは突っ込んでるけど(JScript)。
71 名前:名無し~3.EXE mailto:sage [2006/09/15(金) 01:49:36 ID:hZMJWHVe] wshしこしこ書くのとドトネトでアプリ作るのと 作業量が大して変わらないことに最近気付いた
72 名前:print.vbs [2006/09/17(日) 03:36:23 ID:pIeGPZjs] ファイルをまとめて印刷するツールです。 'Print files Option Explicit Dim Fs Set Fs = WScript.CreateObject("Scripting.FileSystemObject") Dim ws Set ws = CreateObject("WScript.Shell") Dim argv,file,name,ret Set argv = WScript.Arguments Dim tpad,i,code If argv.Count > 0 Then For Each file In argv If Fs.FileExists(file) Then name = Fs.GetFileName(file) Set tpad = ws.Exec("C:\Free\TPad\TeraPad.exe """ & file & """") WScript.Sleep 100 i=0 Do ret = ws.AppActivate(tpad.ProcessID) WScript.Sleep 100
73 名前:print.vbs [2006/09/17(日) 03:38:27 ID:pIeGPZjs] i=i+1 If i>100 Then MsgBox "Activate 失敗 print前" WScript.Quit End If Loop While ret = False ws.SendKeys "^pp" WScript.Sleep 5000 i=0 Do ret = ws.AppActivate(tpad.ProcessID) WScript.Sleep 100 i=i+1 if i>100 Then MsgBox "Activate 失敗 print後" WScript.Quit End If Loop While ret = False tpad.terminate set tpad = Nothing Else MsgBox file & "というファイルは存在しません。" End If Next Else MsgBox "ファイルをD&Dしてください" End If
74 名前:print.vbs [2006/09/17(日) 03:56:30 ID:pIeGPZjs] ソースが無駄に長くてすみません。そういう書き方がしみ付いているもので 前スレまであったソースアップ板は、無くなったのでしょうか? 使い方は、印刷したいファイルをドラッグ&ドロップするつもりで作ったのですが、 過去スレを読みなおして見るとSendToで使うほうが便利そうです。 中でteraPadを呼び出しています。(作った当時使っていたエディタだったので) sendkeysで操作しているだけなのでそういう操作ができるほかのエディタ用にも書きかえれると思います。 一応私の環境(Win98)では、3,4ページのファイル4,5個は、まとめて印刷できました あまり大きなファイルを印刷するには、むいていないと思います。 まだあまり、wshにはなれてなくて、マニュアルを見ながら作りました。 sleepの値などもいいかげんで、その辺も含めて添削していただいたらありがたいです。
75 名前:名無し~3.EXE mailto:sage [2006/09/17(日) 10:41:23 ID:GAjliUIS] プリントアウトはFileSystemObjectを使って出来たはず、と思って ttp://www.microsoft.com/japan/msdn/columns/server/server033099.aspx を参考に こんなん書いてみたけど、エラーは出ないのにプリントアウトできない。なんで? \\MyPC\BJF9000 はUSBポートに接続したプリンタで、共有してます。 var fso = new ActiveXObject("Scripting.FileSystemObject"); var objWSHNet = new ActiveXObject("WScript.Network"); objWSHNet.AddPrinterConnection("LPT2:", "\\\\MyPC\\BJF9000"); var printer = fso.CreateTextFile("LPT2:", true); try { printer.Write("printout test");} catch(e) {;} printer.Close(); objWSHNet.RemovePrinterConnection("LPT2:");
76 名前:print.vbs [2006/09/17(日) 14:54:53 ID:pIeGPZjs] >>75 AddPrinterConnection リモートの MS-DOS ベースのプリンタ接続をコンピュータ システムに追加します。 ちょっと前、メーカーに 「プリンタ(CANON PIXUS 550i)をMS-DOSで使えるようにできるかどうか」たずねたところ、 「MS-DOSで使えるようにはできない」という回答でした。 多分私の環境では、このスクリプトは使えないと思います。
77 名前:名無し~3.EXE mailto:sage [2006/09/17(日) 15:50:48 ID:8OXBNlvH] WshScriptExec オブジェクトについて質問させてください。 var sh = new ActiveXObject("WScript.Shell"); var exe = sh.Exec("cmd.exe /c dir"); while (exe.Status == 0) { WScript.Sleep(100); } WScript.Echo("完了"); if (!exe.StdOut.AtEndOfStream) { WScript.Echo("出力結果\n" + exe.StdOut.ReadAll()); } 上記のスクリプトで "cmd.exe /c dir" を実行して結果を取得しようとしています。 しかしファイル数の多いフォルダではいつまで待っても (exe.Status == 1) になりません。 どうやら StdOut の容量制限があり、Read されるまで実行が止まってしまうようです。 (exe.Status == 1) を待たずに StdOut.ReadAll() をすればすぐに終了するのですが StdOut.ReadAll() は、EOFまで(プログラム終了まで)帰ってきませんので 実行待ちの間に Terminate() したりすることができなくなってしまいます。 StdOut.Read() も入力があるまで待つので使えません。 良い解決策はないでしょうか?
78 名前:名無し~3.EXE mailto:sage [2006/09/17(日) 16:36:09 ID:RpCl687c] >>77 こういうふう(↓)にはしたくないってことかな var sh = new ActiveXObject("WScript.Shell"); var exe = sh.Exec("cmd.exe /c dir"); var dir = []; while (! exe.StdOut.AtEndOfStream) { dir.push(exe.StdOut.ReadLine()); } WScript.Echo("完了"); WScript.Echo("出力結果\n" + dir.join("\n")); それなら、こういうのは? var sh = new ActiveXObject("WScript.Shell"); var dirfile = "dir.txt"; var exe = sh.Exec("cmd.exe /c dir > " + dirfile); while (exe.Status == 0) { WScript.Sleep(100); } WScript.Echo("完了"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile(dirfile); WScript.Echo("出力結果\n" + f.ReadAll()); f.Close();
79 名前:目民 ◆xQYoLwVGxQ mailto:sage [2006/09/17(日) 16:41:19 ID:oMWuro07] まぁ、>>78 と同じだけど。 var sh = new ActiveXObject("WScript.Shell"); var exe = sh.Exec("cmd.exe /c dir"); var str = ""; while (!exe.StdOut.AtEndOfStream){ str += exe.StdOut.ReadLine() + "\n"; } WScript.Echo("完了"); WScript.Echo("出力結果\n" + str ); ファイルの多いフォルダで実行してみると、最後の一行に異常に時間がかかるね。 実用的側面からは、単にファイルにリダイレクトするのが早いと思う。
80 名前:77 mailto:sage [2006/09/17(日) 17:30:31 ID:8OXBNlvH] >>78-79 様ありがとうございます。 最終的には hta でつかおうと思ってるんですが StdOut.ReadLine(), Read(),ReadAll() を使うと出力待ちの間、どうしても画面がフリーズしちゃうんです。 出力がない時は StdOut.AtEndOfStream が true になってくれればいいのですが・・・ あんまりファイルに書き出したくないのですが、やっぱそうするしかないでしょうか。
81 名前:目民 ◆xQYoLwVGxQ mailto:sage [2006/09/17(日) 17:52:05 ID:oMWuro07] >>80 while (!exe.StdOut.AtEndOfStream){ str += exe.StdOut.ReadLine() + "\n"; // ココで必要な処理 } じゃ、ダメなの?
82 名前:77 mailto:sage [2006/09/17(日) 18:24:19 ID:8OXBNlvH] >>81 そこで Sleep() や setTimuout() しちゃうと 時間がかかりすぎるし どっちにしても ReadLine() のところで止まっちゃうので・・・ あ、すいません。実際には dir だけじゃなくて時間のかかるコマンドも使いたいと思ってます。
83 名前:名無し~3.EXE mailto:sage [2006/09/17(日) 18:30:11 ID:DkiP0mWC] >>77 ttp://www.vector.co.jp/soft/winnt/util/se373943.html ttp://www.vector.co.jp/soft/winnt/util/se363385.html
84 名前:目民 ◆xQYoLwVGxQ mailto:sage [2006/09/17(日) 18:32:31 ID:oMWuro07] >>82 なるほど〜。 やっぱり、ファイルに書き出すのがいいと思うよ。
85 名前:77 mailto:sage [2006/09/17(日) 20:06:55 ID:8OXBNlvH] ファイル使うことにします。わがまま言ってすみません。 しかし >>83 すごいですね。 これだけ苦労されてるということはやっぱ簡単な方法はないということですね。
86 名前:名無し~3.EXE mailto:sage [2006/09/18(月) 16:03:23 ID:0Yyqe12A] >>77 HTAなら、これも。 ttp://www.vector.co.jp/soft/winnt/util/se405418.html
87 名前:dir_+w.vbs [2006/09/18(月) 21:14:02 ID:TkVYNr1Z] フォルダを再帰的に検索して中のファイルを書きこみ可能にする ' chmod +w ** Set fso = WScript.CreateObject("Scripting.FileSystemObject") Sub FileRW(filespec) Set f = fso.GetFile(filespec) ReadOnly=1 If f.attributes and ReadOnly Then f.attributes = f.attributes - ReadOnly End If End Sub Sub FolderRW(filespec) Set subf = fso.GetFolder(filespec) For Each FileName In subf.Files FileRW(FileName) Next For Each FolderName In subf.Subfolders FolderRW(FolderName) Next End Sub
88 名前:dir_+w.vbs [2006/09/18(月) 21:14:40 ID:TkVYNr1Z] Set argv = WScript.Arguments If argv.Count <= 0 Then Wscript.Echo "ファイルをD&Dしてください" WScript.Quit End If For Each file In argv If fso.FolderExists(file) Then FolderRW(file) ElseIf fso.FileExists(file) Then FileRW(file) Else Wscript.Echo file & "というファイル・フォルダは存在しません。" End If Next Wscript.Echo "書きこみ可 終わり"
89 名前:dir_+w.vbs [2006/09/18(月) 21:21:50 ID:TkVYNr1Z] こんなのwshで書かなくても標準のやり方があるのでしょうか? いろいろなところのサンプルプログラムをつぎはぎして作ったので自信がないです。 特にBASICでの再帰呼び出しが。 間違いや他のやり方があったら指摘してください。 一応自分で動作チェックした限りは正常に動いているみたいです。
90 名前:名無し~3.EXE mailto:sage [2006/09/18(月) 21:35:28 ID:IGnQYkUN] attrib /s -r *.*
91 名前:名無し~3.EXE mailto:sage [2006/09/18(月) 21:35:41 ID:1rgAgV0s] attrib -r %1 /s /d
92 名前:89 [2006/09/18(月) 22:13:54 ID:TkVYNr1Z] >>90 >>91 試してみたのですが、うまくいきません。 win98ではできないんじゃないでしょうか
93 名前:名無し~3.EXE mailto:sage [2006/09/18(月) 23:23:17 ID:j9Uaecc1] cygwinでchmod -R +w でできないかな?
94 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 03:10:53 ID:+HpwiHbO] >>92 できる。コマンドプロンプト開いて attrib /? してみ。
95 名前:名無し~3.EXE [2006/09/19(火) 03:26:44 ID:X9V4Hq4y] >>93 UnxUtils の chmod でできました。 cygwin は、昔入れて日本語化するだけで一週間ぐらいかかっていたような気がするので とりあえずパス >>92 は、今から試します
96 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 03:30:30 ID:PvS6FX5U] システムついてると一緒に指定しないと外せなかったりとか 変な規制がついてるよね。あととりぶ
97 名前:名無し~3.EXE [2006/09/19(火) 03:39:25 ID:X9V4Hq4y] >>94 attrib /? を行うとフォルダも受け付けるようなニュアンスなんですが、 実際に試してみるとファイルは受け取るけど、フォルダはだめみたいなんですが?
98 名前:77 mailto:sage [2006/09/19(火) 12:50:31 ID:PvS6FX5U] >>86 どうもです。 すれ違い気味(htaねた)でわるいけど、 Exec() の代わりに Run()を使ったら実行中でもhtmlがフリーズしないことがわかった。 これってJavaScriptでマルチスレッドみたいな動作だけど、普通に使ってても大丈夫なのかな?
99 名前:名無し~3.EXE mailto:sage [2006/09/20(水) 14:48:55 ID:NLxtOcqj] 98の頃のバッチファイルを見つけた。 ffind . -attr dh | xargs attrib -h ATTRIBでディレクトリを操作するときは1個ずつでないと駄目なようだ。 ffindもxargsも外部ツールなので、OS標準コマンドだけでは一括は無理だったのかも。
100 名前:名無し~3.EXE mailto:sage [2006/09/24(日) 22:24:37 ID:zXp/H8j6] ネット株取引でEトレを使っていますが wsh で自作した便利なツールがあれば、ただで暗号化しないでクレ。
101 名前:名無し~3.EXE mailto:sage [2006/09/25(月) 02:23:37 ID:VGXX8PLt] 見積もりは無料ですよ?
102 名前:名無し~3.EXE mailto:sage [2006/09/26(火) 20:51:06 ID:OGK5SGUc] 作ってもらうほどではないので退散します。
103 名前:名無し~3.EXE [2006/09/28(木) 13:45:46 ID:P5EUWFW0] Windows Script File( .wsf )についての質問です。OSはWinXP SP1。 wsfは <script language="VBScript" src="パス"/> と定義すると、src属性値で指定したパスのファイルを参照できますが、 特定のディレクトリに置いたvbsを、別のディレクトリに置いたwsfから ファイル名のみで参照する方法を教えてください。 相対パスが使えるので、同一ディレクトリに置けば、ファイル名のみで参照可能ですが 別ディレクトリの場合は、もちろんそのままではファイル名のみでの参照は出来ません。 パスを通せば出来るかとも思ったのですが、パスを通してもダメでした。 (WshShell.Runではファイル名だけで呼べるので、パスがきちんと通っているのは間違いないのです。) 参照するvbsを置くディレクトリは固定ですが、wsfは別ドライブに置く可能性もあるし 作成後、移動する可能性もあります。wsf、vbs側では、もう出来ることは無いので、 後はOS側の設定になると思いますが、どこをどのようにすれば解決するかが解りません。 どうかご教示願います。
104 名前:名無し~3.EXE [2006/09/28(木) 16:34:28 ID:H6IHIklM] htmlと同じ要領でいいんじゃないの? test1.wsf └testfolder └test2.vbs って配置した時、 testfolder/test2.vbs or ./testfolder/test2.vbs でパスを指定したら動いたぉ
105 名前:名無し~3.EXE [2006/09/28(木) 16:37:36 ID:H6IHIklM] ごめん、ちゃんと読んでなかった wsfはいろいろ動かすのね 誰かまかせた
106 名前:目民 ◆xQYoLwVGxQ mailto:sage [2006/09/28(木) 17:31:22 ID:McUJ8oIU] >>103 "VBSDir"みたいなユーザー環境変数を作って、 (システムのプロパティ→詳細設定タブ→環境変数(XPの場合)) var WshShell = WScript.CreateObject ("WScript.Shell"); with( WshShell ){ CurrentDirectory = ExpandEnvironmentStrings("%VBSDir%"); } とか? // VBSの話なのにJScriptだけど気にしないでw
107 名前:名無し~3.EXE mailto:sage [2006/09/29(金) 15:56:35 ID:KPftmCI3] >>103 WSCを使う。
108 名前:名無し~3.EXE mailto:sage [2006/09/29(金) 16:18:18 ID:KPftmCI3] >>72 terapadには/pがないのかと思ったらあるじゃないですか。 terapad.exe /p じゃ駄目なの?
109 名前:103 [2006/10/01(日) 11:02:53 ID:WUxruDIK] >>106 残念ながらダメでした。 ご教示いただいたものを参照を書いてる行の前に入れても、 job分けしても、コードが実行される前に参照が評価されてしまうようで ファイルが見つからないというエラーが出ます。 >>107 現在いくつか使ってます。 しかしwscは>>103 の条件を満たしていません。なぜならwscは1ファイル単位の登録が必要で、 「特定のディレクトリに置いた」もの全てに対して有効になるようなものではないからです。 レジストリを使うのは全く構いませんが、「特定のvbs」ではなく「特定のディレクトリに置いたvbs」に 有効な方法をお願いします。 特定のディレクトリに置いた物を個別登録無しで使える方法があるならwscでも構いませんが。 ということで、ご回答には感謝しますが解決には至っておりませんので引き続き宜しくお願いします。
110 名前:名無し~3.EXE mailto:sage [2006/10/01(日) 11:27:13 ID:Mjb4Qp/j] ディレクトリさえ分かったならあとはファイル読み込んで Eval で評価すれば良いじゃん?
111 名前:名無し~3.EXE mailto:sage [2006/10/01(日) 12:27:11 ID:kCPKYKBO] wscの中に <script language="VBScript" src="パス"/> を並べて、 wsfからは、 wsc.メソッド名 で呼び出せ。 という意味だったけど通じなかった? getobject("script:wscのフルパス")ならレジストリは不要だけど、これはどっちでも。
112 名前:名無し~3.EXE mailto:sage [2006/10/01(日) 16:52:54 ID:kCPKYKBO] >>75 form feed \f を送るとか。
113 名前:名無し~3.EXE mailto:sage [2006/10/02(月) 04:29:12 ID:+WL/W97H] >109 ここで究極の選択。スクリプトで wsf ファイルを書いて実行。
114 名前:名無し~3.EXE mailto:sage [2006/10/02(月) 19:14:34 ID:bWQ93X+m] すいません。知ってたら教えて頂きたいんですが WScript.CreateObject(strProgID[,strPrefix]) などで作成したオブジェクトのプロパティやメソッドを調べる方法ご存知の方いますか?
115 名前:名無し~3.EXE mailto:sage [2006/10/02(月) 19:19:41 ID:9vzbPfN/] www.google.com/search?q=strProgID
116 名前:名無し~3.EXE mailto:sage [2006/10/02(月) 20:00:19 ID:kbswuek+] >>111 wscの<script>にsrc属性が使えるなんて初耳だけどできるの? 仕様的に他のファイルに実装を書けるとは思えんのだが
117 名前:名無し~3.EXE mailto:sage [2006/10/02(月) 20:21:15 ID:V60uXU1H] >>114 ttp://www.vector.co.jp/soft/win95/util/se406129.html
118 名前:114 mailto:sage [2006/10/02(月) 21:36:01 ID:bWQ93X+m] >>115 ,117 私の探し方が足りなかったみたいですね 解決しました、ありがとうございます
119 名前:名無し~3.EXE mailto:sage [2006/10/06(金) 21:09:26 ID:e+UOKJbW] DynaCallにEnumWindowsのサンプルがついてますが、 これを参考に特定文字列を含むウインドウにメッセージを送るってのを作ったのだけど、 なんかClassなのに変にグローバルになってて、どれをどう再利用できるのかよくわからんのです。 うまくカプセル化できませんか?
120 名前:名無し~3.EXE mailto:sage [2006/10/06(金) 22:28:17 ID:drRRZZ4o] 日本語でおk
121 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 17:33:06 ID:COmDsoWy] hosyu
122 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 22:13:32 ID:kOCNeboH] DOS窓から行う作業があったので、wscript.execにやらせようとしているのですが、DOS窓では数秒で完了するコマンドがexecでは動作中のまま帰ってきません。 動くコマンドと動かないコマンドがあったりするのでしょうか? ちなみに動かそうとしているのは業務用のソフトです
123 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 22:27:57 ID:3YNrV18h] そもそも WScript オブジェクトに exec メソッドなんて無かったような気がするのだが。 何を以て返ってこないと判断したのか分からんし。
124 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 22:52:54 ID:kOCNeboH] WshScriptExec の間違いでした DOSだとすぐ出力結果のファイルが出来るんですが、WshScriptExecだと黒いウィンドウが開いてそこから進まないです
125 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 00:23:27 ID:0zheqdL0] プロンプト画面に何も出力されないのは仕様。 WshScriptExec オブジェクトは StdIn / StdOut プロパティ使って入力したり出力受け取ったりする。 MSDN にサンプルコードも多分あるだろ。 進まないってのは入力待ちしてるんじゃね?
126 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 00:44:16 ID:bYSqBt4L] >>122 以下のVBSスクリプトが参考になるかも。 Option Explicit Dim ws,i Set ws = CreateObject("WScript.Shell") i = ws.Run("%COMSPEC% /C DIR C:\ > C:\sample.log" , 1, true) ws.Run "NOTEPAD C:\sample.log" , 1, true Set ws = Nothing WScript.Quit(i)
127 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 21:08:26 ID:Tn/lrPJD] 私も122さんと同様にDOSの業務用ソフトをwshで動かそうとしているのですが、 以下の部分が分からず困っています。便乗して質問させてください。 動かそうとしているDOSの業務ソフトは実行するとメニューが出力され メニューから番号を選択して、出力ファイルを得るものなのですが、 番号の選択を自動化したいと思い、「入力=」が表示されたら、 Sendkeysをしようと以下のようなvbsを作成したのですが、 Exec メソッドがプログラムの実行終了後に行われるため、 業務ソフトが終了するまで、StdOutが取得できず困っています。 Set ws = CreateObject("WScript.Shell") Set wsExec = ws.exec("業務ソフト.exe") Do Until wsExec.StdOut.AtEndOfStream If InStr(strLine,"入力=") <> Then wsExec.Sendkeys.("1") End If ・ ・ Loop メニューが出力されるDOSをwshから操作する良い方法がありましたら 教えてください。
128 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 21:21:46 ID:ZvvyBgQg] StdIn 使えばいいんじゃね? と思ったが GUI アプリか? それにしちゃ StdOut 読んでるよな。 つか strLine が書き変わってないようだが。 > Exec メソッドがプログラムの実行終了後に行われる の意味が分からん。
129 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 22:05:37 ID:Qx1lq3WL] strLine = wsExec.StdOut.ReadLine は要らないの? InStr(strLine,"入力=") > 0 じゃないの? SendKeys と ("1") の間にある . は必要なの? ごめん、VBScriptはあんまわかんないけど、これは明らかに動くわけないよね。
130 名前:127 mailto:sage [2006/10/15(日) 22:08:50 ID:Tn/lrPJD] >>128 さん 127のvbsを実行すると、DOS窓で黒いウィンドウが開いた状態で業務アプリが 入力待ちになったまま止まってしまいます。 StdOutが出来ているかを確かめるために、127のIf文を以下のように書き換えて 実行しました。 If InStr(strLine,"入力=") <> Then WScript.Echo strLine End If DOS窓で黒いウィンドウが開いた状態で業務アプリが入力待ちになり、 ずっと止まったままになります。 真っ黒で止まっているDOS窓に業務ソフトを終了させる番号の「9」を入力すると WScript.Echo strLine が実行され、 メッセージボックスに「入力=」が表示されました。 某HPでExecメソッドは、Execを使って実行されたスクリプトまたはプログラムの実行終了後、 実行開始前のいずれかに行われると書いてあったので、業務ソフトが終了するまで メッセージボックスが表示されなかったのかな?と思ったのです。 勘違だったらすみません。
131 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 22:23:29 ID:bYSqBt4L] >>130 例えば"1"の1バイト分だけ記録されたテキストファイルを"stdin.txt"とすると、コマンドプロンプト画面で 業務ソフト.exe < stdin.txt と打ち込んで実行させる事はできる? もしできるのであれば、>>126 の応用で解決できそうな気がするんだけど・・・
132 名前:127 mailto:sage [2006/10/15(日) 22:35:28 ID:Tn/lrPJD] >>129 さん >SendKeys と ("1") の間にある . は必要なの? ご指摘の通り、間違いです。お恥ずかしい。 >>128 さん その業務ソフトはGUI アプリというか、 DOS窓に ==メニュー=== 1)実行 2)変更 9)終了 入力= のように表示され、DOS窓にメニューの番号を 入力するようなタイプのアプリです。 Sendkeysで番号を自動入力できないかなっと思ってWSHを調べながら 始めてみたのですがどうも難しくって・・
133 名前:127 mailto:sage [2006/10/15(日) 22:42:05 ID:Tn/lrPJD] >>131 さん レスありがとうございます。 業務ソフト.exe < stdin.txt もDOS窓で直接試してみたのですが、 メニューの後に複数のメニュー画面が続くせいか、 stdin.txtに選択したい番号を記述して実行では思うような結果が 得られませんでした。
134 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 22:58:29 ID:Qx1lq3WL] え、てか Exec の戻り値の WshScriptExec に SendKeys なんてメソッドはないんじゃ。 wsExec.StdIn.Write "1" & VbCrLf とかじゃないとダメでしょう。
135 名前:名無し~3.EXE mailto:sage [2006/10/16(月) 11:08:32 ID:FXtLk26/] 1{Enter}なら、 ( ECHO 1 MORE ) | 業務ソフト.exe
136 名前:名無し~3.EXE mailto:sage [2006/10/16(月) 13:42:42 ID:FXtLk26/] Set wShell=CreateObject("WScript.Shell") wShell.Run """業務ソフト.exe""" Do While Not wShell.AppActivate("タイトル") WScript.Sleep 100 Loop wShell.SendKeys "1{Enter}"
137 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 00:39:00 ID:MOegLLqX] >>127 ReadLineじゃ駄目なのは、「入力=」の最後に改行がないからだと思う。 >>130 の「止まったまま」というのは改行待ちしてる状態と予想。 Read(1) で一字ずつ読みながら「入力=」との一致をチェックすればいけるかもよ。 一致したところでReadを止めてWrite。
138 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 13:34:51 ID:oUFoO9T0] VBScript使用で、a.vbsはmusic1.mp3を再生する。b.vbsはmusic2.mp3を再生する。 最初にa.vbsを実行して、曲の再生が終わったら自動でb.vbsを実行することは可能ですか? つまり、曲が終わったことを何らかの形で取得することは出来ますか?
139 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 14:11:45 ID:cfn5xPeC] >>138 頭を柔軟に。 VBSで曲が終わったことを検知する方法ばかりに拘らないで 曲が終わったことをVBSに検知させられるような再生方法というのを考えてみよう。 答えはすぐ出るはずだ。
140 名前:138 mailto:sage [2006/10/17(火) 14:58:00 ID:oUFoO9T0] 感謝です。色々やってみたのですが、 Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "music1.mp3",1,true WSHShell.Run "b.vbs",1,true これだと、曲が終わった後にwinampを手動で終了させることでb.vbsが実行されることになります。 自動で実行するにはどうしたらいいでしょうか・・・
141 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 15:36:42 ID:muV3yV8A] music1.mp3 music2.mp3 ってm3uファイルに書き出してvbsで実行 じゃ駄目?
142 名前:138 mailto:sage [2006/10/17(火) 15:43:39 ID:oUFoO9T0] >>141 最終的に、複数のm3uファイルを用意して、一曲再生されるごとに別のm3uに移動する、 という方法にしたいの不可です。すまぬ。
143 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 22:23:32 ID:V4I4jpE0] >>140 Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "%COMSPEC% /C START /W music1.mp3",1,true WSHShell.Run "b.vbs",1,true これはどう?
144 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 22:28:18 ID:CmV+fzlF] つかアプリ決め撃ちでない以上どうしようもないんじゃない? 再生が終わったからってアプリそのものが終了するとも限らないんだし。
145 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 22:42:21 ID:V4I4jpE0] >144 ほとんどの再生ソフトは、再生終了時にソフト自体も終了させる事ができるだろ。 それに質問者本人は>140で再生ソフトがWinampという海外製の定番フリーソフトである事を 晒しているから、イザとなればどうにでもなるんじゃないかな?
146 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 22:45:40 ID:kaR5WnBM] >>142 最初に複数のm3uファイルを読み込んで、vbsで合成したm3uファイルを作成後、再生するとか。
147 名前:138 mailto:sage [2006/10/18(水) 01:23:50 ID:rHQCrCuO] 再生終わったとあとに、どうしてもアプリを一旦終了させる必要がありそうですか。 流石にそれは無駄な動作なので避けたい所ですが('A`) ちなみに再生はwinampでも何でもいいです。 >>143 コマンドプロンプトが邪魔に感じてしまう('A`) でも工夫次第で何とかなるかも >>146 プレイリストに手を加えるというのはアリかも みなさんありがとうございました。何とかやってみます。
148 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 01:47:36 ID:u9ZZOnu7] HTAで、こんな感じ。 <object id=WMP classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> </object> <script language=vbscript> wmp.ShowAudioControls=True wmp.AutoStart=True wmp.Open "C:\...\....mp3" </script> <script language=vbscript for=WMP event="EndOfStream(Result)"> MsgBox Result window.close </script>
149 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 03:35:55 ID:d04WcGTs] >>148 に似てるけどこれを応用するとか( .htmでなく .hta です) <html> <head> <script>resizeTo(269, 283);</script> <hta:application /><title>Player</title> <style>body{margin:0px}</style> <script> var Playlist = ["C:/WINDOWS/Media/tada.wav", "C:/WINDOWS/Media/chimes.wav"]; function Play() { Player.URL = Playlist.shift(); } </script> </head> <body onload="Play()"> <object id="Player" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"></object> <script for="Player" event="playStateChange(NewState)"> if (NewState==1) { if (Playlist.length) setTimeout("Play()", 1000); else window.close(); } </script> </body> </html>
150 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 19:45:28 ID:u9ZZOnu7] 原始的に、 mplay32.exe /play /close "...mp3"
151 名前:名無し~3.EXE [2006/10/20(金) 17:33:52 ID:wRng55we] WSHを使う上でのjsとvbsの違いって何ですか?
152 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 17:54:19 ID:UVRHvNiX] 違いはないと思うよ。 言語の仕様上、vbsの方がfor eachとかでファイル再帰とかやりやすいけど。 おれはVBっぽいのに拒否感があるので、見た目Cっぽいjsを主に使ってる
153 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 18:17:10 ID:Ut0WGun7] >>151 JSは引数の参照渡しができないのが致命的欠点。 JSのいい加減な配列になれていると、VBSの配列は使いにくい。 使いにくい分実行速度はVBSが有利。
154 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 20:30:17 ID:xavmQ34J] 大文字と小文字を打ち間違えて、なんでエラーになるんだー、と悩むのが嫌でVBScriptです。
155 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:14:36 ID:XTKLReLW] >>153 オブジェクトは参照渡しじゃね? 文字列とか整数みたいな、プリミティブな型は値渡しだけど。 でも、やろうと思えばオブジェクトを媒介にして参照渡しはできる。 function hoge(o) { o.a += 10; o.b -= 10; } var o = { a: 10, b: 10 }; hoge(o); WScript.Echo( o.a + "\n" + o.b ); 個人的には、正規表現が組み込まれてて文字列処理に強いのと、 プロトタイプ指向なOOPが好きなので、JavaScript 使ってます>< でも、VBSにもJSにもそれぞれ良いところがあるから、結局自分で選んだ方がいいね。
156 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:26:38 ID:/EMq1zH6] >>155 参照の値渡し、と言うべきかな。 JScript は(ECMAScript は、なのかな)正規表現が言語組み込みな割りに グローバル変数に結果が格納されるという謎仕様が台無し感たっぷり。
157 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:35:11 ID:Ut0WGun7] >>155 自作関数ではなくて、引数に値を返してくるCOMがやっかいなのよ。 おれもJSの方が楽なのでCOM周辺だけVBS使ってる。
158 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:46:52 ID:XTKLReLW] >>156 > グローバル変数に結果が格納される RegExp オブジェクトの事かな? match メソッドとか exec メソッドとか、結果をちゃんと返してくれるんだから RegExp オブジェクトを使わずに返り値を使うようにすれば済む話では? >>157 なるほど。それはやっかいですね(´・ω・)
159 名前:122,124 mailto:sage [2006/10/20(金) 22:07:43 ID:G2VMMq1m] 業務ソフトをwshshell.execで走らせると窓が止まってしまうと言っていた者です。 wshshell.run で同じコマンドを走らせると動きました。 stderrが使えないのが不満ですが・・・ runとexecで使えるコマンドに違いがあるのでしょうか?文字数とか使用できる文字とか。
160 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:11:13 ID:Ut0WGun7] stdoutかstderrのバッファがあふれてるとか?
161 名前:122,124 mailto:sage [2006/10/20(金) 22:23:31 ID:G2VMMq1m] >>160 バッファあふれ対策ってあるのでしょうか?runだと不便で不便で
162 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:37:34 ID:Ut0WGun7] Readすりゃいいけど、stdoutとstderrの両方があふれる可能性がある場合はお手上げ。 ファイルにリダイレクトすれば・・・・・Runと変らないw
163 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:37:50 ID:xavmQ34J] パイプはタンクじゃないんだから、出口から読み出さないと、入り口へ書き込めないよ。
164 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:40:50 ID:xavmQ34J] Set oExec=wShell.Exec("cmd.exe /c,""業務アプリ.exe"" 2>&1") hoge=oExec.StdOut.ReadAll()
165 名前:122,124 mailto:sage [2006/10/20(金) 22:47:21 ID:G2VMMq1m] 皆さんありがとうございます DOS窓やrunで実行するとメッセージが1〜2秒くらいスクロールしていますからたぶんstdoutのバッファあふれだと思います。 月曜日に>>164 を解読して応用してみたいと思います。
166 名前:名無し~3.EXE mailto:sage [2006/10/21(土) 00:22:05 ID:EplX6k6g] C:\> type test01.js p = function(s) { WScript.Echo(s); } re = /^ABC(.*)$/i; if(r1 = "abcdefg".match(re)) { if(r2 = "abcxyz".match(re)) { if(r3 = re.exec("abchijkl")) { if(r4 = re.exec("abcllll")) { p(r1[1]); p(r2[1]); p(r3[1]); p(r4[1]); } } } } C:\> cscript test01.js Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. defg xyz hijkl llll C:\>
167 名前:名無し~3.EXE [2006/10/22(日) 01:06:53 ID:2EaEsyDk] VBSの正規表現って「任意の文字列」ってありますか? いろいろネットで調べたんですが「.」が任意の一文字っつーのはわかったんですが どうしても任意の文字列が見つからんのです。 そういう正規表現はVBSではサポートされてないのでしょうか? ちなみにやりたいことは、テキストから「〜ABC」という文字列を検索して replaceで「XYZ」に置換したので、「〜」の部分を正規表現で表せないのかなと。
168 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 01:13:55 ID:liwxrQBE] 終了条件(ABC)は分かった。 開始条件は何よ。
169 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 01:30:45 ID:sou1ELwq] > 「任意の文字列」 普通に".*"だろ(空文字列も含む)
170 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 02:38:07 ID:SSdwCjK5] 検索: .+ABC 置換: XYZ もちろん、テキストの先頭から ABC まで「任意の文字列」として置換の対象になります^^
171 名前:167 [2006/10/22(日) 11:14:01 ID:2EaEsyDk] >>168 >>169 >>170 レスサンクスです。 >>168 開始条件はありません。先頭から「ABCで終わる」文字列をXYZに置換したいのです。 「あいABC」「かきくABC」「さしすせABC」をXYZへ置換したいのです。 >>169 >>170 「.*」「 .+」さっそく試してみます。 ちなみにこの2つは全く同じという解釈でいいですか?
172 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 11:23:38 ID:liwxrQBE] >>171 > 先頭から「ABCで終わる」文字列 あるじゃん、開始条件。>先頭から * や + は正規表現の超基本なのでそれくらい調べれ。 わざわざ別の文字を割り当ててる以上別モンである。
173 名前:目民 ◆xQYoLwVGxQ mailto:sage [2006/10/22(日) 11:29:46 ID:2pGZNsvG] >>171 「開始条件はない」と言ってるけど、無意識に 空白文字以外で始まる文字列を前提にしているんじゃないの? それなら、「\S*ABC」でやってみるといい。
174 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 12:22:00 ID:8Mbhr02c] >>171 こういう処理に慣れてないとしょうがないけど、条件の書き方があいまい。 > 先頭から どの先頭から? 行なの? 単語なの? 単語としたら、単語ってなに? >>173 が言うように空白意外の塊? > 「ABCで終わる」文字列 文字列ってなに? 例えば、"あいABCD" は、"XYZD" に変換されてもいいの? あと細かいところだけど、〜ABC の「〜」の部分は、空でもいいの?
175 名前:名無し~3.EXE [2006/10/22(日) 15:27:40 ID:N3BdT48Y] 「あいABC」「かきくABC」「さしすせABC」をXYZへ置換したいのです。 ---------------------------------------------------------- というのがどういう状況でデータになっているのかが重要、 あいABC かきくABC さしすせABC おばかXXX というように、データが一行に一個あるのか。 あるいは文章がずらずらと並んでいるのか。その場合、先頭って何? あいABCでかきくABCがさしすせABC なのか? 正規表現は行頭、行末もマッチさせることができるし、それらの情報 なくして回答なしだよ。
176 名前:名無し~3.EXE [2006/10/22(日) 21:18:46 ID:OIBpBobZ] WSHをはじめたいけど、何からはじめたらいいのかわかりません。 環境:WindowsXP SP2 PG経験:Cをちょっと
177 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 21:24:38 ID:mrzCrOm0] >>176 まずはWMIあたりから始めると面白いかも。
178 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 21:29:03 ID:vQXb6UKC] >>176 必要になったらやればいいのに、、、
179 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 22:13:29 ID:EOcMerY5] >>176 つまり、>>1
180 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 22:55:08 ID:afcuKUls] >>176 まずは>>2 の「Windows Script 5.6 ドキュメント ダウンロード」を落として 隈無く読むこと。今とくにやりたいことも無いならそこから入れ。 まあ、やりたいことがあってもここから入るのが基本だが。
181 名前:176 mailto:sage [2006/10/22(日) 23:35:43 ID:OIBpBobZ] 返信ありがとうございます。 目的は、PCの単純作業を出来る限り自動化です。 「Windows Script 5.6 ドキュメント」を隈なく読みます。 それでわからなかったらまた質問に来させて頂きます。 ありがとう御座いました。
182 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 17:09:37 ID:IlmEYWFd] まあでもそのドキュメントがWSHでやれることの全てだと思われても困るが。
183 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 22:29:02 ID:p8IXQ+tm] え゛、あのドキュメントが全てだろ。
184 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 22:39:08 ID:Mp53qbOD] COM があれば可能性はおおよそ無限だ
185 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 23:04:41 ID:BYV9Z446] COMさえあればモテモテだね!
186 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 23:07:04 ID:CBFP8CuU] >>182 俺もアレがほぼ全てだと思うけど。そりゃ、COMだのWMIだのを使えば、出来ることの幅は広がるが それらはWSHの機能でもなければ、WSH専用のコンポーネントですら無いから、(WSH同梱のCOMはあるが) 全てに置いてリファレンスが載ってるわけではないが、それらが利用できることはきちんと書いてあるし。 例えば自分はWSHがサポートしていないxml要素を作り、それを利用して変数の値を保持したり 次回実行時にそれを読み込んだりしているが、wsfがxml準規であることと、COMが使えることが書かれている以上、 定形外のwsfを作りMSXML2.DOMDocumentを利用したこの使い方も、あのドキュメントから導き出される使い方の一つだ。 「加算演算が出来ます」と書かれていたら、1+1の演算が可能です、1+2の演算が可能ですといちいち書かれていなくても それらの演算が可能なことを意味するのと同じ。言語製品は応用するのは当然のことだが、応用ではなく機能として見た場合に あのドキュメントに書かれていない機能って何がある?絶対無いとは言い切れないけど、俺はすぐには思いつかないな。
187 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 23:40:51 ID:j0qOB48K] 3行でかけることをよくもまぁ
188 名前:名無し~3.EXE mailto:sage [2006/10/24(火) 00:01:18 ID:wYm/9FA1] 別に構わないよ、苦ではないし。 わざわざそいいうことを書き込む理由が分からない。
189 名前:名無し~3.EXE mailto:sage [2006/10/24(火) 00:11:33 ID:P1PufmL8] 内容が無い書き込みを読む方が苦痛ですぅ
190 名前:名無し~3.EXE mailto:sage [2006/10/24(火) 04:22:05 ID:e4iNvxC6] MSDNとか見難くて見てられんのよね・・
191 名前:名無し~3.EXE mailto:sage [2006/10/30(月) 00:01:11 ID:/XauOmlM] hozyu
192 名前:名無し~3.EXE mailto:sage [2006/10/31(火) 19:28:20 ID:WW2MnT8D] WSHクイックリファレンス 第2版 www.amazon.co.jp/gp/product/4873113091
193 名前:名無し~3.EXE mailto:sage [2006/10/31(火) 21:00:56 ID:iFG+tSJz] > 紙のリファレンスとして > ある意味では,本書のカバーする範囲はWSHのヘルプに書かれている範囲をそう越えてはいない。 > 基礎的な知識があることを前提にすれば,一読したあとは紙のリファレンスであることが最大のメリットということになる。 > > 紙のリファレンスの価値は,プログラマの人ならよくわかっているだろうとは思う。 > はたして,紙としてまとめられていることにどれだけの価値を見いだすか,というのは議論のわかれるところだろう。 > 入門書というにはやや記述が少なく,解説書というにはリファレンス的側面が強すぎるため,それ以外には魅力を見いだせないということなのだ。 確かに紙面リファレンスは有ると便利だが、それだけの為に4000円出すバカは居ないだろう。 早速改訂版が入荷してたので立ち読みしてみたが、サンプルとかもショボすぎて使い物にならないし。 4000円出してでも、script56.chmの紙面版が欲しいってなら、絶対に買うなとは言わないが、 俺にとっては100円ショップに置いてあるなら買ってもいいかなってレベルの出来だな。
194 名前:名無し~3.EXE mailto:sage [2006/11/01(水) 02:00:10 ID:M0Co5/Ld] WSHヘルプを見る時は、「窓使いの憂鬱」と「HHプラグイン」を使うと読み易いです
195 名前:名無し~3.EXE mailto:sage [2006/11/02(木) 02:30:30 ID:dDmy4YyL] .vbsのショートカットにドロップしても引数が消えなくする方法 ttp://pc8.2ch.net/test/read.cgi/win/1152544955/341
196 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 10:36:34 ID:gFg82ib7] .vbsを登録してD&Dで引数が渡せる良い感じのプログラムランチャーって無いですか?
197 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 11:12:19 ID:4Dsu/0i6] あるよ。 但しスレ違いな上に、「良い感じ」の定義は個人によって違うので具体的な紹介はしないけど。 具体的に紹介して欲しいなら、ソフ板のソフト紹介スレで、 具体的にどういうものが君にとって「良い感じ」なのかをきちんと書いて質問してみな。
198 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 13:43:08 ID:gFg82ib7] 自分で探した方が早そうだね
199 名前:名無し~3.EXE [2006/11/06(月) 04:44:13 ID:6BsyJ6Fg] >>193 の引用部分は↓から。 www.cmagazine.jp/bookreview/20000302.html
200 名前:名無し~3.EXE [2006/11/08(水) 19:11:29 ID:PcQgSeRB] うっしゅ
201 名前:名無し~3.EXE mailto:sage [2006/11/09(木) 18:28:17 ID:/TzE/TZH] 既定のブラウザをIE5.01SP4とfirefox2(J) とに交互に切り替えるJscript を恵んでくださいな。
202 名前:名無し~3.EXE mailto:sage [2006/11/09(木) 20:33:49 ID:nGi8ytVm] >201 交互っつったって、どんなタイミングで切り替えるんだ? 既定ブラウザ自体はレジストリ変更でどうにかなりそうだが…
203 名前:名無し~3.EXE mailto:sage [2006/11/09(木) 21:13:34 ID:/TzE/TZH] (既定ブラウザを切り替えたいときに、机の上にある jscript ファイルをダブルクリックする。) // 1 変数の初期設定 // 2 該当レジストリを読み出す。 // 3 既定ブラウザが IE だったら、とある変数に firefox2 を代入する。 // 4 既定ブラウザが firefox2 だったら、とある変数に IE を代入する。 // 5 既定ブラウザが上記以外だったら、とある変数に 逝ってよし を代入する。 // 6 とある変数が逝ってよし以外なら、 該当レジストリに書き込んで、とある変数 に切り替えましたと表示する。 // 7 とある変数が逝ってよしなら、とある変数をそのまま表示する。 こんな感じです。
204 名前:名無し~3.EXE mailto:sage [2006/11/09(木) 21:48:39 ID:qNCmXvkB] 何にしてもここは「スクリプトの作成を依頼するスレ」じゃないからね。 自分で作る気が無いなら帰れってことになる。
205 名前:名無し~3.EXE mailto:sage [2006/11/09(木) 23:00:35 ID:/TzE/TZH] じゃ帰りまつ。
206 名前:名無し~3.EXE mailto:sage [2006/11/10(金) 02:09:09 ID:AYtg+sjS] Windowsがロック(Win+L)されてると、AppActivate→SendKeysではキー送れない…ですよね? 何か代替策ありますでしょうか? WshShell.Run('notepad.exe', 1, false); WshShell.AppActivate('メモ帳'); WshShell.SendKeys('0{ENTER}');
207 名前:名無し~3.EXE mailto:sage [2006/11/10(金) 02:31:12 ID:ktKvkKru] >>206 COM使ってSendMessage 具体的な方法はCOM付属のドキュメントやWeb上の解説読んで
208 名前:名無し~3.EXE mailto:sage [2006/11/10(金) 08:13:38 ID:AYtg+sjS] >>207 dクス! まだまだ知らないことばっかりだ(゚∀゚;)
209 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 04:37:38 ID:jLixVM07] PowerShellって完成遅くね? もしかしてVistaに入ってない?
210 名前:名無し~3.EXE [2006/11/11(土) 07:33:18 ID:OPUQTd1+] XMLHTTPでWebから落としてきたテキストファイルが文字化けするんだけど 文字化けしないで表示させるるにはどうな感じにやればいいの? var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); xmlhttp.open( 〜 ); xmlhttp.send( 〜 ); win1.document.open(); win1.document..clear(); win1.document..write(xmlhttp.responseText); win1.document..close(); xmlhttp.abort(); ↑はスゲー適当にしたけど、今はこんな感じ。処理の流れを言葉で表せは、 win1からコンテキストメニュー経由でスクリプト起動、xmlhttpでアクセス、ページ落としてそれをwin1にそのまま表示。 って感じ。 あと、落すのは普通のwebページ。ゆえにサーバーの方は弄れないし、文字コードは予め判らない。 そして、ググッていくつかの参考サイト見たけど、全然理解できなかったぐらいおれは馬鹿。 よろしくお願いします。
211 名前:名無し~3.EXE [2006/11/11(土) 09:34:07 ID:OPUQTd1+] 桃子って馬鹿っぽい声だな
212 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 09:36:39 ID:yLvGNxuk] URLそのまま表示するだけなら、普通にwin1.location.href="URL"でええやん(´・ω・)
213 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 19:52:55 ID:fv8aBk4Z] >>203 「とある変数」は冗長。
214 名前:名無し~3.EXE [2006/11/11(土) 21:17:05 ID:OPUQTd1+] >>212 フォームのアクションへ POST して取ってくる感じ
215 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 21:55:05 ID:yLvGNxuk] >>210 内容を一旦テンポラリファイルに保存してから、それを開くって感じではどう? ADODB.Stream 使って XMLHTTP.responseBody を保存すれば、正確に表示できる。
216 名前:名無し~3.EXE [2006/11/12(日) 09:26:37 ID:paxoE75X] >>215 やってみたら文字化けしませんね。 一度保存するってのをベースにこれから作ってみます。 どもありがとです。
217 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 09:53:43 ID:UX7xiFXQ] ファイルに書き出さんでも、Write した後 Position を 0 にしてやれば Type やら Charset やら ReadText やら可能になるよ。
218 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 10:13:55 ID:2A2d5Z9x] ファイルに保存せずに、ストリームを直接ブラウザに表示なんてできる?
219 名前:名無し~3.EXE [2006/11/12(日) 12:41:42 ID:eheFZjLZ] wshであるサーバがtelnetできるかというのを自動化しようとしてます。 Runメソッドでtelnet.exeを動かすスクリプトを作ってみたのですが、 ログインしている状態では動くのですが、 ログアウトしてスケジューラで動かしてみると、パスワードとかの入力ができません。 ' Connect Server strCMD = "telnet.exe -a -l root -f telnet.log 192.168.1.100 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run strCMD,2 ' Send Password WScript.Sleep 5000' Wait 5 sec WshShell.AppActivate "Telnet" WshShell.SendKeys "rootpsaaword~" ' Exit Telnet WScript.Sleep 2000' Wait 2 sec WshShell.AppActivate "Telnet" WshShell.SendKeys "exit~" Execメソッドにしてみたところ、telnetが動いてもくれません。 Dim WshShell, oExec strCMD = "telnet.exe -a -l root -f telnet.log 192.168.1.100 Set WshShell = CreateObject("WScript.Shell") Set oWshExec = WshShell.Exec(strCMD) telnetできなかったらメールを送るとかのスクリプトを作りたいのですが どなたか同じことをやられている方はいませんでしょうか。
220 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 14:13:34 ID:2A2d5Z9x] メールを送るだけなら CDO.Message でできる。 詳細はググってください。
221 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 15:18:11 ID:0ftkh14m] >>219 標準のtelnet.exeじゃなくて、 ログインまで自動化できる別のソフトを使えば?
222 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 23:10:05 ID:qiz2dlwS] >>219 > WshShell.SendKeys "rootpsaaword~" > WshShell.SendKeys "exit~" CRLF は送らなくていいのか?
223 名前:名無し~3.EXE [2006/11/14(火) 20:48:44 ID:eUOyYwez] ローカルPCのプロセス一覧を書き出す VBScript があります。 これは正常に動作します。 strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_Process",,48) For Each objItem in colItems Wscript.Echo "Name: " & objItem.Name Next これをJScriptに変換しようとしているのですが、 var strComputer = "."; var objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2"); ↑ この行で既に 「Microsoft JScript 実行時エラー: オートメーションの操作中にファイル名または クラス名を見つけられませんでした。」となってしまい、実行できません。 \記号が何か変なことになってるんでしょうか? どうすればいいのでしょうか? WSH 5.6 / Windows XP SP1 Professional の環境です。
224 名前:223 mailto:sage [2006/11/14(火) 20:50:34 ID:eUOyYwez] あ、ごめんなさい。 エラーの行に WScript をつけて、以下のようにしても同様でした。 var obj = WScript.GetObject("winmgmts:\\" & strComputer & "\root\CIMV2");
225 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 20:53:15 ID:7Tv2z1qt] JScript の文字列連結演算子は + だが。
226 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 21:43:55 ID:7Vc/ugR3] \→\\
227 名前:名無し~3.EXE mailto:sage [2006/11/15(水) 05:49:24 ID:eq52+nBC] PowerShell正式版来たな
228 名前:名無し~3.EXE mailto:sage [2006/11/15(水) 08:49:19 ID:eq52+nBC] PowerShell 1.0 ttp://support.microsoft.com/?kbid=926140 これおもしろいな。昔Monadスレあった気がしたけど、消えた?
229 名前:223 [2006/11/15(水) 10:11:55 ID:8Giezelv] >>224-225 初歩的なことですみません&ありがとうございます。 var obj = WScript.GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2"); のようにしてみましたが、今度は (null): 0x800C000D のようなエラーで止まってしまいます。 試しに var obj = WScript.GetObject("winmgmts:"); とすると上記と同じエラーが、 var obj = WScript.GetObject("winmgmts"); // ←コロンを取った とすると>>223 と同じエラーが出てしまいます。 原因として何が考えられるでしょうか?
230 名前:223 mailto:sage [2006/11/15(水) 10:18:39 ID:8Giezelv] 解決しました。 var obj = WScript.GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2"); はダメで var obj = GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2"); ならOKでした。ムムム。
231 名前:名無し~3.EXE mailto:sage [2006/11/15(水) 23:24:20 ID:F3PSFGj/] >228 Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 用ってのがアレだけどな。
232 名前:名無し~3.EXE mailto:sage [2006/11/16(木) 10:54:00 ID:X8pn6xyi] PowerShell入れてみたけど、気に入ったw。 wsh捨てる決心ついたよ。
233 名前:名無し~3.EXE mailto:sage [2006/11/16(木) 12:14:40 ID:qnfm5A7w] コマンド入力まで時間かかるんだが、どうにかならんの
234 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 00:37:42 ID:qH260wvA] Me使いのオレは移行したくとも出来んのだよ。
235 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 01:02:22 ID:rS+zXwC5] PowerShellってパイプを流れるのもオブジェクトなのな。 CMDで dir | sort dir | sort /r と PSで dir | sort dir | sort -des と比べて、頭の古い俺はちょっとびびった。 cd hklm: でおいおい俺レジストリにいるよ、とか。 Vistaにデフォで入っていない上にデフォのセキュリティもガチガチだけど やれること考えたら仕方ないか…。
236 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 12:14:12 ID:tuTlaVuD] explorer切ってこっちをシェルにできんかな
237 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 02:21:35 ID:OLX52wf8] ご案内 Windows PowerShell (正式版リリース)1.0 pc8.2ch.net/test/read.cgi/win/1163764836/
238 名前:名無し~3.EXE [2006/11/18(土) 15:10:02 ID:AegbpAMY] ADODB.Stream関連のプロパティを紹介してるHPを知りませんか?
239 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 15:16:39 ID:rOSuiBco] >>238 Microsoft Data Access SDK 2.8 をダウンロードしたら?
240 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 15:20:25 ID:mdx8HK1h] >>238 msdn.microsoft.com/library/en-us/ado270/htm/mdobjstream.asp
241 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 21:59:57 ID:Hl8ABRjt] エクセルの中身をスクリプトで抜きたいんですが、可能でしょうか? アクセスに移行しないと無理ですかね?
242 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 22:12:10 ID:ag1e260U] エクセルの中身というのを xls ファイルの中身であると解釈して。 Excel.Application からオートメーションすればいいっしょ。
243 名前:名無し~3.EXE [2006/11/22(水) 22:36:18 ID:FtHukSom] >>241 できる
244 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 23:20:06 ID:t8oZlpFH] >>241 ADO使えばできる ttp://homepage3.nifty.com/aya_js/wsh/wsh27.htm
245 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 23:47:23 ID:EyhEga7i] 皆様ありがとうございます。 >>244 のって工夫すればなかなか便利に使えそうですね
246 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 04:54:10 ID:fL/fbuiK] >>244 いろいろいじってみたけど、これすげく楽しいな ADOでのSQLについて詳しいページってありませんか?
247 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 12:16:26 ID:Z7NXJrJB] ググれ
248 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 12:41:31 ID:qXN1g3LQ] _____ \ _ _/ ( *゚∀゚) ( 9 ⌒)9゙ ググッ "⊂_)∪,,
249 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 23:07:22 ID:OspuG9g+] >>248 ( ゚∀゚)o彡゚ wsh!wdh!
250 名前:名無し~3.EXE [2006/11/26(日) 21:34:24 ID:tNFTdH9d] OutLookExpress内の任意のメールを特定のフォルダへドロップ(コピー)するような スクリプトは、どのような関数を使えばよいでしょうか? emlファイルに出来ればOKです。 WSHに詳しい先輩達にご意見をお聞きしたいです。
251 名前:名無し~3.EXE mailto:sage [2006/11/27(月) 00:56:10 ID:1iJUdyxp] COMってコム?それともシーオーエム? WSHは?ウィンドウズスクリプトホスト?ダブリュエスエイチ?ウーシュ?
252 名前:名無し~3.EXE mailto:sage [2006/11/27(月) 01:06:33 ID:nxeZfR/d] COMはコムって読んでる WSHはそのままW・S・H
253 名前:名無し~3.EXE mailto:sage [2006/11/27(月) 01:20:04 ID:YbmUHCoW] wshはウッシュだなあ 関係ないけど、zshはズッシュ、tcshはティッシュと 呼んでた俺。
254 名前:名無し~3.EXE mailto:sage [2006/11/27(月) 02:33:55 ID:nUiU//Yl] lヽ ノ l l l l ヽ ヽ )'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l / W | | |/| ハ / / ,/ /|ノ /l / l l l| l W ヽ l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ / | S l トー-トヽ| |ノ ''"´` rー-/// | S | | ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ | | H | | l | ヽ, ― / | | l H | | !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! | ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ / / ノ⌒ヾ、 ヽ ノハ, | ,/ ,イーf'´ /´ \ | ,/´ |ヽl | /-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l ,/ | ヽ \ _,ノーf' ´ ノノ ヽ | | 、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ  ̄ ̄ | /  ̄
255 名前:名無し~3.EXE mailto:sage [2006/11/27(月) 18:31:52 ID:uqV36mAE] >>254 W−WSHのアニメはイマイチだったぞ。
256 名前:名無し~3.EXE [2006/11/27(月) 22:04:40 ID:mEhuqTrR] >>250 やっぱり、難しいですよね。
257 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 00:54:51 ID:Tv1LYONy] htaやwsfファイル中でPerlScriptからVBScriptやJScriptの関数って呼べます? 逆は普通に呼べるんだが...
258 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:03:28 ID:V4pOQQjQ] ランチャをWSHで組んだとして 起動させたアプリからの、read/writeを規制することは 可能でしょうか? 例えば、~/tmp以外書き込み禁止とか...
259 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:12:07 ID:Tv1LYONy] >>258 何でそんなことしたいのか知らんけど,Windows2000かXPであれば,新しくユーザ作成して適切なパーミッション設定して,runasでそのユーザで起動するようにすればできなくはないかも?
260 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:14:36 ID:kOxlRyob] >>257 呼べる。とりあえずwshのリファレンス読め。 htaも同じ方法で呼べるから。 >>258 不可能。というかスクリプトの仕事じゃない。 まともなプログラム言語使え。
261 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:25:26 ID:Tv1LYONy] >>260 呼べるのか. <job id="main"> <script language="PerlScript"> sub perlfunc() { $WScript->Echo("PerlScript"); } </script> <script language="JScript"> perlfunc(); </script> </job> これはいけるけどPerlScriptからJScriptのfunctionを呼ぶにはどうすれば? wshやperlのマニュアル見ても見つからないの.サンプルプリーズ.
262 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:27:02 ID:RRJTB0rw] &jscriptfunc() で呼べるんでないの?
263 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:33:50 ID:Tv1LYONy] >>262 それで呼べないんで困ってるんですわ.
264 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:34:54 ID:ZRVbZfL6] method(); でいけるはずだが
265 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 01:44:28 ID:dX4vnSDr] strconvはもちろんストア昆布だよな
266 名前:257 mailto:sage [2006/11/28(火) 01:57:32 ID:Tv1LYONy] いろいろ試してたら分かってきた. PerlScriptからVBScriptの関数は普通に呼べました. JScriptの関数オブジェクトはPerlScriptからは扱えないみたい. $WScript->Echo(&jsfunc());とかやるとfunctionの中身がdumpされた. JScriptで作ったライブラリとか使えねー PerlScriptなんて使うなってことですか... <job id="main"> <script language="VBScript"> sub vbsfunc() WScript.Echo("VBScript") end sub </script> <script language="JScript"> function jsfunc() { WScript.Echo("JScript"); } </script> <script language="PerlScript"> # VBScript OK &vbsfunc(); # JScript NG &jsfunc(); $WScript->Echo(&jsfunc()); </script> </job>
267 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 02:35:59 ID:BAbEyrhQ] 引数があれば呼べるんじゃないかな
268 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 02:40:16 ID:RRJTB0rw] 適当な引数を付ければ呼べるみたいだね。例えば、 &jsfunc(0);
269 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 02:47:47 ID:g8pNCyQB] ScriptControlを使う手もあります 呼び出し先ではWScript使えないけど>< <job id="main"> <script language="PerlScript"> my $jscript = <<EOS; function jsfunc() { return "Perl meets JavaScript!"; } EOS my $sc = $WScript->CreateObject("ScriptControl"); $sc->{Language} = "JScript"; $sc->AddCode($jscript); $WScript->Echo( $sc->Run("jsfunc") ); </script> </job>
270 名前:258 mailto:sage [2006/11/28(火) 02:49:32 ID:V4pOQQjQ] >>259 データ管理上、ローカルにデータ放置させたくないのです 小生Win環境詳しくないので、感謝 早速試してみます >>260 元がAIX上でPerl/Tkで動いている認証機能付ランチャなのです Win環境は詳しくないものですいません
271 名前:名無し~3.EXE [2006/11/28(火) 07:36:45 ID:AQr+bFyx] OutLookExpress内の任意のメールを特定のフォルダへドロップ(コピー)するような 関数を教えてください。 頭の良い方達揃いと思い、お願いします。
272 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 12:16:59 ID:h8kiq/Ct] >>271 この辺の情報を参考に作ってみたら? OE dbx file format ttp://oedbx.aroh.de/
273 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 13:51:02 ID:77idGO9L] >>271 バックアップならこういうのを使ったほうがいい。 ttp://www.tietew.net/soft/OE2/
274 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 15:46:44 ID:eQt+KJMG] >>269 >ScriptControlを使う手もあります 呼び出し先ではWScript使えないけど>< 使えます。VBScriptの記述では、 sc.AddObject "WScript",WScript みたいにSC側にWScriptを渡せばよいのです。
275 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 19:56:04 ID:eQt+KJMG] >>258 >>259 タスクスケジューラに登録しておいて、FolderItem.InvokeVerbで実行する。
276 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 19:58:54 ID:g8pNCyQB] >>274 それは知らなかった。thx!
277 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 20:03:14 ID:eQt+KJMG] >>257 あてずっぽうですが、 jscriptfunc() で呼べませんかね。結構、非常識な発想が通ったりする世界ですから。。。
278 名前:257 mailto:sage [2006/11/28(火) 20:21:36 ID:Tv1LYONy] >>267 >>268 無事呼べました.情報ありがとう. perlじゃ引数なし()は省略されるってことね. >>269 ふむふむ.それはVBA上からperl呼ぶとか便利に使えそうだね. vbsやjsにできてperlにできないことはまずないから,wshでは使わないだろうけど.
279 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 21:48:29 ID:tFRKZPTE] スクリプトから自動でメールを出すってできますか? WEBページにあるフォームに入力させて「送信」ボタンを押すみたいなことをスクリプトで実現したいんですが
280 名前:名無し~3.EXE [2006/11/28(火) 21:53:30 ID:mWvA7je0] MsgBox でフォントの大きさを変えることはできませんか? (全体を大きくするのではなくて、MsgBox のウインドウで 使われるフォントだけ)。
281 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 22:06:15 ID:g8pNCyQB] >>279 CDO.Message で検索してみて。 >>280 一からウィンドウを作らないとダメかと。
282 名前:280 mailto:sage [2006/11/28(火) 22:18:48 ID:mWvA7je0] >>281 Wsh では1からウインドウを作るのはどうやるんでしょうか? VBScript でも JScript でもこの際なんでも構いません。 (機能はメッセージを出して OK 押したら消えるだけでいいんです。 但し大きく目立つように出したいということです)。かといって 後から何か特別なソフトをインストールしたくはないので Wsh の VBScript の MsgBox でやっていたんですが、何か方法ありませんかね?
283 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 22:23:19 ID:HgwQULRQ] HTAにしてみるとか
284 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 22:23:44 ID:E3q0nv4b] >>282 WSHから使えるGUIウィンドウは COMとして作るしか無いかと。 又はWSHではなくHTAを使うって手もある。
285 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 22:39:47 ID:mWvA7je0] >>283-284 HTAというのは知りませんでした。検索したら出ましたが。これですよね。 www.microsoft.com/japan/msdn/workshop/author/hta/overview/htaoverview.asp 調べてみます。ありがとうございました。
286 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 23:15:36 ID:eQt+KJMG] PowerShellを使うと >>36 >>206 などが簡単に出来るようになるんでしょうか?
287 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 23:23:34 ID:45tW03Iv] CDO.Messageについて調べたんですが、送信元のアドレスをソースに入れないで(自動で補完)つくれないでしょうか スクリプトを知らない多数の人が使用するという想定でつくりたいのです
288 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 23:42:30 ID:Tv1LYONy] >>282 TclScript, PerlScript, RubyScriptとかならTkが使えるからGUIが自前で作れる. それぞれの処理系をインストールしなきゃならんのでHTAの方がいいだろうけど. >>287 1. スクリプトの先頭にadress = "foo@bar.com"とか書いておいて,各自そこだけ書き換えてもらう. 2. InputBoxやHTA使ってアドレス入力させる.毎回入力するのは面倒なので,ファイルに保存しておいて次回からはそれを読む. など
289 名前:名無し~3.EXE mailto:sage [2006/11/29(水) 00:33:36 ID:2/mGVRQo] >286 ↓で訊いてみたら? Windows PowerShell (正式版リリース)1.0 pc8.2ch.net/test/read.cgi/win/1163764836/
290 名前:名無し~3.EXE [2006/11/29(水) 22:17:21 ID:1dkZEY39] >>272 >>273 ありがとうございます。 ただ、もっと簡単にスクリプトを組んで関数をチャチャっとやって、 できないものか思案中です。 あまり、プログラムって組んだ経験がないので・・・。 何か良いアイデア、ないでしょうかね?
291 名前:名無し~3.EXE mailto:sage [2006/11/29(水) 22:41:40 ID:DKiaM1yK] 自力でプログラム書く気がないなら、このスレ向きじゃないよ。
292 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 01:16:13 ID:WPzp0DQP] 標準出力を使いたいので、ファイル名.vbs(wscript.exe)で実行しても cscript.exeで実行するような書き方ってありますか
293 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 01:40:47 ID:f/8+PZe+] >>292 cscript //H:CScript
294 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 02:14:43 ID:oHR/u/8E] >>292 vbsじゃないけどお手製のライブラリがあるので晒そう. 以下をたとえばstdio.jsというファイル名で保存 //---------ここから------------ (function(){ if (/wscript\.exe$/i.test(WScript.FullName)) { var args = new Array(); for ( var i = 0; i < WScript.Arguments.length; i++ ) { var arg = WScript.Arguments.Item(i); if ( /\s/.test(arg) ) arg = '"' + arg + '"'; args.push(arg); } var cmd = 'cscript.exe //Nologo "' + WScript.ScriptFullName + '" ' + args.join(' '); WScript.CreateObject('WScript.Shell').Run(cmd, 1, false); WScript.Quit(); } })(); //---------ここまで------------ 使い方はwsfファイルの最初でインクルードしてやるだけ. <job> <script language="JScript" src="stdio.js"></script> <script language="VBScript"> 'ここに好きなコードを書く WScript.StdIn.ReadLine </script> </job> 既定のスクリプトホストはwscriptのままでOK. まあ自分で使うだけなら >>293 が一番楽でしょう.
295 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 02:42:53 ID:v82cYZy4] >>292 vbcという拡張子をcscriptに関連付けて、cscriptで実行したいものはvbcで作る方法がオススメ。 >>294 のようにwsfでやるならjob分けした方が良い。または引数が無ければ ttp://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%C6%A5%AF%A5%CB%A5%C3%A5%AF%5D%5D#content_1_4 でもいける。ぶっちゃけ>>294 はこれの引数対応版なだけの話だし。 まぁ固定環境で使うものなら関連付けしちゃうのが一番煩わしくないよ。 コード一切必要ないし、条件分岐も、実行し直しも、引数の処理も無いからいくらか早いし。
296 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 07:51:25 ID:oeVEhWch] >>295 > vbcという拡張子をcscriptに関連付けて、cscriptで実行したいものはvbcで作る方法がオススメ。 なるほどなあ、その発想はなかった
297 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 10:53:55 ID:4A8n4oNd] >>292 先頭に REM:&@CScript.exe //E:VBS //NoLogo "%~f0" %* & GOTO :EOF を書いて、拡張子をCMDに変える。
298 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 19:27:18 ID:4A8n4oNd] >>295 関連付けで標準入出力が使えない障害はありましたが、もういいのかなぁ。 もし、駄目なときはVectorのVBCFILEを参照。
299 名前:名無し~3.EXE mailto:sage [2006/12/02(土) 15:02:40 ID:AkJV6Sni] これでアクセス権限のないレジストリキーを 自動で削除する事ってできますか?
300 名前:名無し~3.EXE mailto:sage [2006/12/02(土) 20:48:03 ID:0XNYfzVD] WScript.ShellのPopup(,nSecondsToWait)が効かないってことありませんか? HTMLやHTAのときは、そういう仕様か、と思っていましたが、WSHでも起こります。 どうもCPUが他の処理で忙しいときに抜けるみたいです。 さすがに、それは障害だと思いますが。使うときはご用心。
301 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 15:43:36 ID:EC5LjnO7] >>282 こういうときは、WSHからIEを起こして操作するのが簡単。
302 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 18:45:02 ID:P6CN1pgP] バッチファイルをリモートからWebに埋め込んで使う ということをwsh使ってできますか?
303 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 19:13:49 ID:pifhS49b] うん、出来る。。面倒だから普通はやらないけど。 どうしても面倒なことやりたいなら勝手にやればよい。
304 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 19:49:26 ID:0qa9SSE3] >302 で、それを知って何をやりたいんだ?
305 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 00:08:13 ID:UaBqXVVZ] >>296 それより、RunWithArgs.CMDを関連付けると、便利だわい。
306 名前:名無し~3.EXE [2006/12/11(月) 22:02:52 ID:YncVWVUZ] age
307 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 14:27:42 ID:/++eaESB] WSHでDDE使う方法ないかな?
308 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 15:44:43 ID:npJjnYln] >>307 DDE使えるCOMを探すか作る。 そんな回答アリかよ、と言うかも知れないが 拡張無しにWSH自身が出来る事なんてほとんど無いんだから COMなどの外部拡張に頼らざるを得ないのは仕方ない。
309 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 16:38:28 ID:5aDfYNEq] VBScript(.vbs)からExcelを操作して文字列の置換をしたいんですが、ループでセルを一つずつ見て置換していくしかないのでしょうか? Excelの置換ダイアログみたいに一括でブック全体を置換したいんですが。 ちなみに優先順位としては 処理スピード > コードの複雑さ です。
310 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 17:06:25 ID:npJjnYln] >>309 RangeメンバのReplaceメソッドで置換すれば良いだけだよ。 Replaceメソッドの使い方はExcelVBAヘルプに載ってる。 因みに組み込み関数のReplaceじゃないので間違わないように。 ちなみに対象のシートオブジェクトを取得したら、置換は1行コードで終わる。 ループよりは速いが、どのくらい速いかはCPU依存。
311 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 17:48:44 ID:5aDfYNEq] >>310 ありがとうございました!標準オプションなら↓だけで行けますね。 objApp.ActiveSheet.Range("A1").Replace <検索文字列>, <置換文字列> 後は各シートでコレを実行させました。十分実用に耐えるスピードです。
312 名前:名無し~3.EXE [2006/12/13(水) 22:14:37 ID:hw3Bn7Em] IEから右クリックで動作させるスクリプトなんですが、 その右クリックされた場所にある画像のURL(リンクではなくIMGタグ) を取得するにはどうすればいいでしょうか?
313 名前:名無し~3.EXE mailto:sage [2006/12/13(水) 22:49:12 ID:qNFDZs3m] external.menuArguments.document.elementFromPoint(external.menuArguments.event.clientX, external.menuArguments.event.clientY).href らしい。Irvine のスクリプトによると。
314 名前:312 mailto:sage [2006/12/14(木) 00:28:11 ID:7FtNx5qL] >>313 ありがとうございます
315 名前:名無し~3.EXE [2006/12/14(木) 00:29:42 ID:DjAdsCMN] InternetExplorer.Applicationとかの情報ってWSHのリファレンスに のってないけど、どっから情報獲ってくるんだ?
316 名前:名無し~3.EXE mailto:sage [2006/12/14(木) 00:42:56 ID:WjQ1wjr4] IE オブジェクトなら MSDN にいくらでもあるっしょ
317 名前:名無し~3.EXE mailto:sage [2006/12/14(木) 01:39:10 ID:XilSwh1W] >>315 つ OLEView.exe
318 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 09:32:44 ID:A0dC8xU5] 以下のようにした場合、メッセージボックス(?)が表示される前に コマンドプロンプト・ウインドウが表示されるのですが、結果の メッセージだけを表示させるにはどうすれば… ? Set objWshShell = WScript.CreateObject("WScript.Shell") Set objExecCmd = objWshShell.Exec("ruby\bin\ruby -Ks search.rb") WScript.Echo "検索結果:" & objExecCmd.StdOut.ReadAll
319 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 11:44:36 ID:H95I1sD8] rubyw.exe
320 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 14:04:16 ID:A0dC8xU5] >>319 ギガddd!
321 名前:スレッドを超えたコテハン mailto:sage [2006/12/17(日) 15:02:58 ID:EP+mDiGm] WSCの場合は、プロパティで定数を公開して、wsc.nameで定数を参照したほうが、 衝突の心配がないし、WSFだけでなく、VBSやJSでも使えてよさそうですが、 もし、nameだけで、参照したいときは、WSC側でreferenceメソッド作って、 function reference(Me){ Me['xxx']=111; Me['yyy']=222; } VBS側で wsc.reference me WScript.Echo xxx JS側で wsc.reference(this); WScript.Echo(xxx); とすれば、WSFだけでなく、VBSやJSからも使えます。
322 名前:名無し~3.EXE mailto:sage [2006/12/18(月) 14:59:23 ID:P40MScLH] WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。 今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。 なので、ProcessID指定で確実にSendKeysをしたいのです。 InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。 よろしくお願いします。 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プロパティから取得できる。
323 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 21:38:05 ID:4I7Im65l] マルチするならせめて一言断り入れとけよ。あとリンク。 つか IE オブジェクト使うなら大凡の操作は可能だと思うのだが。わざわざ SendKeys 使わんでも。
324 名前:名無し~3.EXE [2006/12/20(水) 02:32:54 ID:mM03wtmE] >>323 ファイルの指定したいんじゃないかな? 予想だけど。 >>322 <input type="file">以外の入力をしたいのなら、SendKeysなんて不安定なもの使わなくても Document.Allで取得したHTML要素のオブジェクトを直接操作できるよ。 DHTML関係で調べると情報が見つかると思う。 <input type="file">だけはセキュリティだか何だかで値を設定できないから仕方ないけど。
325 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 10:45:02 ID:RqDSiDAq] >>324 そうです。 SendKeys "%(FA)"とかでセーブしたり印刷などダイアログ操作もしたいんです。
326 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 13:00:07 ID:mrdk27Jg] >>322 WMI を使う。 www.microsoft.com/japan/technet/scriptcenter/process/scrpcs07.mspx
327 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 14:15:14 ID:RqDSiDAq] >>326 ありがとうございます。 IEが複数起動してた場合や別プロセスにチェックあった場合とかで試してレポートしますね。
328 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 19:15:52 ID:AUSJGC40] あっちのスレで質問に答えてる人が、こっちのスレを見たらどう思うだろうね。逆はどうだろう。 マルチするやつは、想像力のかけらもない、人を思いやる事のできない、最低の人種。
329 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 21:56:05 ID:hALWCcKZ] 痛い人はっけん伝
330 名前:スレッドを超えたコテハン mailto:sage [2006/12/21(木) 00:13:52 ID:Agf2Nj7H] >>328 というか、マルチの問題は、回答者の善意が無駄に捨てられていることだと思う。 そして、それが、本人より、それを見ているひとを刺激するのだと思う。
331 名前:名無し~3.EXE [2006/12/22(金) 15:58:35 ID:JvRzts1c] パワーポイントに画像 1.jpg 2.jpg... を並べて貼るのって自動化できないの?
332 名前:名無し~3.EXE mailto:sage [2006/12/22(金) 23:04:54 ID:jt8/BZlk] マクロ書けばいいんじゃないのか?
333 名前:名無し~3.EXE mailto:sage [2006/12/23(土) 12:28:39 ID:0ryoXlyK] html で書いて読み込みとか
334 名前:名無し~3.EXE mailto:sage [2006/12/23(土) 14:14:29 ID:N/gLsGdS] SendKeys()は?
335 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 16:17:49 ID:MwEmWwE0] >>103 つ subst
336 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 19:21:31 ID:YnXAl3Sk] 質問させて下さい。 var obFS,obFOL,colFile; var timestamp = ""; obFS = WScript.CreateObject("Scripting.FileSystemObject"); obFOL = obFS.GetFolder("f:\\"); colFile = obFOL.Files; var x = new Enumerator(colFILE); for(; !x.atEnd(); x.moveNext()){ timestamp = x.item().DateCreated } というコードを実行すると、 timestampに"Wed Nov 29 19:35:35 UTC+0900 2006"というようなのが返ってくるのですが、 ここからyyyymmddという形式の文字列を取り出すにはどうしたらよいのでしょうか。
337 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 19:23:16 ID:YnXAl3Sk] ↑環境はXPSP2、Windows Script5.6です。
338 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 19:55:35 ID:TReychuT] >>336 Dateオブジェクトの扱い方について学びましょう。 リファレンスにも載ってますよ。
339 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 19:57:26 ID:YnXAl3Sk] >338 var timestamp = new Date(x.item().DateCreated); ですね。いろいろいじっていたら閃きました。
340 名前:名無し~3.EXE mailto:sage [2006/12/27(水) 01:45:26 ID:uErdji5h] 既に開いてある IE のウィンドウのオブジェクトを、 子ウィンドウかどうかに関係なく所得するにはどうしたらいいでしょうか?
341 名前:名無し~3.EXE mailto:sage [2006/12/27(水) 11:51:57 ID:lsopXQRq] >>340 Set IEShell = CreateObject("Shell.Application") num = IEShell.Windows.Count For i = 0 to num - 1 WinName = IEShell.Windows.Item(i).LocationName WinPath = IEShell.Windows.Item(i).LocationURL Document.write "<tr><td>" & WinName & "</td>" Document.write "<td>" & WinPath & "</td></tr>" Next こんなんでどお?
342 名前:名無し~3.EXE mailto:sage [2006/12/27(水) 18:21:28 ID:Z9+O0XhD] >>327 レポートはどうしたんだろう?
343 名前:名無し~3.EXE mailto:sage [2007/01/04(木) 09:48:15 ID:pQA4Aeed] 少し前に、vbscriptをコンソール実行するのにcscript.exeに関連付けした.vbcというのを用意するという話があったけど これと同じように.wsfのコンソール実行版として.csfをcscript.exeに関連付けしたいんだけど、どうしたらいい? 単純に%SystemRoot%\System32\cscript.exe "%1" %*じゃエラーになるし、//Eに何を指定したら良いのか解らずお手上げ状態 wsfにはcscript.exeも関連付けされてるが、右クリックメニューからの選択は煩わしいのでvbcみたいに既定関連付けにしたいし cscript.exeで実行し直すスクリプト(>>294 のvbs版のようなもの)を書いてみたりもしたけど、やはり関連付けしちゃったほうがスッキリするので
344 名前:名無し~3.EXE mailto:sage [2007/01/05(金) 11:38:36 ID:IRXk0L1E] 普通に%SystemRoot%\System32\CScript.exe "%1" %*でいけるだろ? ちゃんとREG_EXPAND_SZにしてるか?
345 名前:名無し~3.EXE mailto:sage [2007/01/06(土) 22:39:45 ID:5TwI70x6] >>344 .wsfをcscript.exeに関連付けするんじゃなくて.csf(独自拡張子)をcscript.exeに関連付けする場合ですよ 本当に%SystemRoot%\System32\CScript.exe "%1" %*でスクリプトとして実行される? こちらはちゃんとREG_EXPAND_SZにしてるし、cscript.exeやwscript.exeに直接D&Dしても同じメッセージが出るので パスはきちんと通ってるし、コマンドも渡ってる
346 名前:名無し~3.EXE mailto:sage [2007/01/07(日) 02:58:46 ID:Jlib32pI] >>345 D&Dならこれじゃないの。 [HKEY_CLASSES_ROOT\WSFFile\ShellEx\DropHandler] @="{60254CA5-953B-11CF-8C96-00AA00B8708C}" しかし、cscriptでD&Dとはこれ如何に…
347 名前:名無し~3.EXE mailto:sage [2007/01/07(日) 06:47:22 ID:bXPc+IQY] >>343 うちもエラーが出る。メッセージは↓だろ。 > ファイル拡張子 ".csf" を持つスクリプト エンジンはありません。 解決方法はわからん。 >>346 スクリプトファイルにD&Dしたいんじゃなくて、 「スクリプトエンジンにD&Dしても同じエラーが出るから 関連付けのパスは間違ってないですよ」ってことだろ。
348 名前:名無し~3.EXE [2007/01/07(日) 14:19:39 ID:sB9LNE5a] 画像の容量やサイズを取得しJavaScriptで利用するにはどうしたらいいですか?
349 名前:名無し~3.EXE mailto:sage [2007/01/07(日) 14:30:59 ID:zkbC9oLK] >>348 >>3 の doodle とか使えるんじゃない
350 名前:名無し~3.EXE mailto:sage [2007/01/07(日) 17:31:26 ID:F4E+azH/] '標準的なJPEGファイルの画像サイズ取得 GetJpegSize "sample.jpg", x, y WScript.Echo "X=" & x & " Y=" & y Function GetJpegSize(filename, ByRef x, ByRef y) Set oStrm = CreateObject("ADODB.Stream") oStrm.Open oStrm.Type = 1 'adTypeBinary oStrm.LoadFromFile filename Do While (CvNum(oStrm.Read(1)) = &hFF) Select Case CvNum(oStrm.Read(1)) Case &hD8 'SOI Case &hD9 'EOI Exit Do Case &hC0 'SOF0 length = CvNum(oStrm.Read(2)) oStrm.Read(1) y = CvNum(oStrm.Read(2)) x = CvNum(oStrm.Read(2)) Exit Do Case &hDA 'SOS Exit Do Case Else length = CvNum(oStrm.Read(2)) oStrm.Read(length - 2) End Select Loop End Function Function CvNum(bstr) ' BigEndian For i = 1 To LenB(bstr) CvNum = CvNum * 256 + AscB(MidB(bstr, i, 1)) Next End Function
351 名前:名無し~3.EXE mailto:sage [2007/01/07(日) 18:57:51 ID:v/viW2rY] >>346 DropHandlerは既に設定してあるけど、問題はそこじゃないので >>347 エラーメッセージはそれです cscript.exe /?を見ても、//Eオプションの意味は書いてあるんだけど//Eオプションに設定出来る値とかは書いてないんだよね .wsf形式は固定エンジンじゃないけど.vbcも//E無しで関連付けすると同じエラーが出て//E:VBSを付けると解決するから これも//Eで解決しそうな気もするんだけど
352 名前:名無し~3.EXE mailto:sage [2007/01/17(水) 20:07:13 ID:0sN+rIEb] (・∀・∀・) (・∀・)サテオシゴト・・・ ε三三三三(; ・∀・)鯖マデオツカイ HTTP/1.1 304 Not Modified ( ・∀・)(・∀・ )オツカイオワリ 三三三三3 (・∀・∀・) ( ´∀`) 誰も書いてないよ (・∀・)カンリョウ!!
353 名前:名無し~3.EXE mailto:sage [2007/01/19(金) 16:29:22 ID:e+OFGk5J] 下のコードでVistaのファイルのプロパティ調べてみたら 266もあって笑った。 2000/XPだと40もなかったのに -------------------------------- var WshShell = new ActiveXObject("WScript.Shell"); var oShell = new ActiveXObject("Shell.Application"); var oFol = oShell.NameSpace( "C:\\" ); var str= ""; for( var i = 0; i < 300; i++ ) { str += i + ":" + oFol.GetDetailsOf( null, i ) + "\n"; } WshShell.Popup( str );
354 名前:名無し~3.EXE mailto:sage [2007/01/19(金) 18:26:35 ID:QaLFoFFk] WSFはデフォルトをCScript.exeにする。 WScript.exeで動かしたいときは、ショートカット(.lnk)を作って リンク先の頭にWScript.exeを入れる。
355 名前:名無し~3.EXE mailto:sage [2007/01/19(金) 18:56:22 ID:QaLFoFFk] >>348 >>356 の要領で26,27,28がサイズ
356 名前:名無し~3.EXE mailto:sage [2007/01/19(金) 18:58:08 ID:QaLFoFFk] 訂正 >>353 の要領で26,27,28がサイズ
357 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 00:20:12 ID:GPpR1ytY] >>353 の 207:雰囲気 なんじゃこりゃ
358 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 02:42:29 ID:ETgywjVO] envionment を直訳したのか?
359 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 12:57:54 ID:N7R7pz3V] envionment (なぜか翻訳できない)
360 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 14:38:04 ID:UE2i8MKk] //E:のエンジン名は可変だから、 ハードコーディングのcscript /?に書いてある訳ないわな ヘルプぐらいででわざわざレジストリを検索するのも面倒だし
361 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 15:25:54 ID:UE2i8MKk] >>359 ぐぐれ
362 名前:名無し~3.EXE [2007/01/20(土) 16:16:36 ID:XJ4mGjq5] >>359 つ r
363 名前:Jscriptで mailto:sage [2007/01/20(土) 17:23:56 ID:5Xd7S+Ct] Excel のブック中に、4月〜3月のシート名を持つワークシートがあり、 各シート名内の数字が全角か半角かはあやしいものとする。 セルA6から下方方向に半角数字で日付が記入してあり 対応する日の’C'から'G'のセルに行事予定が記入してある。 今日も含めて3日分の予定を WScript.Echo で表示する。 エクセル.xls ファイルとJscript.js ファイルは、d:\1 フォルダ内に置く。 という条件で、とりあえず動くものを作りましたが、 ここを直した方がスクリプトが簡素になるよとか、 「今日も含めて3日」間が、月の境界の場合は無視しているので その処理のアイデアとか コメントを下さい。 ttp://a-draw.com/uploader/src/up11825.lzh.html
364 名前:名無し~3.EXE mailto:sage [2007/01/20(土) 20:34:48 ID:8DNLMKa6] JScript使い始めて2日目のおいらが、勉強がてらリファレンス読みながら調べたことを書いてみる。 var XLS_FILE = WScript.ScriptFullName.replace(/\\[^\\]+$/, "\\sample.xls"); にすれば"d:\1"以外でも、同一ディレクトリにsample.xlsがあれば動く。 曜日はyday = "日月火水木金土".charAt(yday)の1行で済む。 正規表現使って(reはmonthから"^(?:10|10)月$"のようなパターンを作る) for(; !sub1.atEnd(); sub1.moveNext()){ if (sub1.item().Name.match(re) != null){ sh = sub1.item(); break; } } という感じで対象シートを変数に取得しておけば、 while(sumSheatnc.indexOf("1")>-1){ 〜 sumSheatnc.indexOf("月"+month +"月")+1))).Select; の約50行は不要だし ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3) を sh.Cells(i,3) と書ける。 半角数字はcharCodeAt+65248をfromCharCodeすれば全角数字になる 更に if (ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)>"") event+= ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)+" "; 以下の5行に相当するものが event = new VBArray(sh.Range(sh.Cells(i,3),sh.Cells(i,7)).Value).toArray().join("\t").replace(/\t+/, " "); の1行で書ける。(join(" ")でもいいと思うけど) 月越えの処理は、「2007年month月date+1or+2日」のgetMonthがmonthより大きければ次のシートに移る処理を書けば良いのでは? 2007/2/28の場合なら、2007/2/30を指定すれば2007/3/2を返すから、末日が何日かとか考えなくても月を越えたかどうか判断できる。 次のシートはWorksheets(sh.Index+1)って感じで取得すればいい。末尾シートの場合の例外処理をお忘れなく。
365 名前:名無し~3.EXE [2007/01/20(土) 23:24:24 ID:slWIhDIN] Excel上にVBAで書いたモジュールを jsやvbsから呼び出す方法ってあるんですかね? ぐぐってみたんですけど、わからんのですorz
366 名前:名無し~3.EXE [2007/01/20(土) 23:42:48 ID:Lkiodn1p] ネット中毒なっている若者はオナニーでもしておれ!!
367 名前:名無し~3.EXE [2007/01/21(日) 14:39:38 ID:fTYEC1jK] >>365 kwsk
368 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 16:02:19 ID:ilBf4mqg] >>364 ありがとうございます。参考にさせて頂きます。 正規表現のところは、こちらの能力の限界で、今分かっても数ヶ月のちには屁理屈を忘れてしまいそうなので ブラックボックスのまま置いておくか、wsh HELP ページや参考となるところのURL までコメントとして詳しく書き入れるか どうしよう。 ここも人が少なくなりましたね。サンプルソースコードは、2,3日後には消しますね。 でわ。
369 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 16:11:18 ID:eMwqitJ2] >>365 ttp://www.vector.co.jp/soft/win95/prog/se373991.html とか参考にならん?
370 名前:365 [2007/01/22(月) 00:19:18 ID:o8eRiI+8] >>369 返信ありがとうございます。 なんとか解決できないだろうかと、 会社の帰りに本屋でExcelマクロの本を読み漁って、 Application.run ってのが探してたものだとわかりました。 お手数おかけしました。
371 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 01:49:09 ID:15EbuWWs] 回避策はわかったのですが、 どなたか知っていたら教えてください。 <やりたい事>レジストリの値名が\から始まっているデータをRegReadで取得する方法 <環境>WinXP SP2 Pro/WSH5.6 <例>キー[HKLM\HARDWARE\DEVICEMAP\SERIALCOMM] 値名 \Device\Serial0 データ COM1 この場合は、「COM1」を取得したい <やった事>RegReadで簡単に取得できるだろうと思ったのですが、全然取れませんでした。 <回避策>reg.exeからはデータの取得が可能 Set objWSH = WScript.CreateObject("WScript.Shell") 'RegReadで取得失敗した例 'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\\Serial0") 'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\Serial0") 'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\\Serial0") 'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\Serial0") 'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\Device\Serial0") '回避策 WScript.Echo objWSH.Exec("reg query HKLM\HARDWARE\DEVICEMAP\SERIALCOMM /v \Device\Serial0")
372 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 01:51:52 ID:dZzOJZ4W] \は全部\\にしろ
373 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 02:01:31 ID:4m7yBxl6] 自己解決能力低すぎ ぐぐればわかるだろうに
374 名前:371 [2007/01/23(火) 02:26:27 ID:15EbuWWs] >>372 \でエスケープしてみたがダメだった。 値名が\以外なら、アッサリ取得できるのだが・・・ WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\\Device\\Serial0") WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\Device\\Serial0") >>373 すまん。ぐぐってもRegReadで取得する方法がわからかった。 WMIでならやれそうな気もするが、教えてくれまいか
375 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 02:53:05 ID:rRUN1PnK] ググれば解ることとはいえ、\のエスケープ方法はMSDNやダウンロード版ドキュメントのRegRead項目にに書いておくべきだよな。 でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。 \のエスケープは「可能なこと」だが、WScript.Shellのレジストリ操作はそれ以外に「不可能なこと」が多すぎる。 「不可能なこと」に直面したときにあたふたするよりは、WScript.ShellのRegRead、RegWrite、RegDeleteで出来ることも 全てWMIでやるようにしておいた方が遙かにいいだろ。数年前だとWIMの情報は少なかったが今はあふれかえってるし。
376 名前:373 mailto:sage [2007/01/23(火) 19:49:29 ID:4m7yBxl6] ああ、勘違いしてたよ。 それなら俺もわからんわ。 wmiでやるならWin32_SerialPort*あたりだろ サンプルなら ttp://www.activexperts.com/activmonitor/windowsmanagement/scripts/hardware/ports/ とかじゃない?
377 名前:371 [2007/01/23(火) 21:37:04 ID:15EbuWWs] >>375 、>>376 RegReadで\をエンコードする方法はあるんですね。 私はわからんかったので、 WMIのEnumKeysとEnumValueで実装し直しておきました。 レスサンクスでした。
378 名前:名無し~3.EXE [2007/01/24(水) 01:03:32 ID:ww8gbHgn] だれか教えて下さい。 WSHでマウス移動の自動化って出来るんですか? キー送信の自動化とか出来るんですか? ディスプレイカラーの値を読み込む事って出来るんですか? プリントスクリーンみたいな画像保存って出来るんですか?
379 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 01:59:45 ID:Yau2S1mD] できる。 できる。 意味不明。 できる。
380 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 03:40:31 ID:eGutPL5I] RegReadの代替、こんなのも Set Installer=CreateObject("WindowsInstaller.Installer") WScript.Echo Installer.RegistryValue(2,"HARDWARE\DEVICEMAP\SERIALCOMM","\Device\Serial0")
381 名前:名無し~3.EXE [2007/01/24(水) 07:39:03 ID:7G/RPQuZ] ありがとうございます。 ディスプレイカラーの値を読み込む事って出来るんですか? →24ビットカラーのRGBの値です。
382 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 18:16:25 ID:bulVaiB4] >>375 >でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。 >\のエスケープは「可能なこと」だが ほんと?聞いたことないな〜
383 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 20:31:04 ID:t8jFe24C] var str=prompt("str1","str2"); の代わりになるものが欲しいのですが、何かいい方法はないですか?
384 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 20:48:56 ID:ce6F4Ah9] どういう時に何が欲しいのかさっぱりだ
385 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 23:02:41 ID:Jx0Q5hq7] IEでは window.prompt が使えるけど WSH では使えないって 話じゃないか? VBScript だと InputBox 関数が使えるが、JScript だと 相当するメソッドはない。
386 名前:名無し~3.EXE mailto:sage [2007/01/29(月) 03:01:15 ID:RMea5nPo] そんなときはIEオブジェクト作ってprompt使う
387 名前:名無し~3.EXE mailto:sage [2007/01/29(月) 03:48:33 ID:Zhbkzilw] wsfにしてvbscriptで関数書いたらだめ? <job id="main"> <script language="VBScript"> Function vbinput( mssg, defi ) vbinput = InputBox( mssg, WScript.ScriptName, defi ) End Function </script> <script language="JScript"> function prompt( msasg, defd ) { if ( !msasg ) msasg = ""; if ( !defd ) defd = ""; return vbinput( msasg, defd ); } </script> <script language="JScript">
388 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 14:06:21 ID:io3AcPQD] htaでのjsでEnumeratorってつかえないの?
389 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 17:19:48 ID:2buUxDcl] つかえとるがな。
390 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 17:30:37 ID:l8a6AAPU] スレ違いと思うが、Enumeratorが使えるかどうかは、 コレクション側の仕様。HTMLでは使えないコレクションが多い てぇことじゃないの。インデクス使え。
391 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 19:04:18 ID:io3AcPQD] >>389-390 なるほど。 じつは、ファイル挙列したかったんだ。 インデックスつかえるのかー。ちょっとやってみる。
392 名前:391 mailto:sage [2007/02/02(金) 19:26:54 ID:io3AcPQD] うーん。ファイル数はあってるんだけど。 なんでVBSのfor eachはできるのにjsはできないんだろう・・・。それとも、また勘違いなのか。。。 一応残骸をはってみるけど、あきらめたーー! function EnumFileName(path){ var Names = new Array(); var Fso = new ActiveXObject("Scripting.FileSystemObject"); var Fo = Fso.GetFolder(path); // alert(Fo.Files.Count); var i=0; for(var i=0;i<Fo.Files.Count;i++){ var Fi = Fo.Files[i]; Names.push(Fi.Name); } return Names; }
393 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 19:34:39 ID:2buUxDcl] >>392 <html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>quote</title><script type="text/jscript"><!-- while (1){ try{ resizeTo( 0, 0 ); break; } catch(e){} } //--></script><HTA:APPLICATION id="hta" border="none" /><script type="text/jscript"><!-- //配列とオブジェクトの宣言 var strCmdLine = hta.commandLine, strHTADir if ( strCmdLine.indexOf('"') == 0 ) strHTADir = strCmdLine.match( /"(.+?)[^\\]+?"/ )[1]; else strHTADir = strCmdLine.replace( /[^\\]+?(?: .+)?$/, "" ); var objSFS = new ActiveXObject("Scripting.FileSystemObject"); var list = new Array(); var inFiles = objSFS.GetFolder(strHTADir).Files; //こうするとコレクションのすべての要素に対する繰り返しができるらしい var enumInFiles = new Enumerator(inFiles); while ( !enumInFiles.atEnd() ) { list.push( enumInFiles.item().Name ); enumInFiles.moveNext(); } //まとめて出力 var dialogMessage = new String( inFiles.count ); for (i in list) dialogMessage += "\n" + list[i]; alert( dialogMessage ); close(); //--></script></head><body></body></html> 学習用にスクリプトと同じディレクトリ内のファイルを列挙するWSHを作ったのが残ってたのでHTAにしてみた。 参考になるか知らないが。whileのところはforでもおk。
394 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/02/02(金) 19:50:11 ID:fKLh6VfE] >>392 (ちょっと、>>393 とかぶるけど) 7行目の var i=0; は不要。 それに、JScriptではforステートメントの制御変数は宣言しないのが流儀。 for( i=0; i<Fo.Files.Count; i++ )でOK. ↓みたいな感じでやるといいよ〜 var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.GetFolder(path) var fc = new Enumerator(f.files); var names = new Array(); for (; !fc.atEnd(); fc.moveNext()){ names.push( fc.item() ); }
395 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/02/02(金) 20:08:35 ID:fKLh6VfE] var f = fso.GetFolder(path); // →正 var f = fso.GetFolder(path) // →誤:文終了子がない ね。わざわざ訂正する必要もないと思うけど、一応。
396 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 20:14:21 ID:pU/AdnT5] i をグローバルで使うのってどこの流儀?
397 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/02/02(金) 20:29:13 ID:fKLh6VfE] >>396 function test(){ for( i=0; i < 5; i++ ){ } } WScript.Echo( i ); 試しに↑を走らせてみて。6行目の i は宣言されていないとエラーが出るはず。 つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。 もちろん、どうしても気持ち悪いなら for( var i=0; ……と書いても構わない。
398 名前:392 [2007/02/02(金) 21:33:58 ID:io3AcPQD] >>393-395 おまえら!ほんとうにありがとう。できました! 後はエラーチェックとか必要に応じて追加すれば完了だ!! で、以下のようになったよ。 function EnumFileName(path){ var Names = new Array(); var Fso = new ActiveXObject("Scripting.FileSystemObject"); var Fo = Fso.GetFolder(path); var EnFiles = new Enumerator(Fo.Files); // alert(Fo.Files.Count); var i=0; for(; ! EnFiles.atEnd();EnFiles.moveNext()){ Names.push(EnFiles.item().Name); // alert(EnFiles.item().Name); } return Names; }
399 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 22:56:36 ID:4UL0tw6S] Enumerator の作成を for の初期化節でやるのって少数派なんだろうか for (var e = new Enumerator(list); !e.atEnd(); e.moveNext()) {
400 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 23:04:02 ID:2buUxDcl] 省略が好きな人はやるんじゃない? 自分の場合はそのときの気分。
401 名前:名無し~3.EXE [2007/02/02(金) 23:07:19 ID:KzBlSYpP] htmlをぶっこ抜く時に 1.CreateObject("MSXML2.XMLHTTP.4.0") 2.CreateObject("InternetExplorer.application") とかあると思うんだけど、君らならどっち使う。 それとそれぞれのメリット・デメリットあれば教えて下さい。
402 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 00:12:55 ID:ZQXI4k07] >>397 あまり知ったかはしない方がいいよ。ボロが出るから。 > つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。 実行コンテキストが違うからだろ。 悪いことは言わん、スコープチェーンの勉強でもして出直して来い。 ちなみに>>398 の var i=0; はマジで余計だな。単なる消し忘れだろうけど。
403 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 00:26:29 ID:ZQXI4k07] いや、俺は俺で変なこと書いてるな。 >>397 の例で、最終行で i を参照出来ないのは そもそも関数 test() を1度も呼び出していないからだよ。 試しに function test(){ for( i=0; i < 5; i++ ){ } } test(); WScript.Echo( i ); でやって味噌。これでもエラー出る? この時 i は立派にグローバル変数になっているよ。 スクリプト中のどこからでも参照出来る。
404 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/02/03(土) 00:44:08 ID:yTQ/iH6h] >>403 試しに var i=100; function test(){ for( var i=0; i < 5; i++ ){ } } test(); WScript.Echo( i ); でやってみた。うん、明らかにグローバルになってるね。一つ利口になった。ありがとう。 ってか、ドキュメント等で悉く宣言省略されてるから無意識にローカル変数になるものと思ってたよ。 なんか、自宣言省略できたり勝手に型変換されたりといったJScriptの仕様は、 逆に難解だよね。
405 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 03:11:51 ID:pDHMAoqQ] >>404 「変数の宣言を明示的に行わなければグローバル変数になる」と覚えておけば 問題ないよ。 ややこしいのは for なんかのブロック内で宣言したとき。JavaScript では 変数のスコープはグローバルか関数内かの2つしかない。 (最新版では違うらしいけど。) for(var i=0; ... みたいにブロック内で var を書いても、これは関数あるいは スクリプトの先頭でvar したのと同じこと。 >ドキュメント等で悉く宣言省略されてるから は、宣言したらブロック内スコープを持つものと開発者が勘違いしてバグるの を心配してのことかも。 横着するには便利んだけどね。関数内で for ループ書くときに、いちいち 関数の先頭でカウンタ変数を宣言しないですむから。
406 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 03:36:27 ID:5xiUQTdM] letが使えんからな。
407 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 20:43:52 ID:In8o1+SV] 匿名関数の中から外部のローカル変数を参照してるクロージャとかもややこしい。
408 名前:名無し~3.EXE [2007/02/04(日) 09:01:18 ID:pYYZVU6i] MSXML2.XMLHTTPで Open "GET", URL, True と非同期実行した場合、readyStateで通信状態を取得できますが、これをWinHttp.WinHttpRequestで 実行した場合、通信状態はどのようにして取得したら良いのでしょうか? 主要なメソッド、プロパティは共通のようですが、readyStateに該当するものが見つけられずに困ってます。 OSはWindowsXP SP1、WSHは5.6、WinHttp.WinHttpRequestは5.1です。
409 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 13:16:16 ID:XUYfkIsH] 試してないしドキュメントにもどうなるのか書いてないけど、 WaitForResponse をタイムアウト 0 で呼び出してみるとか?
410 名前:名無し~3.EXE [2007/02/04(日) 14:49:19 ID:/70Bq45h] 誰か>>401 お願いします
411 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 16:38:11 ID:Lw9wofTu] >>410 2だと画像などの付属品もダウンロードしてしまう。
412 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 21:47:54 ID:MbUYtnwe] こんちわー。 htaで揮発性環境変数(PATH)の設定をするために以下のようにコードを書きました。 ネットを回って得たものなので根拠とかが欠落してます。@@; それで、ですね。 tagに環境変数名をいれてParhに場所を記述したものをOSに登録したいのですが、下のコードではうまくいきませんでした。 どのように書けばうまくいきそうですか? function AddSystemPath(tag,path){ //var WshShell = WScript.CreateObject("WScript.Shell"); var WshShell = new ActiveXObject("WScript.Shell"); var WshEnv = WshShell.Environment("VOLATILE"); if( tag.toUpperCase() == "PATH" ){ WshEnv.Item(tag) = WshShell.ExpandEnvironmentStrings("%Path%") + ";" + path; }else{ WshEnv.Item(tag) = path; } } これができたら次のステップにいけるんですー。 作ってるのは簡易版GUI似非Makeです。
413 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 22:12:37 ID:JVVlKIId] >>411 1.だとhtml以外は取得しないということですね。ありがとうございます
414 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 23:37:47 ID:3x53LZg+] >>412 よくわからんが、 pathに登録したいならレジストリ直接弄ればよいんじゃね?
415 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 00:29:38 ID:vT9R2Dhh] >>414 うわ。それは勘弁してください。 "VOLATILE"指定すれば、遺恨も残らないということらしいので、便利だなーとおもったんですけど。 うーん、前途多難ですねぇ。基本機能はほぼできててあとこれだけなんですよ。 まぁ、いいや。またきます。 おやすみなさいー。
416 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 00:37:29 ID:xw+mOdqs] 勘弁も何も一番簡単だろ。
417 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 01:22:47 ID:fqy0z/kI] 揮発性の意味・意義をわかってない奴がいるな
418 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 01:59:52 ID:ybbbBATF] 揮発性環境変数も保持される場所はレジストリであることを知らないのかな?
419 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 02:19:32 ID:xw+mOdqs] HKEY_CURRENT_USER\Volatile Environment
420 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 02:54:38 ID:xw+mOdqs] function AddSystemPath(tag,path){ var WshShell = new ActiveXObject("WScript.Shell"); var WshEnv = WshShell.Environment("VOLATILE"); WshEnv.Item(tag) += ";" + path } いろいろやってみたけどこれで十分じゃね?
421 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 03:40:16 ID:ttc4Lfai] >>412 MSDN見たら、PATHとかの予約されてる環境変数はVolatileは 使えないと書いてある。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsproenvironment.asp けど、今試したらうまく動いた。(WinXP) しかもわざわざ既存のPATHに追記しなくても、追加したいパスを指定 するだけでマージされる。 (考えてみればSystemとUserのPATH環境変数もそんな関係だ。) うまくいかないのは、すでに動いてるプロセスに反映させたいと思ってるから とかではない? SystemだろうがVolatileだろうが、環境変数の反映は新しいプロセス から有効だよ。
422 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 16:49:35 ID:vT9R2Dhh] >416-421 皆さんありがとう! えっと、VOLATILEでもレジストリに登録されるのは知りませんでした。 >>420 をやってみたところ、>>419 の場所に登録はされてるんですけど、 >>421 にあるように、登録したHTAには反映されてないのかもしれません。 Terapadで書いてはメニューから起動って感じにやってるんですけど・・・。 あ!ってちょっと実験・・・。うげ!できた。 ……なんか、起動もと(Terapad)のPath設定を受け継いでたみたいです。。。 エディタ再起動したらうまくいきました。なんてこった。 結局>>421 の"すでに動いてるプロセスに反映させたいと思ってるからとか"の部分でした。 お騒がせしました。 ・・・しかし、これはちょっと不便だなー。
423 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 19:47:41 ID:0J0/Livg] 普通に bat に書き出して実行した方が早いんじゃないかな・・・
424 名前:422 [2007/02/05(月) 21:50:23 ID:vT9R2Dhh] 結局それがベターなのかなー。 車輪を知るには車輪を再発明するのが一番!とかわけのわからんことをのこしつつ、 そっちの方向を模索してみますー。スクリプトいじりすぎて動かなくなったことだし。。。@@; さて、皆さんどうもありがとう。;D
425 名前:422 mailto:sage [2007/02/05(月) 22:45:24 ID:vT9R2Dhh] ああそうそう。 危険な残骸ほしい人います? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3613.zip 超危険だしめちゃくちゃ汚いから、扱いには注意してください。 そういうわけでまたどこかで!
426 名前:名無し~3.EXE [2007/02/07(水) 16:45:15 ID:AYyF197a] xmlhttpでsetRequestHeaderでIf-Modified-Since付けてsendすると何十分経っても応答こないサイトがあるんだけど、なんで?
427 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 20:48:05 ID:CeKP5txc] URL プリーズ
428 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 21:51:07 ID:0PYxyQ85] ダウンローダ対策かな
429 名前:名無し~3.EXE mailto:sage [2007/02/08(木) 13:22:42 ID:R1J4DUrt] 「Volatile」(「揮発性の」という意味)は、現在のログオン・セッションのみに適用さ れる。名前が示すとおり、Volatile環境変数は一時的に使われるもので、ログオ ン中のユーザーがログオフしたり、コンピュータを再起動したりすると、変更した内 容は変更前の内容に戻る。
430 名前:名無し~3.EXE mailto:sage [2007/02/08(木) 16:44:18 ID:d3kjRTBg] で?
431 名前:名無し~3.EXE mailto:sage [2007/02/09(金) 11:30:07 ID:fnbavqX5] >>430 「Process」は、現在のプロセスにのみ適用される環境変数である。Process環境変数は、 コマンド・プロンプトが終了するなど、現在のプロセスが終了すると、変更内容が元に戻る。 変数 System User Volatile Process NUMBER_OF_PROCESSORS ○ × × ○ PROCESSOR_ARCHITECTURE ○ × × ○ PROCESSOR_IDENTIFIER ○ × × ○ PROCESSOR_LEVEL ○ × × ○ PROCESSOR_REVISION ○ × × ○ OS ○ × × ○ COMSPEC ○ × × ○ HOMEDRIVE × × ○ ○ HOMEPATH × × ○ ○ PATH ○ × × ○ PATHEXT ○ × × ○ PROMPT × × × ○ SYSTEMDRIVE × × × ○ SYSTEMROOT × × × ○ WINDIR ○ × × ○ TEMP × ○ × ○ TMP × ○ × ○ 環境変数の種類と利用できる変数(○=利用可、×=利用不可)
432 名前:名無し~3.EXE mailto:sage [2007/02/09(金) 12:21:51 ID:Z70kHm//] で?
433 名前:名無し~3.EXE mailto:sage [2007/02/09(金) 16:47:48 ID:/+8ALF64] コピペばかりで何が言いたいやら。
434 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 00:58:40 ID:XFBIDHB0] おいらみたいなスクリプトをちょっといじるだけの人間には逆にありがたいが・・ 検索してもちゃんとわかりやすく解説してるサイトとかなんか見かけないし(;´д`) WSHのドキュメントには>>431 みたいなこれが使える使えないの表とよく分からんコメントがちょろっとしかないし
435 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 12:30:23 ID:tgvQIzzh] 検索の能力が無いんじゃないか? www.microsoft.com/japan/technet/scriptcenter/default.mspx
436 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 14:17:35 ID:83xaTx2C] おせーてください。 var A = new Date(); ってやると DateオブジェクトのインスタンスへのポインタがAに格納されるのかなと 思ってるんです。 だからもう一回 A = new Date(); をやると 新しいDateオブジェクトのポインタがAに入りますよね。 ということは1回目のDateオブジェクトの確保されたメモリの開放は されてないんじゃないの?と思ったわけです。 メモリの開放はする必要はないのでしょうか? そもそも認識誤り? ループで数万回newを実行するのが怖い・・。
437 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 15:10:40 ID:XTg9OO+A] >>436 やってみれ
438 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 15:41:54 ID:jfeZcFaS] >>435 そんな入り口じゃなくてSystemとUserとVolatileとProcessの違いを書いてるところを直接貼れですぅ それかおまいがさっさとSystemとUserとVolatileとProcessの違いを「素人に毛が生えた程度のヤツにも」「わかりやすく」教えやがれですぅ
439 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 15:58:54 ID:83xaTx2C] >>437 やってるんですよ、でリソースエラーで落ちてるんで コードを見直しすと もしかしてこのせいではと思ってるんです。 MSのサイトみてもdestroyメソッドなんてないし・・・
440 名前:そのまま System User Volatile Process でググレ、カス。 mailto:sage [2007/02/11(日) 16:29:15 ID:tgvQIzzh] >>438 ググルこともできない奴は、「 あ き ら め れ 」
441 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 22:42:10 ID:gLg6x3i4] >>436 参照が外れた時点で自動的に解放されるので大丈夫。 while (true) { var A = new Date(); } とか実行してみればわかるけど、メモリ使用量は増えずに一定。 ただし、 var A = [], i = 0; while (true) { A[i++] = new Date(); } とかやったら、いつまで経ってもオブジェクトは解放されず、 メモリ使用量はガンガン増える。
442 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 23:18:15 ID:GhIBrlc6] >>436 GCは自動 強制的にnull代入したり、deleteする必要があるのはまれ
443 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 02:04:02 ID:3LVpBfdW] なんでここで GC の話がでてくるんだろうか...。
444 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 02:08:09 ID:QgYwe6Xo] >>439 HTAでかけるならHTAで書いてみてみ。 実行速度云々のダイアログが出るなら何か間違ってるから。
445 名前:436 mailto:sage [2007/02/12(月) 08:05:03 ID:731Di+ID] いやー、皆様ありがとうございます。 441さんのやり方でテストもしてみて確かに増えないですよね。 参照がはずれると自動開放ということで安心しました。 ということは、他の部分で落ちているということですので 444さんの教えどおりHTAで書いて試してみます。 助かります!
446 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 11:53:33 ID:9qzGp9MR] >>443 勉強が足りない
447 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 12:00:38 ID:0DSgfs+L] >>443 参照されていないオブジェクトのメモリを回収するのは GCのお仕事だからだよ。
448 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 12:03:44 ID:gVWGPkUz] GC を任天堂のゲーム機だと思ってしまった、とか
449 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 12:04:57 ID:QgYwe6Xo] がべぃじこれくたー
450 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 17:24:26 ID:Zi22y/xv] WSH、得意なのはバッチ代わり? ちゃんとしたアプリは作れない? んなことなくてVBで作れるようなものはたいがい作れる? GAMEとかシューティングのようなものとか。
451 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 17:41:02 ID:gVWGPkUz] まあ止めといた方が良いだろう
452 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 17:56:40 ID:Zi22y/xv] ぶっちゃけ、これでGAMEとかRPGとか作れるのかなあと。
453 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 18:02:05 ID:Zi22y/xv] >>451 レスありがとう。更新しなくて書いたのですれ違いすいません これってある意味無料だから、修得したら便利かなって。 GAMEが作れるなら、シューティングとかRPGが作れるなら、たいがいのものは 作れるだろうと思ったんですよ。 GAMEにかぎらず、ちょっと目立つようにJPGを重ねたり動かしたりとかいうのは 良くあるでしょうから。 やめといたほうがいいんですね 有り難う御座いました
454 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 18:06:21 ID:hmPAvRl0] >>450 jsやvbsなどのスクリプト言語でGUIツール使いたいならWSHではなくHTAの方がいいよ。 「GAMEとかシューティングのようなもの」というのがどの程度のものを想定してるのか知らないが HTAならスキル次第でそこそこのGUIツールが作れる。WSHでもIEのインスタンス作ればどうにかなるけどね。
455 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 18:09:35 ID:9qzGp9MR] >>453 できるけどEXEのほうが高速かつ無難 玄人じゃないと高速なゲームを作るのは難しい JavaScript製のブラウザゲームがどの程度、同内容のEXEのゲームと張り合えているのか考えるとよろし
456 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 18:19:38 ID:gVWGPkUz] VS すら無料の時代だぜ?
457 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 19:25:32 ID:3LVpBfdW] >>447 論点はそこじゃないだろ。 しょぼい知識を披露したかったのか? (w
458 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 19:36:20 ID:WOrUc4U6] ろっ、ろんてんはどこなの〜〜??
459 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 21:20:57 ID:PkhDhK5r] オレ論点 w
460 名前:名無し~3.EXE mailto:sage [2007/02/12(月) 21:28:27 ID:QgYwe6Xo] ガベージコレクションは自動。って書いてりゃ良かったのだろう。 >>441 と本筋は同じだすね。がべーじこれくたーってのを説明にまじぇただけで
461 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 02:30:05 ID:Ep5PwYrj] 意外と知られていないが、Microsoft JScript には undocumented な CollectGarbage() なる関数が存在する。 ただ、よっぽどのことでもない限り、使用すべきではないでしょう。 (通常、生涯使う機会がないと思うけど)support.microsoft.com/kb/164494 support.microsoft.com/kb/266088/EN-US/
462 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 02:36:55 ID:Ep5PwYrj] > 関数 メソッドですた。
463 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 03:57:12 ID:3QRyx/IL] なんかJavaScriptでFPS作るデモがあったような気がするが
464 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 10:24:15 ID:h83QHOwZ] >>454 >>455 レスありがとう! PDAのスマートフォンであるX01HTやシグマリ3やW-ZERO3で 動くWSH方式のNSBASICというのがあるんですよ。これがほとんどWSHと 文法も同じ。だからWSHを覚えようかなあと。WindowsCE上でも開発できるし。 GAMEを作るにしても作るレベルは、昔MSXで作っていたレベルです。出来れば 当時は線画で3DRPGやシューティングを作っていましたが、これをRPGなら面画で3D表示 できればいいなあと。 市販するとかシェアウエアレベルのものなんて求めていないですから、 当時のBASICなみに気軽にサンデープログラミング出来るのかなあとWSHが。 その程度のものなら出来るというのであれば、WSHアマサンデープログラマーの仲間入り したいんですが。長々とすいません。
465 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 10:25:52 ID:h83QHOwZ] ぐぐってみたんですが、WSHの入門サイトは引っかかったんですが 作った作品のスクリーンショットを公開してるサイトがめっからなくて。 だからWSHがどのくらいの目安を持っているのか、分からなかったんですよ
466 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 12:32:37 ID:XbSpjXDZ] そりゃWSHのGUIってメッセージボックス程度しかないから スクリーンショットを公開してるとこはないだろうね。
467 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 13:40:11 ID:RyIkaJG+] メッセージボックスで何か作れる?
468 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 14:43:18 ID:7IiMzH02] 「はい」の時に[いいえ]ボタンを、「いいえ」の時に[はい]ボタンを押す、 メッセージボックスによる反射神経ゲーム。 var max = 10; // 回数。 var objWSHShell = WScript.CreateObject("WScript.Shell"); var arr = new Array("はい", "いいえ"); var answer, rnd, i; var time = (new Date()).getTime(); for (i = 0; i < max; i++) { rnd = (Math.random() + "").substr(2, 1) % 2; answer = objWSHShell.PopUp(arr[rnd], 0, "[ はい / いいえ ] 反射神経測定", 36); if (rnd + answer != 7) break; // お手付きにつきゲーム終了。 } if (i == max) { // 全問正解。 WScript.Echo("全問正解!\n\n掛かった時間: " + ((new Date()).getTime() - time) / 1000 + "秒"); } else { // お手付き。 WScript.Echo("お手付き!\n\n成功回数: " + i); }
469 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 16:34:20 ID:RyIkaJG+] >>468 4.469でした
470 名前:名無し~3.EXE [2007/02/13(火) 20:28:04 ID:OHI0QKKv] なにげに良展開あげ
471 名前:名無し~3.EXE mailto:sage [2007/02/13(火) 22:00:53 ID:RyIkaJG+] 「3 < 7-5」みたいな式が正しいかを答える var max = 5; var WshShell = WScript.CreateObject("WScript.Shell"); var getX = [function () {return String(Math.floor(Math.random()*9)+1);}, function () {return this[0]()+(Math.floor(Math.random()*2) ? " + " : " - ")+this[0]();}]; do { var time = new Date().getTime(); for (i=0; i<max; i++) { var question = getX[Number(i>3)]()+" < "+getX[Number(i>1)](); var answer = WshShell.PopUp("この式は正しい?\n\n"+question, 0, "不等式", 36); if (answer == 7 == eval(question)) break; } } while (WshShell.PopUp("( "+i+" / "+max+" ) "+(i == max ? "全問正解!" : "お手付き!") +"\n経過時間: "+((new Date().getTime()-time)/1000)+"\n\nまだ続ける?", 0, "Result", 36) == 6);
472 名前:名無し~3.EXE mailto:sage [2007/02/14(水) 20:44:58 ID:R5pO5sAJ] ダブルクォーテーションを文字としてコマンドライン引数に渡し、 "ARG ARG" となることを期待して cscript example.vbs "\"ARG ARG\"" と実行したのですが、 WScript.Arguments(0)が勝手にダブルクォーテーションを削除しているのか、 ARG ARG としてしか受け取れません。 もうよくわからず、 cscript example.vbs "\"\"ARG ARG\"\"" などとして二重にしてみたりしたのですが当然だめでした。 ものすごく初歩的なことな気がするのですが、検索しても解決できません…。 どなたかお教えいただけないでしょうか。
473 名前:名無し~3.EXE mailto:sage [2007/02/14(水) 20:49:03 ID:eKYTLQYh] ^
474 名前:名無し~3.EXE mailto:sage [2007/02/14(水) 20:56:11 ID:R5pO5sAJ] >>473 おお、素早い返事ありがとうございます。 最初はキャレットでエスケープしたのですがだめでした。 また、結果の表示を間違えて書いてしまいました。 詳しく状況を説明すると、 WScript.Echo WScript.Argument(0) WScript.Quit() という、example.vbsを作成し、コマンドラインから cscript example.vbs "\"ARG ARG\"" を実行すると「\ARG」と表示されます。 また、この円マークをキャレットに変更すると「^ARG」と表示されます。 単純にダブルクォーテーションが削除されて、空白で区切られてしまっているように見えます。
475 名前:名無し~3.EXE mailto:sage [2007/02/14(水) 21:45:33 ID:BFGnaiNb] プレフィックスエスケープではなくエンコードエスケープすれば良いのでは? 可逆で有ればなんでも良いわけだが、全体変換ではなく部分変換なら実態参照がいいかも。単純にやるなら 実行:cscript example.vbs ""ARG ARG"" 変換:WScript.Echo Replace(WScript.Arguments(0), """, """") 更に"を&"でエスケープ出来るようにするなら、組み込み関数のReplaceではなく 正規表現で「s/(?<!&)"/"/g」だな。但しVBScript.RegExpでは後読み「(?<!…)」が使えないので VBScript.RegExpでやるとすれば「s/(^|[^&])"/$1"/g」って感じかな。 引数の中に'が使われないとするなら 実行:cscript example.vbs "''ARG ARG''" 変換:WScript.Echo Replace(WScript.Arguments(0), "''", """") でもいいし。 ただ、WshShellのRunなどで使うだけなら、普通に"ARG ARG"を渡して、 スペースが含まれてたら""で囲う処理を用意した方が良いと思うけど。
476 名前:名無し~3.EXE mailto:sage [2007/02/14(水) 22:12:22 ID:R5pO5sAJ] >>475 おおなるほど、別の文字を変換するのですか。 ついダブルクォーテーションを渡すことばかり考えてしまいました。 実体参照では見通しが悪りそうなので、 シングルクォーテーションを重ねる方法を頂きたいと思います。 単純なショートカットを作成するスクリプトを作りたかったのですが、 ショートカット先へ渡すコマンドライン引数にスペースが含まれることがあるので、 それをダブルクォーテーションで囲みたかったため、この文字をそのまま出力する必要がありました。 おかげさまでなんとかなりそうです。 どうもありがとうございました。助かりました。
477 名前:名無し~3.EXE mailto:sage [2007/02/15(木) 23:32:27 ID:wVnZTfYP] >>463 JavaScriptでウィンドウズGUIを再現してるのを見たことはあるな。 まあよっぽどJavaScriptでやるメリットが無い限りはわざわざ選ぶモノでもないけど
478 名前:名無し~3.EXE mailto:sage [2007/02/19(月) 03:18:56 ID:2jm0n8Yc] 質問です。VBSで標準出力に文字列を出力したいのですが、 WScript.StdOut.Write "hoge" で「ハンドルが無効です」とエラーが出ます。 また WScript.Echo も標準出力にならず、ウィンドウに文字列が表示されます どうすれば標準出力に出力できるのでしょうか?
479 名前:名無し~3.EXE mailto:sage [2007/02/19(月) 03:53:42 ID:Ea8qR7RP] >478 wscript.exeではなくcscript.exeでvbsファイルを実行する。
480 名前:478 mailto:sage [2007/02/19(月) 03:55:55 ID:2jm0n8Yc] >>479 上手くいきました。 どうもありがとうございます。
481 名前:名無し~3.EXE mailto:sage [2007/02/19(月) 23:36:26 ID:J+D6xycq] 【正社員募集】ドワンゴ大卒未満限定で技術者採用【学歴重視】 pc10.2ch.net/test/read.cgi/prog/1171868043/79 で、「windows script host(Jscript) でがんばっている俺は却下ですか?」 ってカキコしても誰にも相手にされんかったわ。
482 名前:名無し~3.EXE [2007/02/23(金) 11:26:09 ID:GFWOF5op] IPアドレスやホスト名リストを読み込んで、nslookupを実行し その結果を表示させながら、ファイルに書き出すようにしたいのですが まったく検討がつかないので方法をお教えください。
483 名前:名無し~3.EXE mailto:sage [2007/02/23(金) 11:48:25 ID:zLQ4KMwL] >>482 nslookupというものを知ってるなら、あとはWSHのヘルプ(Windows Script 5.6 ドキュメント)を読めば解ることです。 ヘルプ読んでも解らないと言うなら、日本語を理解できないと言うことだからここで日本語の説明をしても無駄だろうし、 コード書いてくれなんてのはスレ違いなので、あとは自分で頑張りましょう。
484 名前:名無し~3.EXE mailto:sage [2007/02/23(金) 12:06:25 ID:soUk2p3d] >>483 うつ病に頑張れは禁句
485 名前:名無し~3.EXE mailto:sage [2007/02/23(金) 13:58:27 ID:0m+mdoh4] >>483 日本語が理解できない場合はそのレスも理解できないわけだが
486 名前:名無し~3.EXE mailto:sage [2007/02/24(土) 15:06:35 ID:wTaW1+v2] >>482 プログラム書けないやつが本も何も読まず、wshを使えばできると 聞きかじり、2chで人に書いてもらおうなんてあさましいな・・ サイテー
487 名前:名無し~3.EXE [2007/02/24(土) 21:44:51 ID:M2W6NVuE] >>482 詰まっている段階が分かりにくいのですが、ここが参考になりませんか。 www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_03.html #煽るだけの奴は消えろ。 #見苦しい。
488 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 00:20:31 ID:EQ4Q9T2k] #のコメントで後書きする人って何なの
489 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 05:58:51 ID:pI2XMlMi] 煽るだけの奴とか言うけど、 例え質問に答えてもフレームを混ぜる奴は同類です。
490 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 15:09:54 ID:xOojygct] >>488 /.er
491 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 17:49:13 ID:TzBAKqFp] スラドなんかよりもはるかに古い文化ですけど
492 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 20:16:34 ID:Bn9vmEGX] おもしろおかしい
493 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 22:09:24 ID:3p3uGprt] /. はたまにのぞくけど、独自の文化(オフトピなのでACとか)が育ってて 2chやってると違和感があるんだよなー # オフトピなのでAC
494 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 22:16:35 ID:d5QT1Xvl] しかし何故コメントが # 開始なんだろう? WSH と言うとやはりメインは VBS か JScript。 ' か // が基本だと思うのだが。PerlScript もあるけどさ。
495 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 22:47:15 ID:+XEJRyC1] /* >>496 以降のレスは全てコメントアウトされる。ざまぁカンカンw
496 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 22:48:21 ID:H3CLTB50] */ 再開↓
497 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 22:51:57 ID:V5hQEo4p] ×>>496 以降のレスは全てコメントアウトされる。 ○>>496 以降、最初の */ までのレスは全てコメントアウトされる。 だな >>496 乙
498 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 23:43:00 ID:H3CLTB50] >>495 だけが見事にコメントアウトされた件
499 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 00:07:50 ID:ybuIjVJ6] ワラタ
500 名前:名無し~3.EXE mailto:sage [2007/03/01(木) 08:41:46 ID:Snwf3Oai]
501 名前:名無し~3.EXE mailto:sage [2007/03/02(金) 20:17:06 ID:imQofTdk] こういう流れになると絶対過疎るなw
502 名前:名無し~3.EXE [2007/03/05(月) 22:13:49 ID:pkRZSKvF] 以下のダイアログで 自動的に送信しない を選びたいのですが、どうすればいいのでしょうか? ------------------------------- 問題が発生したため、**を終了します。ご不便をおかけして申し訳ありません。 この問題をMicrosoftに報告してください
503 名前:名無し~3.EXE mailto:sage [2007/03/05(月) 22:35:25 ID:70huv0vk] 俺ならダイアログを出ないようにするな。
504 名前:名無し~3.EXE mailto:sage [2007/03/06(火) 19:21:09 ID:jTn4SU/3] JavaScriptスレにて、 40 :Name_Not_Found :sage :2007/03/06(火) 18:53:49 ID:??? 指定したURLからhtmlソースを取得して、 その中から指定した文字列を含むlength個の文字列を抽出し 取得順に配列str[i]に格納しWScript.Echoで出力するプログラムを 今日中に作らないと卒業できなくなるんですが 友達いないボクには無理です神様タスケテクダサイ というのが来たから誘導しましたwwwよろしくwww
505 名前:名無し~3.EXE mailto:sage [2007/03/06(火) 19:26:41 ID:7bsQ1z2v] 知るかボケ
506 名前:名無し~3.EXE mailto:sage [2007/03/06(火) 21:28:29 ID:rVrCV3Y3] そんなんで卒業できるなんてどこの中学だよ
507 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 00:18:40 ID:vyb0FCD/] >>506 卒業できなくなるとは書いているが、卒業できるとは書いていない。
508 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 00:27:14 ID:mpEBXn45] つまり必要条件であって十分条件ではないと
509 名前:名無し~3.EXE [2007/03/07(水) 01:24:08 ID:Dw1HeTg9] 今ieで見ているページを、そのアドレスをfirefoxに送って別に起動するようなieのブックマークレットを誰か作ってください。 自分で考えるのが億劫になりました。 あ゙ーー、もちろん普段はieのスクリプトは切ってます。よろです。
510 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 01:29:00 ID:mpEBXn45] そんな事がブックマークレットでできたら、とっくにウィルス漬けです。
511 名前:名無し~3.EXE [2007/03/07(水) 02:07:24 ID:Dw1HeTg9] えーできねの。 じゃ、ツールボタンで。
512 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 02:09:30 ID:kgCU6w5M] www.google.com/search?client=opera&rls=ja&q=IE+FIREFOX%E3%81%A7%E9%96%8B%E3%81%8F&sourceid=opera&ie=utf-8&oe=utf-8
513 名前:名無し~3.EXE [2007/03/07(水) 03:06:44 ID:Dw1HeTg9] コンテキストメニューかツールバー経由しかない。 しかし、これ以上入れる場所の余裕が無いんぜ。
514 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 11:41:39 ID:pUN54nVl] >>502 ダイアログ出さない設定あるよ
515 名前:名無し~3.EXE mailto:sage [2007/03/07(水) 19:35:29 ID:duOZYfea] >>509 他人に教えるのが億劫になりました。
516 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 16:34:37 ID:WU5+3R9H] 初めまして 以下のことはWSHで出来るでしょうか? とある固定ディレクトリにあるファイルを選ぶダイアログを出す このときに、相手先(テキストファイルから読み出す)とコメント入力をする 選択されたファイルをLHAに渡し、圧縮作業が行われ 任意のルールで圧縮名をつけて、いつも決まったところに入れる 決まったところに入った圧縮ファイルは、先ほど決めた 相手先にいつも決まったテンプレートとコメントをつけて 添付ファイルとして送り出す。 出来るか出来ないか教えてくださいまし。お時間をくださいませ よろしくお願いします。こういうのはWSHのはんちゅうを超えているでしょうか?
517 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 16:49:19 ID:lKniy2Bp] >とある固定ディレクトリにあるファイルを選ぶダイアログを出す これがファイル選択ダイアログならこの時点で無理。
518 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 19:52:36 ID:gd0AF5kn] 「WSHのはんちゅう」が スクリプトエンジン: VBScript v5.5 / JScript v5.5 スクリプトランライム: Scripting.Dictionary / Scripting.FileSystemObject Windows Script Host 標準オブジェクト各種 だけなら無理っぽい。 外部プログラムやcomをガンガン使っていいなら話は別だが。
519 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 20:11:54 ID:WU5+3R9H] >>517 ええ、ファイル選択ダイアログのつもりでした。仕事は建築でして 選択されたDXFファイルを自動的にルールに従い圧縮ファイルにして それをOUTLOOKを起動して、添付ファイルとして、最初に指定した相手に送る直前まで やりたかったんですよ。送信ボタンを押すのみのところぐらいまで。 ちゅうのは、うちの会社、けっこう年寄りの建築業者(60歳前後が最も多い)が多く、CADは覚えたけどWindowsは とてもじゃないが覚えきれない人が多数いまして。手順をメモに残しても恐ろしいようです。 毎回DXFアウトからあとよろしくと呼ばれて自分の仕事が止まるのでこの辺なんとかならないかなあと。 >>518 レスありがとうございます。コレガできるならWSHに手をつけようかな と思っていましたが、ちと残念です。自分的にはWSHってのはマクロスクリプト感覚でしたので できそうかな?と思っていましたが。 社内で外部から派遣されてる人のPCにはCADしか入れられなくて。この間ようやくLHAとDWというファイラーが 入れるように出来たんですよね。 しかも目の前でこんな動きが出来るんですよと説明して許可書を取ってようやく。 今回のこれはCADに必要だということで作ったなら入れてもいいとようやく許可をもらったんですよ。 自分の仕事に差し支えるからと言ったら通りやすくなったみたいですが 長々と書いてすいません
520 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 20:14:27 ID:lKniy2Bp] HTAなら頑張ればできるかもしれない。
521 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 20:16:14 ID:WU5+3R9H] OUTLOOKは入ってるXPマシンです。 めちゃくちゃ久しぶりにVB5を取り出すかあ(;´Д`) 6年ぶりぐらい? まずVB5がXPで動くかっちゅうところから調べないと。 正直言いますとWSHは、インタプリンタ型のVBなのかもなあと 思っていました。
522 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 20:45:28 ID:N9Eg5QZi] インタプリンタw
523 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 20:48:07 ID:jNvzAAvj] > めちゃくちゃ久しぶりにVB5を取り出すかあ なんでここでVB5が出てくるの? ソフトを勝手に入れられないんじゃ、VB5を引っ張り出しても意味無いし VB5で作ったアプリを入れられるなら、ActiveXコンポーネントを入れることで WSHでも解決できる問題でしょ。
524 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 21:37:43 ID:2Y/tNLpI] www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0128.mspx Hey, Scripting Guy! ファイルを選択するためのダイアログ ボックスを表示する方法はありますか
525 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 22:51:43 ID:mA1C3Gzd] outlookが入っているならVBAでできるだろうに。 なくても標準的に入ってるCDO.Message使ってできるんじゃないの。
526 名前:名無し~3.EXE [2007/03/15(木) 23:19:34 ID:A7maWzfR] OutlookかOutlook Expressであるフォルダのメール全てに保存されている添付 ファイルを一気にどこかに保存するスクリプトって書けますか?
527 名前:名無し~3.EXE mailto:sage [2007/03/15(木) 23:42:19 ID:9FGCV+mK] >>524 どうせならこっち紹介しようぜ ttp://www.vector.co.jp/soft/win95/util/se398568.html
528 名前:名無し~3.EXE mailto:sage [2007/03/17(土) 14:44:09 ID:K8WNJf+j] Y岡か。懐かしいな。今頃どこでどうしてるやら。
529 名前:名無し~3.EXE mailto:sage [2007/03/17(土) 14:46:30 ID:K8WNJf+j] たしかExpressは無理だったような気が。
530 名前:名無し~3.EXE [2007/03/20(火) 01:22:03 ID:b9ZVd0cO] ADOのStreamを使って ふつーのファイルを開こうと思ったんですが オブジェクト作ってOpenしてなんとかfileloadして さあRead(1)ってやったら (バイナリファイルを読みたいの) 「お前に食わせる担麺は許可がありません」 とか(文面はうろおぼえ)言ってエラーになったなdけど なんでですかね? Widows2kSP4, 普通のテキストファイルの読み出しのやつは うまくいってます
531 名前:名無し~3.EXE mailto:sage [2007/03/20(火) 01:25:56 ID:kDerUjCx] お前に食わせるタンメンがないんじゃないですかね
532 名前:名無し~3.EXE [2007/03/23(金) 18:16:44 ID:+CYmGPKo] 携帯から失礼します。 wshのプロ達に質問があります。 vbsでPOSTかGETを使って、文字列をWEBサーバに送信したいのですが、どうやれば良いのでしょうか?
533 名前:名無し~3.EXE mailto:sage [2007/03/23(金) 18:22:58 ID:G1TmW4yG] >>532 Microsoft.XMLHTTP とか MSXML2.XMLHTTP とか使えばいいよ。 使い方はここのログでも何度も出てきてるし、ググれば解説もサンプルもいっぱい転がってるから自分で調べよう。
534 名前:名無し~3.EXE [2007/03/23(金) 22:47:00 ID:cFMNGSpo] ttp://www.uploda.org/uporg744079.jpg.html 上の画像のダイアログにユーザー名とパスワードを入力して OKボタンを押すと動作をしたいのですが、アドバイスをお願いできませんでしょうか? VBSを使っていて、他の部分は完成しているのですが、ここの部分だけがどうしても解りません。
535 名前:名無し~3.EXE mailto:sage [2007/03/23(金) 23:13:34 ID:byjtAjTE] セキュリティがそんなに重要じゃないなら username:password@192.168.11.1/ を開くようにする
536 名前:名無し~3.EXE mailto:sage [2007/03/23(金) 23:20:01 ID:cFMNGSpo] >>535 ありがとうございます。 入力はそういうやり方もあるのですね。 その後のOKボタンを押す方法はないのでしょうか?
537 名前:名無し~3.EXE [2007/03/23(金) 23:22:55 ID:oZiRW3es] WshNetworkについて教えてください。 現在、webサーバーのJscriptを使用して、 クライアントのコンピュータ名を取得するプログラムがあります。 そのプログラム自体は、下記のとおりとなります。 エラーは2行目でおきているようです。 var WshNetwork; WshNetwork = new AcriveXObject("Wscript.Network"); Com_Name = WshNetwork.ComputerName; 実は、クライアントの権限が今までドメインのadministratorであったものを、 ドメインのDomain Userとしました。 そのDomain Userには、クライアントのadministrator権限を追加してあります。 多分、ActiveXかWshのcomが読めなくなっているのではないかと思うのですが、 どこを調査していいのかわかりません。 使用しているwebサーバーはWindows 2000server、 クライアントはWindows 2000 sp3となります。 どんな小さなことでもいいですので、ご指導いただけないでしょうか? よろしくお願いします。
538 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 00:32:32 ID:jifbJ56b] >>536 >535をやればわかるさ
539 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 00:36:34 ID:jjWZ4P7E] >>538 やったんですけど、OK押さないと進みません・・・。
540 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 00:57:10 ID:jjWZ4P7E] PostMessage使えばいいのかもしれないのかな
541 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 01:03:19 ID:jjWZ4P7E] すみません、SendKeys使うことで解決しました。
542 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 17:38:05 ID:YkL2wEfh] CreateObject("Shell.Application").NameSpace("D:\").Items.Item.InvokeVerb "取り出し(&J)" Win98 でこれを動かそうとすると「メモリが不足しています」とエラーが 出て上手く行きませんでした orz XPだと動いたのですけれども、Win98で このvbsを動かすのは難しいでしょうか?
543 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 17:55:43 ID:ZHR7dm/d] 俺はWSHなんて使ったことない中学生だけど最新のWSHにうpだてすればいいんじゃないの? ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=0A8A18F6-249C-4A72-BFCF-FC6AF26DC390
544 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 18:31:13 ID:5S0it1X0] >>537 エラー書けよ >エラーは2行目でおきているようです。 3行目だろ?
545 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 18:57:09 ID:ZyDgRrWX] >>544 うるせーよカス
546 名前:名無し~3.EXE [2007/03/24(土) 18:58:49 ID:ZyDgRrWX] >>544 カス
547 名前:名無し~3.EXE mailto:sage [2007/03/24(土) 20:41:59 ID:HRUO8j8b] >>542 Items.item.やめて NameSpace(17).Items().Item("D:\")つかえ
548 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 00:01:03 ID:HRUO8j8b] >>530 Typeをバイナリにしたんかい?
549 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 01:03:04 ID:eJl21viZ] >>548 「その女が使っていたのはこんな言語じゃねえのか?」 そば売りがエディタをぺろりとなでると、とたんに問題のコードがJavaScriptに。 「うわっ!」 泡を食ったPGは何もかも放り投げて一目散に逃げていきました。
550 名前:537 [2007/03/25(日) 11:13:07 ID:qiQp0b59] いや、エラーは2行目です。 行の前にメッセージボックスだすよういしたところ、 2行目の前のはでて3行目のはでませんでしたから。 エラーは「object error」とでます。
551 名前:名無し~3.EXE [2007/03/25(日) 18:19:59 ID:Tz2Q6Jgg] エラーメッセージをちゃんと書けよ。 俺の環境だと、>>537 を実行すると。 test.js(2, 1) Microsoft JScript 実行時エラー: 'AcriveXObject' は宣言されていません。 になるぞ。 て言うか、このメッセージ見て対応方法がわからんのなら、素直にあきらめろよ。
552 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 19:09:11 ID:JJftShQn] >>537 よ Ac「r」iveXObjectになっとるがな(´・ω・`)
553 名前:537 [2007/03/25(日) 19:19:34 ID:qiQp0b59] すいません。web系はほとんどわからずにこのプログラムいじらされてるんです… 他にどのような内容をかけばいいのでしょうか? エラーメッセージはtry catchでひろったExceptionの内容ぐらいしかわかりません。 あと、2行目は下記間違えておりました。 正しくは「WshNetwork = ActiveXObject("WScript.Network");」です。 ど素人の質問だということは重々承知しております。 なんとかお力をおかしねがえないでしょうか?
554 名前:理解もせずに try〜catch なんか使わなきゃいいのに...。 mailto:sage [2007/03/25(日) 19:47:56 ID:Tz2Q6Jgg] いじれと命令した奴に「すみません、僕にはできません」と言え。
555 名前:537 [2007/03/25(日) 20:19:07 ID:qiQp0b59] もうその人はいないんです。>554 普通にadministrator権限なら使えるんで、文法ミスではないと思ってます。 どこかにあるwsh等にパスが通ってないか、 それにアクセス権限がついてないかだと思います。 ただ、それがどのファイルかフォルダかわからないんです… ちなみに、try catchは前からついてたのに、エラー表示するように修正しただけです。 htmlやjavaならまだわかるんですが、wshは全然使ったことないもんで。 ご不快はわかりますが、何らかのヒントはいただけないでしょうか?
556 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 20:43:54 ID:ImjS/GXy] > もうその人はいないんです。 だったらやらなきゃいいじゃん。 その人が居なくなったのに、やらなきゃならないってことなら 結局誰かに押しつけられてることなんだから、その誰かに言え。 実力以上のことをカッコ良くこなしてるフリをするためにここを使うな。 ということで不快だからヒントはあげない。 - 終了 -
557 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 21:02:24 ID:woCthK/z] 単にIEのセキュリティ設定の問題だったりして、、、 そもそも単純なWScriptが動くのかどうかを確かめたら? WScriptってローカル(クライアント)のPCにインストールされてないと だめだからバスが同のって関係ないっしょ。
558 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 22:01:46 ID:Tz2Q6Jgg] > try〜catch なんか (* 使わなきゃ *) いいのに...。
559 名前:名無し~3.EXE [2007/03/25(日) 22:38:31 ID:RtcpckhP] 切り捨てはfixだけど、切り上げって関数ないよな?
560 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/03/25(日) 22:50:53 ID:MGTeqA1Y] >>559 JScriptならMath.ceil()が切り上げだけどね。
561 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 22:52:25 ID:rws3m5kX] 取りあえず負の数にして Int して正の数にという手を思いついた でもまあ JScriptor には Math.ceil/floor があるからどうでもいいや
562 名前:559 mailto:sage [2007/03/25(日) 23:13:50 ID:RtcpckhP] 0.9足してintでいいみたいです。
563 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 23:16:54 ID:+IWPGL+l] すみません質問です。 Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "C:\test\test.txt", "D:\test\" みたいな感じで単純にファイルをコピーするスクリプトなのですが C:\Program Files\NetTransport\username' NetTransport.database と言うファイルのコピーに失敗します(ファイル名に ' が含まれるとダメ) コピーさせる方法はありますでしょうか
564 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 23:28:46 ID:rws3m5kX] >>562 いや良くないだろ。 Int(0.05 + 0.9) だと 0 になるぜ。 >>563 ふつーにできたけどなぁ。 単に読み込み禁止でロックされてただけじゃね?
565 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 23:37:08 ID:+IWPGL+l] >>564 レスどうもです 今やり直したら確かに普通に成功しました 仰るとおりロックされてただけかもしれません スレ汚し失礼しました
566 名前:名無し~3.EXE mailto:sage [2007/03/25(日) 23:44:09 ID:ImjS/GXy] >>564 扱う数値が少数第一位精度なら問題ないよ。 きっと>>559 が扱うのは少数第一位精度なんだろう。 全ての条件で>>562 のやり方が正しいとは言えないけど 頭ごなしにダメって言うのもどうかと。
567 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 00:23:53 ID:PEHg0u9B] あと付けで条件つけてどうのこうの言うやつって...。
568 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 00:46:17 ID:gncrFpqS] どうしようもないよね。 先に詳しい条件書かなかった559も559だが その条件が解ってる559自身が、その条件に合う方法を見つけられたのに 後からこういう条件ではダメだのなんだの言っても仕方なかろうに。
569 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 03:15:27 ID:N7Ok9Hes] >>566 そういうのは後々他のスクリプトに流用してバグの温床になったりするからなぁ・・・。
570 名前:537 [2007/03/26(月) 06:38:05 ID:vTpT+SIA] やらなきゃいいんならやらないし、出来ないって上司にはちゃんといってる。 でも、仕事だからそのままにはできないんだよ。 別に実力以上のことやってかっこつけたいと思わないし、 出来ないならできないままにしときたいよ。 WSHのこと質問できるところには全部質問してるんだよ… ちょっときいてみたいんだが、仕事で「出来ない」っていえる環境って、 どこら辺りにあるんだ?そのままにできるところにいきたいよ…
571 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 06:45:21 ID:RmbsiKtv] >>570 お前は「空を飛べ」と言われたらどうする? また2chに「教えてください」と書き込むのか?
572 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 06:46:32 ID:OkIlf65J] 空を飛べと言われたら、空を飛ぶに決まってるじゃないか!
573 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 07:54:27 ID:N7Ok9Hes] >>570 金出して外注に投げるという手もあるぞ。
574 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 11:04:38 ID:4cg/SX7J] ハ_ハ ハ_ハ (^( ゚∀゚)^) ('(゚∀゚∩ ) / ヽ 〈 (_ノ_ノ ヽヽ_)
575 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 11:19:21 ID:7F+Cl6xg] >>569 関数としてライブラリ化したり、コメントも入れずに使い回したりすればの話ね 少数一桁限定じゃ使いどころは少ないだろうが、内部関数として流用する場合は その限定条件をコメントとして書いておくだけでバグの温床になるのは防げる 「汎用的に使えるようにした方がいい」というのはもっともだが、そうしてない状態を 「間違い」「バグの温床」と決めつけるのは、それ自体が間違いだ もっと柔軟になろう
576 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 12:06:04 ID:AD+rej51] 確かに
577 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 12:45:00 ID:R83/Lndf] - Sgn(number) * Int(-Abs(number))
578 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 13:15:01 ID:R83/Lndf] >>553 >あと、2行目は下記間違えておりました。 >正しくは「WshNetwork = ActiveXObject("WScript.Network");」です。 それが間違い
579 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 13:23:00 ID:tJ7Fxl2K] 切り上げには切り上げ桁って要素もあるからな。 例えば0.05を1ではなく0.1に切り上げるということもある。 又は0.05を10に切り上げることだってある。 これだってまだ切り上げの中でも更に十進桁切り上げの中だけの話だし。 有る程度条件が決まってるなら、決め打ち処理するのも悪くないよ。
580 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 22:31:40 ID:PEHg0u9B] >>570 なんでお前ができない ≡ そのままにしておく なんだ? できる奴に代わってもらえばいいだけだろ。社内にいなければ、 >>573 の言うように外注に投げればいいだろ。 > 出来ないって上司にはちゃんといってる。 ホントか? 上司はそれに対してどう言ってるんだ? >>579 そういうのは、10倍するなり、10で割るなりすればいいだけの話。 「扱う数値が少数第一位精度」等の入力データの条件はプログラマ 側ではどうしようもないケースも多いので、使えるケースはかなり 限られるよ。
581 名前:名無し~3.EXE mailto:sage [2007/03/26(月) 22:35:31 ID:72wywYVt] ┐(゚〜゚)┌
582 名前:名無し~3.EXE mailto:sage [2007/03/27(火) 01:01:27 ID:V+GQ+2Bi] >>575 うん。それはわかる。 ただ、このスレで質問する人間がその辺考えてコメント入れるかといえばかなり疑問。 だから、なるべく汎用的な回答をするか、駄目な条件は出してやる方が親切かなと思う。
583 名前:名無し~3.EXE mailto:sage [2007/03/27(火) 21:19:51 ID:NPBcdEuP] なんつーか・・・どうでもいいことのバランス感覚がバロスww
584 名前:名無し~3.EXE mailto:sage [2007/03/29(木) 14:20:22 ID:tN2jzjyY] bubble5.2ch.net/test/read.cgi/mukashi/1162470958/
585 名前:名無し~3.EXE mailto:sage [2007/04/03(火) 07:47:55 ID:1Q99NK3W] 特定のフォルダやファイルを右クリックしたときに出るポップアップを スクリプトから表示させることって出来ないでしょうか?
586 名前:名無し~3.EXE mailto:sage [2007/04/03(火) 11:28:39 ID:22l3N1/7] PopupItemMenu()があるけど使えん SelectItem()してSendKeys "+{f10}"
587 名前:名無し~3.EXE mailto:sage [2007/04/04(水) 05:35:39 ID:ssJ5F2b9] >>586 レスどもでした。 調べてみます。
588 名前:名無し~3.EXE mailto:sage [2007/04/05(木) 23:47:56 ID:9bAQcwbY] ie.DocumentからHTMLテキストを得るのには どれを使うのがいいんでしょうか? ie.Document.parentElement.outerHtml を使っていたんですが、最近これだと ちゃんと取得できないページがある事に気づきました。 Set ie = CreateObject("InternetExplorer.Application") ie.Navigate "www.nicovideo.jp/" Do While ie.Busy Or ie.ReadyState <> 4 Loop MsgBox ie.Document.body.parentElement.outerHtml
589 名前:名無し~3.EXE mailto:sage [2007/04/05(木) 23:55:50 ID:C+XbpQJO] 生のソースは普通には無理だったんじゃないかな XMLHTTP とか使った方が良い // IPersistFile::Save なんだが、IPersistFile は IUnknown だから……。
590 名前:名無し~3.EXE mailto:sage [2007/04/06(金) 01:24:27 ID:qN1BBhr8] document.documentElement.outerHTML
591 名前:名無し~3.EXE mailto:sage [2007/04/06(金) 01:48:49 ID:qN1BBhr8] URL="www.nicovideo.jp/" Path="C:\hoge.html" Set Application=CreateObject("Excel.Application") RC=Application.ExecuteExcel4Macro("CALL(""urlmon"",""URLDownloadToFileA"",""JJCCJJ"",0,"""&URL&""","""&Path&""",0,0)") MsgBox RC はどうだろ?
592 名前:名無し~3.EXE mailto:sage [2007/04/06(金) 02:04:55 ID:blYi0hD7] >>589 >>590 >>591 みなさんどうもありがとうございました。 とりあえず上のURLだと >document.documentElement.outerHTML でできるようです。 ie.Document.all.tags("html")(0).outerHtml という頭の悪い方法も考え出し、これでもできました。 590さんありがとうございました >>589 完全な生はやっぱ無理ですよね・・・ >IPersistFile::Save 純粋なオートメーション以外は無理ですからね・・・ でもIPersistFile::Saveでもできるんですか? 今度使ってみようかな・・・ >>591 Excelは持ってないわけですが入手の暁には 試させていただきますm(_ _)m
593 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 02:06:10 ID:g68mpwXM] IEで表示された画像のキャッシュ(ローカルパス)を取得する方法はないでしょうか?
594 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 11:27:29 ID:iUttHWVD] > IEで表示された スレ違い。 実行ホストがWSH(Windows Script Host)ではなくIE(Internet Explorer)なので。 ここはVBScriptやJScriptのスレではなくWSHのスレだから。
595 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 14:39:32 ID:4FX0lSeC] >>593 pc11.2ch.net/test/read.cgi/tech/1055075469/951 pc11.2ch.net/test/read.cgi/tech/1055075469/953 しかしマルチじゃな www.roy.hi-ho.ne.jp/mutaguchi/bbs/index.shtml
596 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 15:06:25 ID:3IvfKlfV] >>594 WSHで起動したIEまたはすでに起動済みのIEから 強引に持ってくるという話だと思うよ。 スクリーンショットを取ってアドレスバーの画像を切り取り 表示されている文字を解析してURLを取得すればいいんじゃないか? もしくはアドレスバーにカーソルをあわせて文字列をコピーし クリップボードから取り出す
597 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 15:13:22 ID:gY213RNS] >>595 レスどうもです。 言葉足らずでしたが、URLを与えてキャッシュパスを取得する、という 方法を知りたかったのです。 >マルチ こちらで答えて頂けなかったので別の掲示板で聞いたものです。 (日時を見ていただければ分かるかと。 IEでもWSHでも、使用しているスクリプトエンジンは同じですし、こちらで聞いても 問題ないかと思ったのです。 IEのオブジェクトモデルに関する質問ともとれるのでグレーだとも思っていました。 失礼致しました。
598 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 15:15:40 ID:gY213RNS] >>596 レスどうもでした。 上でレスしたとおり、言葉足らずでした。 失礼致しました。
599 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 16:12:37 ID:4FX0lSeC] >>597 >こちらで答えて頂けなかったので別の掲示板で聞いたものです。 だからそれがマルチ。断ってから行くのが礼儀 >言葉足らずでしたが、URLを与えてキャッシュパスを取得する、という >方法を知りたかったのです。 だから |pc11.2ch.net/test/read.cgi/tech/1055075469/951 |pc11.2ch.net/test/read.cgi/tech/1055075469/953 に、Drag&Dropの代替をWSHでCOPY&PASTEしてやればよいだけ
600 名前:名無し~3.EXE mailto:sage [2007/04/11(水) 16:18:22 ID:4FX0lSeC] こっちで聞くならあっちを断って来い
601 名前:名無し~3.EXE mailto:sage [2007/04/12(木) 07:22:13 ID:3CusierK] 久々にオレ様がきましたよ〜 >>593 キャッシュをエクスプローラで開けばできるよ。 ie.Document(この場合のieはエクスプローラ) からドキュメントオブジェクトを取得して中の要素を操作すればできる >>594 おまいは勘違いし杉。 でもIEホストスクリプト(クライアントサイド)のスレが無い罠・・・ >>595 別にマルチでも目に余る失礼な態度でなければおkと思う。 つか返事が無ければ他にどうしようもない
602 名前:名無し~3.EXE mailto:sage [2007/04/12(木) 21:54:42 ID:G96tqkzp] NameSpace(32)では駄目なのか?
603 名前:名無し~3.EXE mailto:sage [2007/04/14(土) 12:14:21 ID:G3PWtnXe] そもそもVBScriptうんぬんじゃなくてIEのAPIの話なんだろ? キャッシュへのアクセスなんてDOMと関係ないし。 で、>>594 もまあちょっとあれだが、スレ違いだと思ったわけだろ InternetExplorerオブジェクトにはそういう機能はない、で終わりだ。 代替案とかいいけどまずそれを確認してからやってくれな
604 名前:名無し~3.EXE mailto:sage [2007/04/14(土) 15:41:56 ID:YRhG6sRI] | お前ら、WindowsScripting使ってますか? Part3 | 733 名前:名無し~3.EXE :04/07/23 16:26 ID:7v/exN2o | IE CacheR | www.vector.co.jp/soft/win95/net/se238516.html
605 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 07:00:23 ID:4O+j/UhS] WSHで一意のテンポラリファイルを作るには どうすればいいのでしょうか? 万一の既存ファイルの破壊を避けたいのです
606 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 07:24:33 ID:C65AQ6We] FSO使えばいいじゃん。GetTempNameで名前を得ても良いし FileExistsでファイルが無いことを確認して、有ったら連番でも付加して 再確認するようなループを作ってもいいし。
607 名前:名無し~3.EXE [2007/04/15(日) 08:13:06 ID:/KjjB8H6] IEのリンク上の右クリックメニューからVBSにリンクを送ってあげたいのですが、 WSHでIEのリンクを習得してあげるにはどうすればいいのでしょうか? external.menuArguments.document.selection.createRange().text とすることで、選択されているドキュメントを習得することはできたのですが、リンクを習得する方法がわかりません。 よろしくお願いします。
608 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 08:59:13 ID:uT1NWWKf] 今度こそ>>594 だね。 external.menuArgumentsが使える時点で、間違いなくWSH実行ではなくIE実行だから。 とはいえ「external.menuArguments」でググった先見れば解決するけどね。 これでググって1件目のサイトは、俺もIEの拡張メニュースクリプトの勉強で利用させて貰った。 あとはサンプルとかも結構引っかかるので、暇があれば眺めるだけでも勉強になる。
609 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 09:31:31 ID:/KjjB8H6] >>608 スレ違いなうえ親切に教えていただきありがとうございました。 これから精進します!
610 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 20:55:26 ID:73Fg1OlE] 私は Irvine のサンプルで学んだなー……。
611 名前:名無し~3.EXE mailto:sage [2007/04/15(日) 21:49:44 ID:j9mRoUTG] >>608 だから該当スレが無い。 Web制作板はサーバーサイドしか無い。 近いのはム板のHTAスレと思うが、 あそこには質問に答える回答者は殆ど居ないし、 HTAとIEは違うと言えば違う。 わざわざスレ立てるのもどうかと思うので ここでいいんじゃねか? 唯一心配なのは質問者がWSHなのかIEの話なのかを 完全省略して質問してきて話が全然合わなかった場合だけど
612 名前:名無し~3.EXE mailto:sage [2007/04/16(月) 11:53:08 ID:j/Qm3ZvY] >>595 おまえ暇人だな
613 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 11:42:31 ID:2Ck6Cllg] /////////////////Object.js Object.prototype.x = 2; ////////////////test.wsf <job> <script type="text/javascript" src="Object.js" /> <script type="text/javascript"> to ={}; WScript.Echo(to.x); </script> </job> 先生っ、これだと組み込みオブジェクトの拡張が出来ません。 でも、test.wsfのJScriptのコード部分を切り出して、 <script type="text/javascript" src="hoge.js" /> みたいにすると、上手く行きます。 この違いって何?
614 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 11:58:03 ID:2Ck6Cllg] おーいえーなんてこったい自己解決。 wsfのタグでこけてたらしい。 駄目だったtest.wsfのコード部分が <script language="javaScript" /> になってた。 <script type="text/javascript" />にしたら大丈夫だった。 だから>>613 は大丈夫ですね。なんという落とし穴。
615 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 12:08:43 ID:2Ck6Cllg] もっかいレス。languageで揃えても大丈夫でした。 てかwsfだとlanguageの方が正しい感じなんですね。
616 名前:名無し~3.EXE [2007/04/17(火) 20:57:29 ID:khmIvrix] >>608 や>>611 の意見を考えた上で スクリプトファイルをについてどうしてもわからないことがあるので質問させてください。 IEの右クリックメニューに登録してURLを特定のソフトウェアに貼り付けるスクリプトを書いているのですが、 ウェイトをかけるところがどうがんばっても動いてくれません。 <SCRIPT LANGUAGE="VBScript"> <!-- Set 111= external.menuArguments.event 222= external.menuArguments.document.elementFromPoint(111.clientX, 111.clientY) Set 333= CreateObject("WScript.Shell") 333.Run "Notepad" WScript.Sleep 1000 333.SendKeys 222 --> </SCRIPT> これを.htmlで保存後、MenuextでURLを送っているのですが、 7行目の一文字目で「オブジェクトがありません:WShost」となってしまいます。 ウェイトをかけないとまともに動いてくれないのですが、 この場合どのようにウェイトをかけてあげればいいのでしょう? どなたかお力を貸していただけませんでしょうか?
617 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 22:01:20 ID:QX125b/X] WSH実行でなければWScriptオブジェクトは無いので WScript.〜は使えないし、WScriptオブジェクトが無いような状況はスレ違いだってば。 変わりにIEの機能でウェイトを置くことは出来る。WScript.Sleepほど直感的なものではないけどね。 Web制作やHTAで使われる手法だから、そっち系の解説サイト回って、それでも解らなかったら そっち系のスレで聞け。「該当スレが無い」とか言ってる奴も居るが、そんなことは全然ないから。 > >>608 や>>611 の意見を考えた上で とか言い訳しても、スレ違いの事実は変わらない。 「マルチ失礼しますが」とか前置きしても、マルチすれば叩かれるのと同じ。
618 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 22:03:40 ID:khmIvrix] >>617 わかりました。 ありがとうございます。
619 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 22:08:32 ID:tkBKDmqU] スクリプトごと気で威張ってる自称上級者って痛いよね。 自分はどうせコピペぐらいしかやってないくせに。
620 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 22:39:11 ID:pianEbMs] >>616 メニュー拡張で待つのは難しかったような 待たないでやる方法を模索したほうがいいんちゃうか
621 名前:名無し~3.EXE mailto:sage [2007/04/17(火) 22:48:18 ID:pianEbMs] >>616 どうしても待ちたいなら pc11.2ch.net/test/read.cgi/tech/1055075469/974-984
622 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 01:44:18 ID:EcPUf9dE] > 「該当スレが無い」とか言ってる奴も居るが、そんなことは全然ないから ではどこのスレでそういう事を教えてくれるのか 具体的に教えていただけますかね? 誘導するのならちゃんと具体的に示すべきだと思いますが? あと、マルチ叩きとか、WScriptが無いからスレ違いとか くだらな杉。 ムダにレス消費するだけだからお前が答えたくなければ黙っとけ つか>>617 は本当にゴミレスだね。何の情報も無い ちなみにこれもゴミレスです〜
623 名前:名無し~3.EXE [2007/04/18(水) 03:57:31 ID:GjzdXx90] ちなみにこれもゴミレスです〜
624 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 11:17:22 ID:liUfKfa9] 書き込んだ奴そのものがゴミだからしょうがないね m9
625 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 11:43:19 ID:fiFeCVqu] WScript.もCOMオブジェクトなので それをIEなどに渡してやればWScript.Sleepなども使えるよ 面倒さを超えるメリットがないのでしないだけ
626 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 13:16:27 ID:fiFeCVqu] wscript.vbs --- set shell=createobject("shell.application") shell.windows().Item(0).putproperty "WScript",WScript MsgBox "Waiting...",,WScript.ScriptName --- hoge.hta --- <script language=vbscript> set wshell=createobject("wscript.shell") wshell.run "cscript wscript.vbs" do while not wshell.appactivate("wscript.vbs") wshell.run "ping localhost -n 1",0,true loop set shell=createobject("shell.application") set W=shell.windows().Item(0).getproperty("WScript") W.Echo "hoge" </script>
627 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 15:31:38 ID:DNW4VSpp] こいつ、バカだw
628 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 16:48:45 ID:Lu/hjP0v] また何か訳わからんのが沸いた >>627
629 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 18:01:04 ID:v/cHbh3Z] 何ムキになってるの?
630 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 21:59:46 ID:2KIA1Ng+] >>625 一回自分でやって、アホさに気づけ。
631 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 23:28:47 ID:B4mHvh80] しかし何だかなこのスレは・・・ だからどう見ても>>625 は こんな事やるのはアホくさいからやらない、 と言ってると思うんだが・・・
632 名前:名無し~3.EXE mailto:sage [2007/04/18(水) 23:33:59 ID:B4mHvh80] 多分知らなかった、という事なのだろうが あんまり悔し紛れに変な事言わない方がいいぞ? せっかくお前らの知らない事書いてくれてるのに・・・ つかこのスレもダメだな・・・
633 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 00:08:31 ID:/faBWwVN] たとえばアプリを制御するのにちゃんと経路が用意されてるけど 面倒だから全部SendKeyで操作しちゃうとかよくやるだろ。 で、納品先で処理中にキー叩くバカがいたりして ロールバックかかって全データパァになって サービスセンターから夜中にたたき起こされて
634 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 01:23:10 ID:/BqK3ADX] >>633 いや、それは設計者が悪いだろ。 客は常に最悪の操作をする前提で設計しなけりゃ。 「処理中のキー操作については保証外」って議事録でも作ってあるならともかく。
635 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 02:42:12 ID:p7ByV6U7] >>634 大丈夫。その後の運用マニュアルには 「不要時はキーボード・マウスを取り外す」 という条項が追加されましたから! さすがに転職を考えたよ
636 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 10:58:04 ID:fJ+0DaBe] 馬鹿は同じミスを何度もするからまた転職かな
637 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 18:46:05 ID:cXVbURLh] 素直にスクリプトしか書けない、って事白状しろよ。 VBやCなら普通にメッセージ送ればいいだろうさ。 あとまあ処理中はキーボードをロックしちまうとかな
638 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 23:21:07 ID:p7ByV6U7] 別にそんなことわざわざいう必要も無いよ。 全部キーボード操作した、納品先の会社の新人のせいにしたから。
639 名前:名無し~3.EXE mailto:sage [2007/04/19(木) 23:25:49 ID:rvvht0fD] さすが能無し。言い訳と自己弁護だけは一人前。
640 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 00:25:35 ID:JAWrAlO6] >>639 お前少しきつ過ぎね? >>638 いや これの事言ったのよ >たとえばアプリを制御するのにちゃんと経路が用意されてるけど >面倒だから と言ってるのが言い訳で 実はSendMessageを使った事がねーんだろーと
641 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 00:27:12 ID:NBN5PLNf] つか、それは納品先もアホすぎる。 俺なら要求仕様を満たしてないって言って納品書を突っぱねるが。
642 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 00:48:41 ID:JAWrAlO6] 相手先にスクリプトキディ程度のスキル持ってるのが 一人もいないからじゃね?
643 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 01:03:02 ID:RNda4icP] おまいら良くそんな他人ごとに熱くなれるな
644 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 02:37:58 ID:P4B3OPLJ] >>640 そ、そのくらい使ったことくらいあるわよ! 予算10万でやってって言われたから 手を抜いただけなんだからね 勘違いしないでよ!
645 名前:名無し~3.EXE mailto:sage [2007/04/20(金) 15:19:57 ID:4KZDDhdu] どの位の規模はしらんが、 スクリプトで10万もとるのかよ・・・
646 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 01:51:08 ID:7KTLSfod] ヘタに手を抜くと後でガチャガチャ言われてかえって面倒なんで どんなバカでも使えるようにしとくもんだけどな。普通。 ・・・まあVBSでなく最低VBが使えて、の話だが。
647 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 08:49:29 ID:mN72ojZl] >>646 それやってると赤字になりかねんし。 でも相手の現場に責任かぶせると、次からやりにくくなるからお勧めしない。 基本は制限事項を議事録にとっとくことだね。
648 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 10:45:52 ID:evmfqMJZ] > それやってると赤字になりかねんし。 どんだけへたれの会社なんだよ。 て言うか、納品するんならもっとちゃんと見積もれよ。 自分の見積もり能力のなさを、赤字になるからって手抜きするなんて 最低の会社だな。
649 名前:647 mailto:sage [2007/04/21(土) 12:10:15 ID:mN72ojZl] >>648 いや、俺は>>633 ではないので・・・。 営業が既設品の流用とか、簡単でいいとかって条件で安くとってくることはある。 設計積めている段階で、安く作るとまずい条件が見つかることもよくある。 そういう場合は 「これこれこういう場合はまずいんで、そこは運用で回避してくださいね」 「それが駄目なら受注仕様書の変更になるので見積もりからやり直しますよ」 と提案すればだいたいは運用で回避してくれる。 明らかにこっちの落ち度なら、赤字でやるけどね。 受注仕様書は客のサイン貰ってるんだから、それの範囲外は金が出ないならやらない。
650 名前:633 mailto:sage [2007/04/21(土) 13:12:06 ID:uI3/X9aK] >>649 そうそう! 安く請け負ったときは、ぜーんぶ運用で回避! これが基本だよね〜。 自慢じゃないが、赤字でなんかやったことなんか無いよ
651 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 18:21:38 ID:biPPlYdx] 短期的にはそれでいいかも知らんが その内仕事来なくなるよ 特別なコネクションでもないと
652 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 20:43:06 ID:mN72ojZl] >>651 そうならないために事前に仕様書だして、議事録とって、客のサイン貰うわけで。 (1次仕様書と2次仕様書で矛盾してるってのならこっちのミスだが) 自分がサインする書類くらい責任持ってくれないと困る。 「とにかく安く」連呼するだけでろくに書類読まない客は どーせ赤字仕事しかよこさないので切れてもかまわない。
653 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 20:54:41 ID:biPPlYdx] 結果に不満、って言う客に お前がサインしたんだろが、って言うって事? 客満足度を言ってるのであって 契約トラブルの事言ってるのではないよ
654 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 20:57:17 ID:VyvL4bCk] 保険屋か!
655 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 21:09:40 ID:PBYnEjCb] まあ、安ければよくてトラブルが以前に有っても他を検討する気配の無い アホな客ならそれでも良いだろうな。
656 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 21:10:44 ID:mN72ojZl] >>653 だから、事前に「この値段で実現するとこういう結果になりますがいいですね?」って了承とる訳よ。 事前に了承とっておけばほとんどの客は納得してくれるよ。 どうしても納得できない客とはそこから改修方法について協議するよ。 相手もまともな社会人ならほとんどは追加コストが発生することは納得してくれる。 処理中にハードウェアの特定のボタン押すと不具合が出るってのは実際に経験あって、 そんときは警告マーク入りのアクリルカバーをボタンにかぶせるのと、 画面に警告表示を追加するのを数万円で受注して決着した。 最初は相手側の担当者も「滅多に押さないボタンだからいいよ」って言ってたのに 現場に持って行ったら初日にその問題が発生したもんで。
657 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 22:47:01 ID:evmfqMJZ] > 最初は相手側の担当者も「滅多に押さないボタンだからいいよ」って言ってたのに 要するに双方ともにろくろく検討してないってことだろ。 DQN どうし仲良くていいじゃないか。 だから、君には「数万円」の仕事しか任されないんだろうけどな。(w
658 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:03:23 ID:e3sgWE04] いい加減スレ違いってことに気づけよ、おまえら。
659 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:06:33 ID:mN72ojZl] >>657 相手の現場の細かいところなんてわからんもの。 だから判断を客先の担当者に投げておいたわけ。 あと、装置としては百数十万ね。 数万円なんて誤差範囲だからサービスしても良かったんだけど 発注側の都合による変更は少額でも有償で受けとかないと 「前回アレをサービスしてくれたんだから〜」とかってどんどん要求がエスカレートすることがあるから。 (もちろん、詳細設計前の仕様変更なら無償でやることもあるけど)
660 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:16:18 ID:mN72ojZl] あー、と。 金額に関する判断は実際には営業を通すので、俺の見積もり通りには成らないこともよくある。 だから、上にかいたことは全部うちの会社としての方針。
661 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:45:11 ID:evmfqMJZ] > だから判断を客先の担当者に投げておいたわけ。 無能なSEの典型 そんな奴がいる会社ならそりゃ全体で百数十万の仕事しかこないわな。(w
662 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:57:42 ID:mN72ojZl] >>661 現場の人間から聞き取りさせてもらえる窓口があればそっちからも確認とるけどー。 業種的に相手の担当者以外に直接連絡とれる窓口を用意してもらえないもんでー。 だから相手担当者経由での確認以外にこっちの確認はできませんー。
663 名前:名無し~3.EXE mailto:sage [2007/04/21(土) 23:58:43 ID:HaLeI3qs] メッセでやってろ。
664 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 00:46:43 ID:SAYu4htl] 他所でやれ。
665 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 01:43:57 ID:ROVJktfw] evmfqMJZが最初は >君には「数万円」の仕事しか って言ってたのに次には >全体で百数十万の仕事しかこないわな って言ってるのには何だろなこりゃ、って思った。 次は日本人がバカだから 日本全体で数十兆の仕事しかこないんだよな、 って言ったりして・・・
666 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 03:07:06 ID:STLmzq4K] >>665 いや、そこはさすがに労働人口を基準に考えようよ。
667 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 14:15:39 ID:LWZyWhe/] >>662 だから「責任は全部お客さんの方です」ってか? 言い訳乙。 >>665 わかってない無能SEが何か発言しないといけないと思って よくこう言う意味不明なこと言うよな。(w
668 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 15:45:30 ID:HXxtiC+Y] >>667 >だから「責任は全部お客さんの方です」ってか? そうだよ。仕事だからね。 自分で仕様を決められないお客さんなら、 間に商社なりコンサルなり通して発注すればいいわけで。 こっちは自分で仕様を把握してる客を前提に対応してるから。
669 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 16:07:54 ID:nmEkOEz8] まあまあ、そんなに自分の無能ぶりを自慢しなくても キミがオシコトできるのは判ったからさ
670 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 16:22:54 ID:WSHjDKMI] オナニーとセックスの話はヨソでやれ。
671 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 18:13:01 ID:STLmzq4K] >>668 まあそこでおろおろする客にはうちでコンサル紹介するよ。 実体はオレなんだけど。
672 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 19:42:46 ID:JybLxewW] Set objWsh = CreateObject("WScript.Shell") Set objExec = objWsh.Exec("cmd /c dir c:\temp") Do While objExec.Status = 0 WScript.Sleep 100 Loop ... 上記のようなコードで、「c:\temp」フォルダにファイルを80個ほど置いておくと、 Status確認のループが無限ループに入ります。 閾値があるらしくて、それ以下では一瞬でループを抜け、それ以上ではまったく返ってこなくなり…… という感じ。
673 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 20:57:31 ID:ivWOgg9X] 便秘にはこーラック
674 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 21:08:36 ID:evAQ2yKS] こうらくさんの座布団もっていきなさい。歌丸です
675 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 22:01:38 ID:k8ZwHNGh] evmfqMJZ LWZyWhe/ お前しつこくね? つっこみが言い訳とか無能とかたいして面白くねーし もう少しなんつーか思わずつっこまれた相手自身が 笑うような事書けねーのかよ
676 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 23:09:41 ID:sK80uPQR] 空気読めない奴らが客を満足させるとか語るなよw
677 名前:名無し~3.EXE mailto:sage [2007/04/22(日) 23:28:16 ID:STLmzq4K] ひとつひとつは小さな案件だが、100集まればすぐ1億だ! はっはっは! 実際には半分の半分くらいしかこなせてないけどね〜 今年度も黒字だったので、ヨシだ。 納期が2年延びたのもあるけど、客のせいにした!
678 名前:名無し~3.EXE mailto:sage [2007/04/23(月) 00:30:44 ID:Bhk5cVuF] >>668 指摘されると開き直り。 流石アホSEだな。(w >>672 標準出力のバッファは 4KB ぐらいしかないから、objExec.StdOut.ReadLine とかで読み取ってやんないと駄目。 どんなことやりたいのかわからんけど、例えば下記のようにすれば全行表示できる。 Set objWsh = CreateObject("WScript.Shell") Set objExec = objWsh.Exec("cmd /c dir c:\temp") Do Until objExec.StdOut.AtEndOfStream WScript.Sleep 100 WScript.StdOut.WriteLine objExec.StdOut.ReadLine Loop ただし vbs は、ストリームにデータが入っているかをチェックする方法がないから、 上記の方法でも標準エラー出力に 4KB 以上のデータを吐くプログラムだと、無限 ループになる。この、回避方法は俺は知らない。 >>675 > もう少しなんつーか思わずつっこまれた相手自身が笑うような事書けねーのかよ つ 鏡
679 名前:678 mailto:sage [2007/04/23(月) 00:43:30 ID:Bhk5cVuF] 忘れてた、ちょっと訂正 × この、回避方法は俺は知らない。 ○ 標準出力もしくは標準エラー出力をファイルに吐き出す以外の回避方法を、俺は知らない。
680 名前:名無し~3.EXE mailto:sage [2007/04/23(月) 02:16:09 ID:AnLMhu/8] Set objExec = objWsh.Exec("cmd /c dir c:\temp 2>&1")
681 名前:名無し~3.EXE mailto:sage [2007/04/23(月) 07:51:09 ID:vCdmUApF] どうも有難う勉強になったわ。 この話ここまで長く書けるのか・・・
682 名前:名無し~3.EXE [2007/04/23(月) 14:23:16 ID:XYh3oPaX] wshってしろうとようかと思っていたが、プロも使うのか?
683 名前:名無し~3.EXE mailto:sage [2007/04/23(月) 15:19:25 ID:ql3ESscK] 使える物はなんでも使うのがプロ
684 名前:名無し~3.EXE mailto:sage 682 [2007/04/24(火) 01:08:13 ID:SJLA9t83] ふ〜ん
685 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 02:02:58 ID:B8ZPPHeZ] 納品はしなくても、デバッグとかにあると便利。 ログデータの整理とか、ダミーデータ作るのとか。 頻度高いなら専用ソフト作るが。
686 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 09:02:49 ID:uawi901y] 親切な方、D&Dしたファイルを削除してくれるだけのスクリプトをいただけますでしょうか……。
687 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 09:11:53 ID:maqUL7OV] 実行しているscriptのファイル名は、WScript.ScriptFullName(or ScriptName)で取れるけど、 wsfの<script src="hoge.vbs"/>でインクルードされた側のファイル名って取れるのかな? 上の例で行くと、インクルードされてるhoge.vbsの中で"hoge.vbs"(もしくはフルパス)と言うファイル名を取りたい。 単純にhoge.vbs内でWScript.ScriptFullNameとやると、wsfからインクルードした場合は、 呼び出し元のwsfのファイル名が帰ってきちゃう。
688 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 09:18:13 ID:maqUL7OV] >>686 CreateObject("Scripting.FileSystemObject").DeleteFile WScript.Arguments(0), True 1行でおk
689 名前:686 mailto:sage [2007/04/24(火) 09:57:43 ID:uawi901y] >>688 シンプルで美しいスクリプトです、ありがとうございます!
690 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 10:07:50 ID:uawi901y] >>688 応用して、 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objArgs = WScript.Arguments For I = 0 to objArgs.Count - 1 objFSO.DeleteFile WScript.Arguments(I), True Next と書いたら複数ファイルに対応できました。ありがとうございます。
691 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 10:08:56 ID:uawi901y] 2行目いらなかったです。
692 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 10:14:15 ID:uawi901y] 改変して、 For I = 0 to WScript.Arguments.Count - 1 WScript.CreateObject("Scripting.FileSystemObject").DeleteFile WScript.Arguments(I), True Next としました。ありがとございます。
693 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 10:20:17 ID:9IeWnjrK] なんでわざわざVBSで書くんだよwwwいじわるだなwww
694 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 11:08:22 ID:AOYlXD1I] 画像掲示板の自動巡回として使ってる wsh便利
695 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 13:59:30 ID:MVyPALf6] ソースplz
696 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 14:07:14 ID:fTTIq8yW] diy
697 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 14:34:08 ID:Jm4E73d+] >>694 みんなそういうことはやってるだろうけど、そういうことは人に言わずにひっそりやるものだぞ。 「俺ってこんなことできるんだぞ」と自己主張したい年頃なのかも知れないがw
698 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 15:36:22 ID:uFNbu+9H] 手段を問わなければ出来るよ
699 名前:698 mailto:sage [2007/04/24(火) 15:38:09 ID:uFNbu+9H] >>687
700 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 19:22:32 ID:r8k6oIAv] 専用ブラのジェーンのステータスバーの完了ってのを 取得したいのですがどうすればいいですか?
701 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 22:10:20 ID:zsYD+HSB] はぁ?
702 名前:名無し~3.EXE mailto:sage [2007/04/24(火) 22:24:38 ID:9IeWnjrK] >>700 他プロセスのウィンドウのステータスバー内の文字列を取得したい。 と言っているんです?
703 名前:700 mailto:sage [2007/04/24(火) 22:56:43 ID:6tTUt89Z] そうです。
704 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 08:16:56 ID:JhQaRiIx] では 「他プロセスのウィンドウのステータスバー内の文字列を取得できるCOM」 を使ってください。WSH本体(WScript.exe、cscript.exe)にはそういう機能は無いので。 COMを探すか作るかはお好きなように。探すことも作ることも出来ないなら君には無理ってことになるね。 因みにそれを取得したあと何をするかにも因るが、こういうことはAutoHotkeyの方が得意だよ。
705 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 09:13:06 ID:qvPjG5g/] >>704 このスレでは、WSH本体に無い機能について語ることはNGなのか? というか、それ以前に、これ普通に出来るだろ。 ちょっとサンプル持ってくる。正座して待ってろ。
706 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 11:50:54 ID:eKTc1S97] 普通のEXEにして標準出力から受け取ればいいだけの話なのに わざわざオートメーションサーバー 作らなければならないと言い出す704は 当然COMが何なのかも知らないし普通のEXEも作れない知ったかのアホ
707 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 13:33:11 ID:4evyIg1O] > 普通のEXEにして標準出力から受け取ればいいだけの話なのに ここ、笑うところ?
708 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 15:29:12 ID:C7A55gUG] ファイルのdropで起動されたか、ファイルを指定されて起動されたか 区別する方法はないでしょうか?
709 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 17:10:55 ID:9g5HSWSr] >>705 足が大変なことになってますが、まだですか?
710 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 19:37:49 ID:BPvwMLAd] > 707 :名無し~3.EXE:2007/04/25(水) 13:33:11 ID:4evyIg1O > > 普通のEXEにして標準出力から受け取ればいいだけの話なのに > ここ、笑うところ? やっぱり意味わからなかったみたいねw
711 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 22:08:25 ID:XeOH9w0p] そうでもないか むしろ706のほうが解ってな(ry
712 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 22:45:02 ID:qRvMc+BJ] 「他プロセスのウィンドウのステータスバー内の文字列を標準出力」するexeを作って それをwshから呼べば、stdoutから文字が取得できるってことじゃないの? >>705 足が・・・
713 名前:名無し~3.EXE mailto:sage [2007/04/25(水) 23:04:36 ID:/zJ5vBV1] 済まぬ・・・ 他の事はかなり出来るようになったのだが なぜかステータスバーだけ取得できぬ・・・ こうなったら画像処理か・・・いやアホだ・・・
714 名前:名無し~3.EXE mailto:sage [2007/04/26(木) 01:32:30 ID:1rUsauG4] / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ○y-~~ < ステータスバーと一口にいっても、 |\ \ コモンコントロールのやつもあれば独自実装っぽいのもあるし _| ̄|○ ̄| \ 子にtoolbarとかもってるやつもあるし、まあ一発で取るのは難しいよね。 ↑ \____________________ >>713
715 名前:名無し~3.EXE mailto:sage [2007/04/26(木) 01:38:12 ID:sxwmgrUM] Jane使ってないけど 画像処理するぐらいならメッセージでもフックしてみたら? たぶんメッセージでテキストやり取りしてるでしょ。
716 名前:名無し~3.EXE mailto:sage [2007/04/26(木) 12:30:57 ID:C1h0Mixs] >>686 削除でなくごみ箱送りは?
717 名前:名無し~3.EXE [2007/04/27(金) 03:18:12 ID:LcwkbNjt] 「111.111.111.111:8888/ 」 「22.2.22.2:8080 」 このようなURL文字列のhttp://の部分とポート番号を削り、IPのみに置換するスクリプトを作っています。 具体的には上記の例だと「111.111.111.111」「22.2.22.2」こんな感じです。 先頭部分のhttp://の部分に限っては Replace(111.111.111.111:8888/,"http://","" ) このように指定してあげることで、削ってあげることができたのですが、 コロン部分、ポート番号、最後のスラッシュを削ってあげるにはどのように記述してあげればいいのでしょう? コロン以降を削るにも、httpの直後にコロンがありますし、ポート番号は千差万別、最後のスラッシュはあるかわからない。 このような状態でどうしたらいいのかまったくわかりません。 また、IPのみの場合はそのまま送れるようにしたいのですが、皆さんのお力を貸していただけないでしょうか?
718 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 03:42:45 ID:aQRmZHIa] 普通そういう場合正規表現を使うか、 InStr()で位置を調べMid()を使って分解する。
719 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 04:26:17 ID:2JiNl1j3] str.match(/[\d.]+/);
720 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 04:41:31 ID:LcwkbNjt] >>718 >>719 aaa = "111.111.111.111:8888/" bbb = Replace(aaa,"","" ) WScript.Echo bbb か 現状この状態で行き詰ってます・・・orz ググっていろいろ試しているのですが、頭が足りないせいかどうも上手くいきません。 もう少し詳しくお願いできませんでしょうか?
721 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 05:06:19 ID:aQRmZHIa] 2 > Windows Script 5.6 ドキュメント ダウンロード (exe 形式; 1.67 MB)
722 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/04/27(金) 05:11:38 ID:kn/mZrfu] >>720 基本的に>>719 のでいけるはずだけど、 ポート番号も削るとすると、↓みたいな感じかな。 var aaa = "111.111.111.111:8888/" var re = new RegExp("https?://(([0-9]{1,4}\.){3}[0-9]{1,4})[:0-9]*/","ig"); WScript.echo(aaa.replace(re, "$1")); JScriptで悪い。
723 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/04/27(金) 05:34:17 ID:kn/mZrfu] 連投スマソ。慣れないがVBSでも書いてみた。 Dim regEx, aaa aaa = "111.111.111.111:8888/" Set regEx = New RegExp regEx.Pattern = "https?://(([0-9]{1,3}\.){3}[0-9]{1,3})[:0-9]*/" WScript.Echo regEx.Replace(aaa,"$1")
724 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 05:46:54 ID:LcwkbNjt] >>722 >>723 ご親切にありがとうございます。 ただこれでは、最後にスラッシュの無いURLですと、上手く置換できないのですが、 ある場合、無い場合に両方とも対応させるにはどうしたらよいのでしょうか?
725 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/04/27(金) 05:50:48 ID:kn/mZrfu] >>724 regEx.Pattern = "https?://(([0-9]{1,3}\.){3}[0-9]{1,3})[:0-9]*/?"
726 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 05:55:45 ID:LcwkbNjt] >>725 即レスありがとうございます。 文字でしか感謝の気持ちを表せないことが非常に残念ですが、 このように親切に教えていただいたことを心より感謝します。
727 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 08:53:53 ID:/IsUTm2t] > 基本的に>>719 のでいけるはずだけど、 > ポート番号も削るとすると、 719のでポート番号も削れるよ。数字と .の連続にマッチするので、111.111.111.111:8888/ の場合なら 8文字目の1から、最初に出てくる数字と .以外の文字である23文字目の:の前までが一つ目のマッチになるから。 あとはマッチ全体ではなく、一つ目のマッチ部分のみを参照すればいいだけだから。 きちんとやるなら↓ね。 △ "https?://(([0-9]{1,3}\.){3}[0-9]{1,3})[:0-9]*/?" ○ "https?://((?:\d{1,3}\.){3}\d{1,3})(?::\d{1,5})?/?"
728 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 12:21:11 ID:BhprWh5I] なぜ>>719 のを見てすぐに 完全な正答である事に気づかないのか 毎度毎度・・・ 初心者が初心者に嘘を教えるスレ。 (727の事は言っていない)
729 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 16:44:00 ID:kn/mZrfu] >>728 >>719 は完全な誤答。
730 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/04/27(金) 16:49:19 ID:kn/mZrfu] もとい、正答(;´Д`) 正答なんだけど、IPじゃない数字の羅列にもマッチすると思ったわけ。
731 名前:名無し~3.EXE mailto:sage [2007/04/27(金) 18:00:12 ID:BhprWh5I] もうIP変わったと思って荒らそうとしたら 変わってなくて慌ててフォロー 何だかな・・・
732 名前:Adrienne ◆HI8ebVe8lo mailto:sage [2007/04/27(金) 18:21:09 ID:kn/mZrfu] >>731 いや、違うってw つーか、ケーブルだからIPずっと同じなんだよ(´ω`;) 正規表現に話を戻すと、\dじゃなく[0-9]を使っているのは >>719 をそのまま動かしてみてうまくいかないので、 JScriptでは\dが使えないと勘違いしたから。 よく考えると、\\dとエスケープすれば使えたわ。
733 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 00:42:00 ID:gbEJE2Wr] >>732 >正規表現に話を戻すと、\dじゃなく[0-9]を使っているのは >>>719 をそのまま動かしてみてうまくいかないので、 >JScriptでは\dが使えないと勘違いしたから。 >よく考えると、\\dとエスケープすれば使えたわ。 ??? >>719 はJScriptで、\dが使えてますが?
734 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 00:54:42 ID:DGfeoJja] なぜか/../でなく"..."の話をしてるみたい。 荒らしてるのこの人?
735 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 20:13:38 ID:nWx8uwlB] 置換がしたいっつってんのに>>719 はマッチしてるだけだし。
736 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 20:28:19 ID:nWx8uwlB] >>732 ちなみに>>722 の書き方だと"\."も"\\."にしとかないとね。 前者だと改行文字以外の任意の1文字にマッチするメタキャラクタになってしまう。
737 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 20:29:25 ID:QKMYYFHO] じゃあ>>719 のコードでどんな不都合があるか指摘してみなよ 不要な部分を削るだけならreplaceする必要はなくってmatchで十分 あと指摘しておくと、>>722 のコードは「完全な」間違いね // var aaa = "111.111.111.111:8888/"; var aaa = "1234567890:8888/"; var re = new RegExp("https?://(([0-9]{1,4}\.){3}[0-9]{1,4})[:0-9]*/","ig"); WScript.echo(aaa.replace(re, "$1")); // 1234567890:8888 単なるドットのつもりで \. としてるけど、あれはメタ文字。
738 名前:737 mailto:sage [2007/04/28(土) 20:33:17 ID:QKMYYFHO] ああかぶった・・・ >>735 最近荒らしてる人と勘違いした。ごめん >>737 の前段はスルーして
739 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 21:19:15 ID:gbEJE2Wr] >>735 >置換がしたいっつってんのに>>719 はマッチしてるだけだし。 まだわかんないのかねぇ。。。
740 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 21:47:26 ID:hpQQWhuy] >>735 実際は置換ではなく部分抽出なので、抽出する部分にマッチさせるだけでOKなんだよ。 JScriptのmatchメソッドは結果を配列で返すから、インデックス与えるだけでお望みの結果が得られるし。 var str = '111.111.111.111:8888/ '; WScript.Echo(str.match(/[\d.]+/)[0]); どちらかというと、(間違いではないけど)置換する必要ないのに置換メソッド使ってる>>723 の方に突っ込むべきでしょ。 あそこは$1にReplaceするべきところではなく、Testした上でExecute(aaa)(0).SubMatches(0)を参照すべきところだ。 因みにPatternが"[\d.]+"なら、Execute(aaa)(0).Valueを参照。置換と抽出は使い分けられるようにならなくちゃね。
741 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 22:00:47 ID:gbEJE2Wr] あと>>735 はJScriptで "abc"; のような記述の意味を理解してないみたい
742 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 22:08:57 ID:4ZNe92js] 関係ないけど個人的には JScriptの /abc/ のような記述は気に入らない。
743 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 22:48:50 ID:v4oX2IOi] 誤答を取り消して正答って書いたまでは 間違いという事にしてやっても良かったが その後また719がマッチしてるだけとか、 別人を装って自分のレスに突っ込み入れる自演・・・ 大丈夫この人?
744 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 23:24:56 ID:nWx8uwlB] 正直>>717 の > このようなURL文字列のhttp://の部分とポート番号を削り、IPのみに置換するスクリプトを作っています。 からどうして目的が「置換じゃなく抽出」となるのかが理解できんのだが (もしかして>>720 の「WScript.Echo bbb」からそう判断?)、 そうだとして、>>719 の表現はいくら何でも乱暴過ぎて (単独の"0"や"."も拾いまくる。ってかその前にgオプションが要るだろこれ) 少なくとも私にはこれを「完全な正答」と自信満々に言い切る>>728 のほうが ピント外れに思えるんだが。 matchメソッドでの戻り値の配列から抽出するならせめて (JScriptの正規表現で肯定後読みができるとの前提で) str.match(/(?<=https?:\/\/)(?:\d{1,3}\.){3}\d{1,3}(?=(?::\d{1,5})?\/?)/g); とすべきでは?「完全な正答」と言い切るならね。 # 悲しいかな、JScriptの正規表現は肯定/否定後読みをサポートしていない。
745 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 23:28:05 ID:nWx8uwlB] あああああああ もしかして今検索対象文字列は「URLそのもの」なのか? だとしたらなるほど>>719 は「完全な正答」だ。すまん。 俺は勝手に検索対象として一般的な文字列を仮定していた。
746 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 23:32:44 ID:nWx8uwlB] ん?何なに? もしかして俺>>730 と勘違いされてるわけ? 証明する手段はないけど、違うとだけは言っておこう。 どうでもいいけど。
747 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 23:40:41 ID:pMakl6sH] 質問した人ですが、もはや何がどう進んでいるのか理解の範囲を超えました。 お願い!私のために争わ(ry とりあえずhttpから始まるアドレスを送ると変換するスクリプトとして wwww = WScript.Arguments.Item(0) Set dddd = New RegExp dddd.Pattern = "https?://((?:\d{1,3}\.){3}\d{1,3})(?::\d{1,5})?/?" WScript.Echo dddd.Replace(wwww,"$1") 本来なら別のアプリケーションに送る作業をしていますが、 こんな感じで書いてあるのですが間違っていませんよね? ちなみに置換する文字列はURLそのものではないでしょうか? IPのみが送られることもありますが、その場合は置換する必要がありません。
748 名前:名無し~3.EXE mailto:sage [2007/04/28(土) 23:42:51 ID:LcYBLA0G] 明らかに別人でしょ ああいうのは放っおいていいから
749 名前:748 mailto:sage [2007/04/28(土) 23:45:04 ID:LcYBLA0G] 「ああいうのは」って>>743 のことな
750 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 00:03:58 ID:ahTiRjDP] こういうライブラリで処理したら? ttp://lukewarm.s151.xrea.com/test/read.cgi/b/1163165308/28
751 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 01:01:48 ID:IvFkw0Il] >>728 >初心者が初心者に嘘を教えるスレ。 初心者が自問に自答して自分に感謝と突っ込みを入れるスレ。 みたい
752 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 02:57:20 ID:fjLqhoab] 他のScript関係のスレの荒らしにウンザリして 逃げてきたんだけど ダメだこりゃ
753 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 03:07:14 ID:fjLqhoab] 漏れは710なんだけど 711がID違うのも平気で 勝手にレス継続してるの見て ああ、ここにもいたのか、こういう手合 と思った。 しかし荒らすのはまあいいとして(笑) 初心者過ぎるのはどうにかしろ。 一人だけ余りに初心者過ぎて誰が書いてるかバレバレ
754 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 03:33:10 ID:NcM4uAaB] >一人だけ余りに初心者過ぎて誰が書いてるかバレバレ 試しに直近50件からその「バレバレな一人」のレス全部挙げてみてくれ
755 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 03:40:35 ID:2wYUlGKh] たとえば、こんな荒れる質問をしてしまった俺とか。 ブツは無事に完成してるんですよ?
756 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 05:35:44 ID:uQG0bLUr] まぁ君は何も悪くないから気にするな。 引き続き>>753 の回答を待つとしますか。 なにしろ >一人だけ余りに初心者過ぎて誰が書いてるかバレバレ というくらいなのだから どうってことない実に簡単な作業だろうし。 しかし >他のScript関係のスレの荒らしにウンザリして >逃げてきたんだけど なんて言っているわりには、次の投稿で >初心者過ぎるのはどうにかしろ。 >一人だけ余りに初心者過ぎて誰が書いてるかバレバレ ってな荒れる要因を積極的に投下して、 一体どういう神経してんのかね。やれやれ。
757 名前:678 mailto:sage [2007/04/29(日) 11:52:35 ID:pw3YevD6] 荒らしはスルーで
758 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 18:48:32 ID:etPQI3Tt] いちいちID切り替えてご苦労な事で・・・
759 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 18:55:36 ID:rUMvvbLJ] と、荒らしID:fjLqhoabが申しております
760 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 19:04:08 ID:38gusqza] とりあえず>>747 の変数名に突っ込みを入れる勇者はいないのですか
761 名前:名無し~3.EXE mailto:sage [2007/04/29(日) 20:15:43 ID:IvFkw0Il] >>747 は>>719 をVBScriptに翻訳できんのかね? >>740 を見てもまだ分らんの?こりゃ重度の‥‥
762 名前:名無し~3.EXE mailto:sage [2007/04/30(月) 14:53:55 ID:ACMQHVEa] ところで、正規表現など使わなくても InternetCrackUrlとか hrefに入れてhostnameを取り出すとかすれば
763 名前:名無し~3.EXE mailto:sage [2007/04/30(月) 18:02:49 ID:rfORYBWQ] 逆も言えるね。 InternetCrackUrlなんて使わなくても、正規表現使えば簡単に… ってな。
764 名前:名無し~3.EXE mailto:sage [2007/05/01(火) 13:14:05 ID:yT4xCCv9] LAN内にpingを打って返ってくるかこないかで処理を分けるにはどうすればいいのでしょう。 以下のようなのを書いてみて、一応は事足りてはいるのですが、もっといいやり方がありそうな気がします。 var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("%comspec% /c \"ping.exe -w 10 192.168.0.6 | find.exe \"Reply\"\""); if (oExec.StdOut.Read(1)) { WScript.Echo("aru"); }else{ WScript.Echo("nai"); }
765 名前:名無し~3.EXE mailto:sage [2007/05/01(火) 14:10:36 ID:6oHOJlSu] > もっといいやり方がありそうな気がします。 どうしてそう思うのか、15文字以内で理由を述べよ
766 名前:名無し~3.EXE mailto:sage [2007/05/01(火) 15:50:57 ID:G+ZKU8gW] >>764 いい勘してるな。うまいやり方は確かにある。
767 名前:名無し~3.EXE mailto:sage [2007/05/01(火) 16:40:31 ID:8m0EqL9y] >>764 pc11.2ch.net/test/read.cgi/tech/1148485555/901-910
768 名前:名無し~3.EXE mailto:sage [2007/05/01(火) 16:50:20 ID:rxCuFFZB] しかし台詞の一言一言に大分恥ずかしいものがあるな・・・
769 名前:678 mailto:sage [2007/05/01(火) 18:47:06 ID:3MRBko9y] >>764 使ってるOSが Windows XP / Windows Server 2003 以降なら、 WMI ping あたりでググってみ。
770 名前:名無し~3.EXE mailto:sage [2007/05/03(木) 17:41:34 ID:+AKTZjlP] XP Home Editionでlogoff/shutdown scriptを使えるようにできない?
771 名前:名無し~3.EXE mailto:sage [2007/05/08(火) 19:53:37 ID:bJAyYqFQ] Wscript.Echo("ほしゅ"); Wscript.Echo("ほしゅ");
772 名前:名無し~3.EXE mailto:sage [2007/05/08(火) 20:08:51 ID:ixPnD11N] >>771 WScript
773 名前:名無し~3.EXE mailto:sage [2007/05/09(水) 06:19:38 ID:iQjYX/E4] JScript5.7(IE7やVistaに同梱)の不具合修正パッチ ttp://support.microsoft.com/?kbid=933812 夏時間を無視。 ttp://support.microsoft.com/?kbid=933873 32kB以上? 32k命令? を無視。 パッチは同じなのでお好きな方を。
774 名前:名無し~3.EXE mailto:sage [2007/05/18(金) 23:14:45 ID:lCUQX7nR] >>772 失礼 WScript.Echo("ほしゅ"); WScript.Echo("ほしゅ");
775 名前:名無し~3.EXE mailto:sage [2007/05/18(金) 23:50:02 ID:KXgJnFbG] WScript.echo
776 名前:名無し~3.EXE mailto:sage [2007/05/19(土) 17:46:31 ID:MEXVxhB1] InputBox "お前ら、wsh使ってますか?"
777 名前:名無し~3.EXE mailto:sage [2007/05/19(土) 18:27:30 ID:WP3h4HZ7] Dim Wsh set Wsh = WScript.CreateObject("WScript.Shell") Wsh.Popup "ウィンドゥズから2文字とってウィッシュにすれば良かったのに", 3, "WISH", 32
778 名前:名無し~3.EXE mailto:sage [2007/05/19(土) 21:01:27 ID:wfuQjMOY] Dim Wish set Wish = WScript.CreateObject("WScript.Shell") Wish.Popup "こうですか?", 3, "WISH", 32
779 名前:名無し~3.EXE mailto:sage [2007/05/19(土) 21:44:55 ID:WP3h4HZ7] そうか! Dim Wish set Wish = WScript.CreateObject("WScript.Shell") Wish.Popup "I wish wsh becomes wish. (・∀・)ウィッシュ!ウィッシュ!", 3, "WISH", 32
780 名前:名無し~3.EXE mailto:sage [2007/05/20(日) 10:08:43 ID:47BhqPae] エクスプローラの「アイコンの整列」で時系列順と名前順を頻繁に切り替えるので、 そのふたつの状態をトグルで切り替えられるスクリプトを書きたい。 「アイコンの整列」の状態を取得・更新するためのプロパティって、どうやったら見れるのでしょうか。 どうかえらい人教えてください。
781 名前:名無し~3.EXE mailto:sage [2007/05/20(日) 14:00:04 ID:dUIRo6AY] WebブラウザのInternetExplorerはActiveX化されてるけど ファイラーのExplorerはActiveX化されてなかったと思うが。 WSHはActiveXじゃないと外部ソフトの操作はSendKeysくらいでしか出来ないよ。 外部ソフトを操作するActiveX.dll(COM)を自作するとか DynaCallでWin32API使うというなら話は別だけど。 というかWin32API使える無料の開発環境でも落としてきて作った方が早そうだな。
782 名前:名無し~3.EXE mailto:sage [2007/05/20(日) 15:13:07 ID:nSmIDUa9] ExplorerもActiveXコンポーネントになっている ただ、780のようなことはできなかったと思うけど
783 名前:名無し~3.EXE mailto:sage [2007/05/20(日) 23:38:28 ID:1oxHueti] またお前か。アホ杉
784 名前:名無し~3.EXE mailto:sage [2007/05/21(月) 19:39:11 ID:A1hLc1nS] >>780 sendkeys
785 名前:780 mailto:sage [2007/05/22(火) 00:15:01 ID:AyEAbPGp] そうか……できないのかー。 WSHってなんでもできるんだと感動していた初心者だったけど、 やっぱりWSHにも壁はあったんだね。そうだったんだね。 皆教えてくれてありがとう! 結局、X-Finderに乗り換えることにしました。 処理も軽くて機能も多いのでオーライ。 WSHぜんぜん関係なくなったけど。 >>784 現在の状態が取得できないとトグルにできないのが残念なところ。
786 名前:名無し~3.EXE mailto:sage [2007/05/22(火) 02:48:45 ID:JlY1xoAR] sendkeysしてみて、Class ShellFolderViewのEvent EnumDone()が 起きれば変更されたと分るんじゃないかな
787 名前:名無し~3.EXE mailto:sage [2007/05/22(火) 14:43:14 ID:JlY1xoAR] 昇順降順のtoggleになってるからだめだね Folder.Items().Item(0)〜を見れば大体の見当は付くのでは
788 名前:名無し~3.EXE mailto:sage [2007/05/27(日) 07:49:11 ID:35trjwIR] UTF-8 のテキストファイルを読み込んで、 一部を変更して、また UTF-8 で出力させたいのですが、 どんな作戦で行けばよろしいでしょうか。 練習として以下のように、読んだものをそのまま書き出そうとしてみましたが、 それすら文字化けしてしまいます。どうすればよいですか? ( ADODB.Stream というものを使えばできるらしいのですが、よく分かりません ) ------------------------------------------------------------------- Option Explicit Const ForReading =1, ForWriting = 2, ForAppending =8 Dim FSO, Input, Output, CurrentLine Set FSO = CreateObject("Scripting.FileSystemObject") Set Input = FSO.OpenTextFile( "Input.txt", ForReading ) Set Output = FSO.OpenTextFile( "Output.txt", ForWriting, True ) While Not Input.AtEndOfStream CurrentLine = Input.ReadLine Output.WriteLine CurrentLine WEnd Input.Close Output.Close -------------------------------------------------------------------
789 名前:名無し~3.EXE mailto:sage [2007/05/27(日) 08:29:02 ID:d7qwcdZx] >>788 > ( ADODB.Stream というものを使えばできるらしいのですが、よく分かりません ) いや、調べろよ。ネットにいくらでもサンプル転がってんだからさ。 一つ言っとくと、FileSystemObject じゃ無理。
790 名前:678 mailto:sage [2007/05/27(日) 16:08:11 ID:q00Zzyug] FileSystemObject にバイナリモードがあればなぁ...。
791 名前:名無し~3.EXE mailto:sage [2007/05/28(月) 01:33:36 ID:XjJA1/p+] OpenTextFile や CreateTextFile といったメソッド名は OpenBinaryFile や CreateBinaryFile といった将来的な拡張を期待させるんだが。 > FSO オブジェクト モデルは、スクリプティング タイプ ライブラリ (Scrrun.dll) に格納されており、 > TextStream オブジェクトによってテキスト ファイルの作成および操作をサポートします。 > バイナリ ファイルの作成および操作については、まだサポートしていませんが、将来サポートする予定です。 どんだけ待たせんだよ。 ADODB.Stream オブジェクトの操作で代用出来るからって 事実上放置状態なの? まぁバイナリファイルの操作はBASP21で事足りてるが。 やはり標準でサポートしてもらいたいところ。
792 名前:名無し~3.EXE mailto:sage [2007/05/28(月) 07:09:46 ID:GVz6b+cG] PowerShell 及び .NET Framework に移行してってことじゃね
793 名前:名無し~3.EXE mailto:sage [2007/05/28(月) 12:31:38 ID:JxdXlebb] >>791 Windows PowerShellが出たからもうWSHはメンテのみで機能強化はない 不満なら↑で.NET Frameworkのクラスライブラリを呼び出せばいい
794 名前:名無し~3.EXE mailto:sage [2007/06/01(金) 01:27:36 ID:bJQTtEuK] バイナリファイルの書き換えとかは.NETなんか使わなくとも XPとかでは普通にできる訳だが、多少面倒だわな つか何言ってんだよw WSHはもう何年も前からウィルス扱いなんで まともな機能が追加されるはずがないだろ。 使えるコンポーネントはゴミばかりだっつーの
795 名前:名無し~3.EXE mailto:sage [2007/06/01(金) 10:04:36 ID:tTkE71Pg] >>794 WSHに代わるスクリプト言語で、最近の流行は何? 実行エンジンはWindows標準でついてるもので。
796 名前:名無し~3.EXE mailto:sage [2007/06/01(金) 19:30:05 ID:hBq+oeU8] WSHが言語ですって・・・ ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
797 名前:名無し~3.EXE mailto:sage [2007/06/01(金) 23:24:16 ID:9i7Jo/Z3] bat
798 名前:名無し~3.EXE mailto:sage [2007/06/01(金) 23:33:46 ID:NRR7s1fy] Windows標準ってったら限られるでしょう。 VistaですらPowerShell標準で入ってないし。 そういやIronPythonってのもあったな。
799 名前:名無し~3.EXE mailto:sage [2007/06/02(土) 02:06:08 ID:t0/jh1TP] >>795 もはやスクリプトやバッチの存在そのものが危険要素だし。 2chとか見れば掲示板にrdとか貼り付けるの続出だし まともで使いやすい機能つけたら何しでかされるやら・・・ 従って標準でそういう便利なものが入る事はこれからも多分有り得ない。 間違えてIEで使えるようにしてしまったADODBもすぐブロックされた訳だし、 folder.httのように無かった事にされたのもあるし(涙) WSHで色々な事ができる、と言っても馬鹿みたいなコーディングになったり 全然使えない仕様のが出来たりするばかり。 WSHだけで何でもやろうとする人いるみたいだけど 遊びならともかく仕事で使うにはとてもとても・・・ >>796 言語でも別に問題ないだろ
800 名前:678 mailto:sage [2007/06/02(土) 12:48:32 ID:Tox5gCCd] 自分が使えないからって、そこまで嫌悪しなくてもいいのにね。(w まあ、 > 言語でも別に問題ないだろ なんて言ってるぐらいだから、何も理解できてないんだろうな。
801 名前:795 mailto:sage [2007/06/02(土) 15:38:31 ID:sJzH3K8W] >>796 ごめんなさい でも、Unix系ならperlは準標準みたいなもんだし それに代わる何かはやっぱり欲しいよ
802 名前:名無し~3.EXE mailto:sage [2007/06/02(土) 21:14:09 ID:V+wqZ1WK] 795のことじゃないが、 大したことも言ってないレス番をコテハンにして無駄に自己主張するのって流行ってるん?
803 名前:名無し~3.EXE mailto:sage [2007/06/02(土) 21:22:05 ID:HpzWdFlY] >>802 後々まで読み返してもらいたい会心のレス(のつもり)だったんだったりしてなw
804 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 04:08:45 ID:IWupGHOH] だったんだったり?
805 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 04:51:34 ID:ZxizyGM/] だったん人の踊り
806 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 10:26:35 ID:V6O5Vhs0] ダダ星人 「<<807」
807 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 14:48:45 ID:M7V2Ms+i] UNIX系は基本的にユーザー自身に Cが使える事が前提みたいな物だからな。 WindowsでもC使えれば問題ないし
808 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 15:35:21 ID:r5V6kpWr] C くらい誰でも書けるだろ。いや煽りとかじゃなくて、 wsh 使うようなやつならなおさら。
809 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 16:32:07 ID:b/QnnZbo] 正直ソース拾ってきてBCCでコンパイルするぐらいにしか使ってない
810 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 19:56:39 ID:M7V2Ms+i] 誰でも書けるはずないだろw WSH使うような奴ならなおさらw
811 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 20:43:57 ID:2mijn1fZ] 日本人の8割は書けない
812 名前:名無し~3.EXE mailto:sage [2007/06/03(日) 23:50:59 ID:b/QnnZbo] 仮性包茎とCを一緒くたにするのはどうかと思うんだ うん
813 名前:名無し~3.EXE mailto:sage [2007/06/04(月) 05:28:55 ID:joPUDTqQ] だったら男の8割だろ?日本人全体なら4割だろ。 もっとも女でも○ケてる○ケてないで 判断できるかもしれんがwww
814 名前:名無し~3.EXE mailto:sage [2007/06/04(月) 05:35:39 ID:hG9jg+BN] でもWinって標準でCコンパイラ入ってないよな? >>795 が言いたかったのはそういうことなんじゃ
815 名前:名無し~3.EXE mailto:sage [2007/06/04(月) 22:39:30 ID:LmzJEMQb] オフィス2003にしたらscript editorとかいうのがあるのに気付いたんですが、これでスクリプトのデバッグができるんでしょうか? やさしい解説サイトとかないですかね?
816 名前:名無し~3.EXE mailto:sage [2007/06/05(火) 20:26:19 ID:u/nTCPgP] 確かWSHのデバッガもあったはず。 全く使った事ないけど。
817 名前:名無し~3.EXE mailto:sage [2007/06/05(火) 21:00:49 ID:sFfY/O22] 漢ならmsgboxだけでデバッグしる!
818 名前:名無し~3.EXE mailto:sage [2007/06/05(火) 22:12:29 ID:EKSzdYna] デバッガ使わずに実行デバッグやるならcscript+WScript.Echoの方がいいよ。 結果が残るし、MsgBoxと違って部分コピペ楽だし、WScript.Echoの後に WScript.Stdin.ReadLineを入れればEnter押すまで停止 WScript.Sleep入れれば任意時間停止 入れなければ出力のみで停止無し、と使い分けられし入力も出来る。 MsgBoxだと「Enter押すまで停止」しか出来ない。 WshShellのPopupなら「任意時間停止」も出来るけどね。 だからこそ、そういう不便な物でデバッグやるのが漢だと言うのかも知れないが。
819 名前:名無し~3.EXE mailto:sage [2007/06/06(水) 03:36:13 ID:FCaZ9cio] でOffice 2003の話は?
820 名前:名無し~3.EXE mailto:sage [2007/06/06(水) 07:15:29 ID:dT8F868I] シラネーヨ
821 名前:名無し~3.EXE mailto:sage [2007/06/06(水) 23:42:31 ID:UPeqzG+/] 昔々、ここのスレの方に手伝ってもらってできたもの。還元。 www.geocities.jp/madly_aloe/imjs.zip なんとなく放置気味で落とせなくなっていたので。 微妙に自動インデント機能追加した。デバッグにもどうぞ。 cscript imjs.js [デバッグしたいファイル。] って感じ。動作確認にも便利。
822 名前:名無し~3.EXE mailto:sage [2007/06/07(木) 23:18:18 ID:Ejm52VK9] デバッグってあんまり話題にならないから参考になりました 感謝
823 名前:名無し~3.EXE mailto:sage [2007/06/07(木) 23:37:53 ID:YWbfCbJY] ぶっちゃけRhinoだな。
824 名前:名無し~3.EXE mailto:sage [2007/06/10(日) 15:34:00 ID:DAdn2QUR] ファイルの行数を数えようとAtEndOfStreamでカウント取ろうとしたら無限ループに陥った 空読みしないとポインタが進まないのね・・・
825 名前:678 mailto:sage [2007/06/10(日) 17:28:54 ID:fWS3EzOx] そりゃ AtEndOfStream の呼び出しでポインタ進んだら困るだろ。
826 名前:名無し~3.EXE mailto:sage [2007/06/10(日) 18:16:43 ID:odZ23lIs] ちょっと考えりゃ分かることなのにな。
827 名前:名無し~3.EXE mailto:sage [2007/06/10(日) 18:18:21 ID:FJ0Um+f/] WSHからMCIってどうやって制御するん? もしかして出来ないのか?
828 名前:名無し~3.EXE mailto:sage [2007/06/10(日) 18:28:59 ID:Q4mnrcCU] >>824 SkipLine
829 名前:821 mailto:sage [2007/06/10(日) 20:13:43 ID:Onv6LJJz] Jashみたく補完機能とか付けたいんだけどWScriptオブジェクトのプロパティの 名前ってどうやって取ってくるの?
830 名前:名無し~3.EXE mailto:sage [2007/06/10(日) 20:56:15 ID:Q4mnrcCU] >>829 タイプライブラリ
831 名前:821 mailto:sage [2007/06/10(日) 21:51:53 ID:Onv6LJJz] >>830 thx!!
832 名前:名無し~3.EXE mailto:sage [2007/06/11(月) 01:14:09 ID:uVumgOHQ] 821のことじゃないが、 大したことも言ってないレス番をコテハンにして無駄に自己主張するのって流行ってるん?
833 名前:名無し~3.EXE mailto:sage [2007/06/11(月) 01:18:10 ID:uVumgOHQ] ↑いや、これはマジで821のこと言ってるつもりじゃないんだけどね。 (気にせんでくれ>>821 )
834 名前:名無し~3.EXE mailto:sage [2007/06/11(月) 01:54:29 ID:IEwmwztl] >>832 >>803 そっとしておいてあげて 彼のちっぽけなプライドが傷付いちゃうから
835 名前:名無し~3.EXE mailto:sage [2007/06/11(月) 09:53:34 ID:uv8jjJR1] キモい
836 名前:名無し~3.EXE mailto:sage [2007/06/11(月) 19:22:14 ID:hgowUgDr] >>834 IDがIE関係の何かのツールみたい
837 名前:名無し~3.EXE mailto:sage [2007/06/12(火) 02:57:51 ID:LoWeRUTB] >>836 歯がウジだらけじゃない?
838 名前:名無し~3.EXE mailto:sage [2007/06/12(火) 06:10:17 ID:oo++7sj9] >>837 お前はロウェルトビーな奴だな!
839 名前:名無し~3.EXE mailto:sage [2007/06/16(土) 23:55:26 ID:OW/2sypB] コールバック関数って使えないの?
840 名前:名無し~3.EXE mailto:sage [2007/06/16(土) 23:59:58 ID:9upkKUNB] なんに?
841 名前:名無し~3.EXE [2007/06/17(日) 00:00:09 ID:Dfksh/gM] age
842 名前:名無し~3.EXE mailto:sage [2007/06/17(日) 00:19:17 ID:XImUwll5] >>840 コールバック
843 名前:名無し~3.EXE mailto:sage [2007/06/17(日) 00:35:15 ID:ltEHne1B] 関数のアドレスが分からんから無理っしょ。 常識的に考えて
844 名前:名無し~3.EXE mailto:sage [2007/06/17(日) 00:53:54 ID:bnlBKe1/] アドレスがわかったとしてそれをどーするのか、と。
845 名前:名無し~3.EXE mailto:sage [2007/06/17(日) 00:56:56 ID:bnlBKe1/] OLE流のコールバックならある事はあるけどな。
846 名前:名無し~3.EXE mailto:sage [2007/06/17(日) 22:27:06 ID:VKMLzsQR] JavaScriptなら関数でも、関数がメンバのオブジェクトでも引数にできるけど、 そういう話ではない?
847 名前:名無し~3.EXE mailto:sage [2007/06/26(火) 12:51:09 ID:CP6U2REC] >>846 まあIEとかだとそんな感じでイベントハンドラ指定するだろうけど。 OLEはあとコネクションポイントもあるけど。 >>839 は意味不明だな。そもそもWin32 APIが使えないのに。 APIをコールできて(APIの)コールバックもシミュレートする コンポーネント作ったとかいうブログがあるけど 作者が宣伝に来たかな?
848 名前:名無し~3.EXE mailto:sage [2007/06/26(火) 20:25:58 ID:UK2pdIKC] ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1008.mspx ↑を参考にしてローカルのadministratorでも ドメインユーザーを追加出来るようにしたいんだけど無理かな。 ドメインユーザを追加できる権限を持つユーザのユーザIDとパスワードを どうやって渡すのか解らなくてはまってる。 ドメイン参加の場合は↓ユーザIDとパスワード渡せるのに上では何か不便。 www.microsoft.com/japan/technet/scriptcenter/scripts/ad/computer/cptrvb06.mspx 何か知っている人います?
849 名前:名無し~3.EXE mailto:sage [2007/06/27(水) 21:56:43 ID:VWf9EHKN] ドメコンからlocalmachine\administratorにadduser権限付けてやりゃ良いだろが
850 名前:名無し~3.EXE mailto:sage [2007/06/27(水) 23:18:39 ID:FiTR9zSt] >>849 コメントありがとうございます。それは出来ない運用になっているのです。 限られたドメインユーザのみ他の一般ドメインユーザを追加出来る様に運用しています。 ですので現在追加するとき認証ダイアログから ユーザID:domain\hogehoge パスワード:****** としてから追加しているのです。この認証情報も渡す事が出来ればと思いまして 質問させて頂きました。
851 名前:名無し~3.EXE mailto:sage [2007/06/27(水) 23:59:13 ID:VWf9EHKN] ほいだら
852 名前:名無し~3.EXE mailto:sage [2007/06/28(木) 00:02:00 ID:VWf9EHKN] 途中送信スマソ ほいだら、OSコマンドのnet user /domain /add usernameみたいなのを runasかますかなんかしてshellexecuteでキックすればいいんでないの? ActiveDirectoryだったら、CDのSupportかなんかに便利そうな ツールいっぱいありそうだけど、詳しく知らないので確約できナス
853 名前:848 mailto:sage [2007/06/29(金) 20:15:22 ID:jFptocCk] >>852 アドバイスthx!! runas /noprofile /user:domain\hogehoge"cscript.exe C:\Scripts\test.vbs" でいけた! あとはhogehogeの部分とC:\Scripts\test.vbsが相対パスかカレントディレクトリで 指定できるように改造します。 本当に感謝!
854 名前:848 mailto:sage [2007/06/29(金) 20:18:07 ID:jFptocCk] やべ興奮して日本語が変になった。すいません。 あとはhogehogeの部分を入力方式にして そして"C:\Scripts\test.vbs"が相対パスかカレントディレクトリ取得で 指定できるように改造します。
855 名前:名無し~3.EXE [2007/06/29(金) 21:39:41 ID:kEXg+Fpo] CDのトレーを閉じたいんだけど、出来る?
856 名前:名無し~3.EXE mailto:sage [2007/06/29(金) 22:00:33 ID:3Ycil6FA] WSH自体では出来ないけど、外部のコンポーネントやツールを使って良いなら出来る
857 名前:名無し~3.EXE mailto:sage [2007/06/29(金) 22:15:20 ID:kEXg+Fpo] >>856 外部コンポーネントか・・・ IEとかエクセルの使えば出来るかな? なんかインストールしなくてもいいやつで
858 名前:名無し~3.EXE mailto:sage [2007/06/29(金) 23:36:01 ID:u0d9hMDS] 君は言葉の使い方から覚えた方が良い
859 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 06:39:27 ID:Dw05PCbS] >>855 pc11.2ch.net/test/read.cgi/tech/1176698934/117 トレイ空いた状態で Set WMP = CreateObject("WMPlayer.OCX") WWMP.cdromCollection.item(0).eject WWMP.cdromCollection.item(0).eject こうやるとできるみたいだよ。ejectなのにw WSHが壊れるみたいだけど♥
860 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 15:30:45 ID:Kan5FiJ6] 別に壊れないし、ちゃんとやればWSHも終了する
861 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 16:23:31 ID:0toxHbhu] やれやれ。何の妄想か知らんけど 終了しなくなるのは普通壊れるって言うの。 ちゃんとも何もスクリプトでは これはごく普通のコード。 何のためにVariantClearがあると思ってんだよ。
862 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 16:33:45 ID:7s4ErC2+] ゴミプロセスが残るとは言うが、壊れるとは言わないな。 壊れるってのはwshのコンポーネントがおかしくなったりしたら当てはまるだろうけど。 いったいどこの普通なのだろう。
863 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 20:03:43 ID:Y/1PoJPy] >>859 閉じたいっつってんだろ ちゃんと聞けよこのドア帆が
864 名前:名無し~3.EXE mailto:sage [2007/07/01(日) 22:13:15 ID:Kan5FiJ6] >>861 何の妄想か知らんけど、君の脳内限定の常識が 世間一般でも通用すると思わないでね
865 名前:678 mailto:sage [2007/07/02(月) 00:25:45 ID:qR6/c1TB] >>860 > ちゃんとやればWSHも終了する kwsk >>863 ごちゃごちゃ言ってないで、>>859 の言う通りやってみ。 ただし、2〜3行目は × WWMP.cdromCollection.item(0).eject ○ WMP.cdromCollection.item(0).eject だと思うが。
866 名前:名無し~3.EXE mailto:sage [2007/07/02(月) 16:01:35 ID:NwbhG/+y] wscript.exeのプロセス残さず終了するみたいだけど@Vista プロセスが残る人はWMP.close()とかしてみたらどう?
867 名前:名無し~3.EXE mailto:sage [2007/07/02(月) 17:13:32 ID:r7RxEpCG] XPでも問題なし。でも、Win2kだとプロセスが残るみたいだな。
868 名前:名無し~3.EXE mailto:sage [2007/07/03(火) 00:28:34 ID:6BmsY8Wk] WMPの修正が出てるみたい。Windows Updateしなはれ
869 名前:678 mailto:sage [2007/07/03(火) 21:17:01 ID:t4OQPhQ+] WMP 最新版 (9.00.00.3349) にしたけど駄目だった... orz
870 名前:名無し~3.EXE mailto:sage [2007/07/04(水) 02:18:13 ID:goc1OeTW] CreateObject("MSWebDVD.MSWebDVD").eject うまく行かんな
871 名前:名無し~3.EXE mailto:sage [2007/07/04(水) 09:19:57 ID:IfTdLpgR] >>869 確かにそのバージョンでwscriptがバックに残るのを確認したよ 9じゃなく8なら大丈夫かもね
872 名前:名無し~3.EXE [2007/07/07(土) 17:21:28 ID:Hb+rLCB5] 下記のソースで共有フォルダを作ると「アクセスが拒否されました」 がでてしまします。 何かご存じの方がいらしたら、ヒントをお教えください。 ・実行したpc:windowsXP(sp2) ・ユーザー:admin権限あり ・スクリプトは問題なく実行されます。プロパティでも共有にチェック入りました。 ・共有は簡易共有 ・手作業で共有フォルダを作ると問題なし ・拒否されたpc:XPsp2,2000sp4(マイネットワークからは見える) (mにはフォルダ名、nには共有名が入ります) --------------------------------------------------------------- Const FILE_SHARE = 0 Const MAXIMUM_CONNECTIONS = 25 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set objNewShare = objWMIService.Get("Win32_Share") errReturn = objNewShare.Create _ (m, n, FILE_SHARE, _ MAXIMUM_CONNECTIONS, "Public share") ---------------------------------------------------------------- 何か足りない気がしてググったりしてみたのですが、お手上げ状態になって しまいました。 こうするといいかもと言うヒントで結構ですのでよろしくお願いします。
873 名前:名無し~3.EXE mailto:sage [2007/07/07(土) 19:43:41 ID:IkCZnvKX] その手のメソッドを使ったこと無いけど、XP,2Kじゃ最大接続数が10だからじゃねーの?
874 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 05:38:49 ID:xUbCf4be] >>861 脳内用語フイタ
875 名前:名無し~3.EXE [2007/07/08(日) 11:17:52 ID:ySfZz1Mb] 872です 一応解決しました。 結局共有の設定はできていて、フォルダのセキュリティに 権限が足りていなかったので、アクセス拒否されたって事 みたいでした。 なので、フォルダのセキュリティにユーザーを追加する スクリプトを実行して解決しました。(今回はeveryone) あ、osはよく考えたらxp proでした。homeがないので テストできないんすけど、何か違いがあるのかな?
876 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 13:47:20 ID:T41Asqy1] 未開封のMeを貰ったのだけど(金と銀の2枚DISKのやつ)インストールDISKてどうやって作るのでしょうか?
877 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 14:02:51 ID:btismvLv] スレ違いじゃね? まあマジレスすると、あと銅のディスクが必要
878 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 16:33:02 ID:u6K+Fvbl] 五輪か三種の神器っぽいな
879 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 22:02:43 ID:gIJtA/ES] あのー クリップボードの画像をJPGに変換するVBS作ってくれませんか?
880 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 22:12:34 ID:8a2z5ma9] IrfanViewでも使え
881 名前:名無し~3.EXE mailto:sage [2007/07/08(日) 22:56:45 ID:PKXkFITB] SendToConvertでも使え
882 名前:名無し~3.EXE mailto:sage [2007/07/09(月) 00:07:39 ID:2vI08xWK] softじゃだめなのよ お願い
883 名前:名無し~3.EXE mailto:sage [2007/07/09(月) 00:33:18 ID:i5t8KIyz] 無理じゃね?
884 名前:名無し~3.EXE mailto:sage [2007/07/09(月) 01:00:56 ID:JHYMYW01] じゃあSendKeysでペイントにでも貼り付けて保存しろ
885 名前:名無し~3.EXE mailto:sage [2007/07/09(月) 06:43:32 ID:uBj5RvIM] >>879 VBSとWSHにはクリップボードを操作する機能も、画像を変換する機能もないので無理です そういうことが出来るCOM使えば可能だけど、COMの導入にはレジストリへの登録が必要なので COMよりそういうアプリを使った方が手軽だよ それでもVBSでやりたいの?
886 名前:名無し~3.EXE mailto:sage [2007/07/09(月) 07:20:27 ID:d7kDyIj4] どうせロクな目的じゃないからほっとけよ
887 名前:名無し~3.EXE mailto:sage [2007/07/10(火) 21:22:00 ID:uOatR1Kv] 自分でexe作って呼び出せばいいんじゃないの? 以上
888 名前:名無し~3.EXE mailto:age [2007/07/14(土) 17:55:15 ID:GfgVyhQB] WSHの Wscript.Shell の sendKeysでアプリケーションの操作を自動化したいのですが そのアプリケーションってのがFileZillaっていうFTPクライアントなのですが 以下の問題にぶち当たって自動化できません。この場合WSHでは不可能なのでしょうか? 1.Tabキーを押しても該当する場所までカーソルが移動してくれない>マウスでクリックしないと 移動できないからキーイベント送信だと移動できない(と思われる) 2.右クリックしないとメニューが表示されない>やはりこちらもマウスを使わないと 呼び出せないメニュー(と思われる)なのでキーイベント送信だと出来ない(と思われる) こんな状態なのですが・・・ 具体的にやりたい事は 起動>Ctrl+S > ↓キー Enterキー で事前にFileZillaに登録しておいたサイトへの 接続が可能なのですが、ココからローカル側に表示されているファイルをリモート側に 全て選択してアップロードしたいのですが、アップロードするときにマウスを使わないと どうしても出来なくて困っているのです。 何か良い方法は無いですかねぇ?
889 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 18:25:08 ID:FcAQvv0D] マウス操作の出来るCOM導入して使えばいいだけだが そういうのはWSHではなくAHkとか使った方がいいよ 適材適所ってやつね
890 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 18:35:59 ID:H9FfnSRO] >>888 じゃないけど、そーゆーのってできればOS標準の 機能だけでやりたい時ってあるじゃない。 そもそもFileZillaがCUIだけで使えればいいのにね。 ていうか、CUIで使えるクライアントじゃダメ?
891 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 19:01:05 ID:XHzcIZJ5] ftpであぷするだけならwshだけできるんじゃない、sshは知らんけど
892 名前:888 mailto:age [2007/07/14(土) 19:14:31 ID:GfgVyhQB] 皆さんレスありがとうございます! >>889 COMって言うのが何なのか知らないのですが、AHKと言うのは AutoHotKey の事ですか? 外部アプリをなるべく入れたくないんですよね・・・。 >>890 そうそう、標準だけでやりたいんです。色々なPCに導入する事になるので そのたびにいちいちインストールしていてはね。。。 FileZillaがCUIだけで使えればいいのに!ってのは同感です。だから困ってるんです。 CUIで使えるクライアント(例:FFFTP)を試してみましたが、 50GBぐらいの大量データ全てをミラーリングアップロードとかやるとフリーズするんです。 他のFTPクライアントを試してもフリーズするんですが、唯一FileZillaのBeta3だけは その負荷に耐えて正常に転送できるんです(同期機能が無いのが痛いけど)。 >>891 むしろWindows標準のftp.exeでいいなら .batファイルだけで出来ますよ。。。
893 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 19:18:34 ID:XHzcIZJ5] FileZillaは外部アプリなんじゃ。。と釣られてみる
894 名前:888 mailto:age [2007/07/14(土) 19:24:43 ID:GfgVyhQB] >>893 それは確かに貴方のおっしゃる通りなのですが、こればかりは仕方が無いんです。 しかし外部アプリとは言えども、FileZillaのZip版を落としてきたので インストール不要。コピーするだけで使える。 からまぁよしとしましょう。出来ればWindowsが標準で持っているftp.exeを使いたいんですが あれはレジュームも出来なければ大量のファイルを飛ばすと転送できてないファイルが 大量にあるし、機能が貧弱すぎて使い物になりません。 一番の理想は FFFTPに -s プロファイル名 -m -q のようなオプションをつけて 実行できる事なのですが、前述したようにフリーズするのでやむを得ずFileZillaです。 それをWSHで自動化出来ればと思ってWSHを勉強してきたのですが なんか出来なさそうでショボーン。。。
895 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 19:43:59 ID:pb6heUMX] AutoHotkeyもコピーで使えるだろ
896 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 19:45:51 ID:XHzcIZJ5] >>>888 転送できていないファイルの差分をチェックして、送り直すとか、 何秒かごとに1ファイルずつ転送とかできない? wshあまり詳しくないのでこれ以上は、ごめん
897 名前:888 mailto:age [2007/07/14(土) 19:51:07 ID:GfgVyhQB] >>895 へぇ・・・AutoHotKeyもコピーで使えるんだ・・・知らなかった。 でもまた1から文法覚えたりしないといけないのか、、、辛すぎ・・・OTL >>896 そんな無茶な。それは無理でしょうね。。。
898 名前:888 mailto:age [2007/07/14(土) 20:09:23 ID:GfgVyhQB] AutoHotKey ちょっと調べてみたところ、どうやらキーボード入力に応じて あらかじめ組み込んだ処理を実行するようで。 スケジューラに組み込んで実行したいので(無人で定期実行) 何かキーを押さないと動作し無いと言うのはダメですね。 だからってWSHと組み合わせる(Wscript.ShellのsendKeys)のはこれまた大掛かりな・・。 AutoItってのが良さそうだと思ったのですが日本語の情報が全く無くて困ったり・・・。 WSHは解説サイトが豊富ですよね。
899 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 20:11:39 ID:H9FfnSRO] >>897 FFFTPは1.93って最新版が出たけど、それ使ってもダメ? GNUのWin32版ftp.exeってのもあるよ。 それから、一気に転送するのではなく、>>896 の言うとおりの方法にすれば 十分可能だと思うよ。1ファイルの大きさが大きすぎてフリーズって事なら 難しいけど・・・・。 FTPクライアント起動 ⇒ 1ファイル転送 ⇒ FTPクライアント終了 ⇒ FTPクライアント起動・・・ あとはAHKのコピーがOKなら、それとFilezillaでもいいんじゃない? 覚えるのはWSH程、複雑じゃないから。
900 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 20:13:37 ID:H9FfnSRO] スマソ>>898 確認してなかった。
901 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 20:17:04 ID:H9FfnSRO] >>899 どちらにせよ、WSHだけでってのは難しいでしょ。 モレは使った事ないけど、アプリのコピーがOKなら、UWSCってのがあるよ。 ttp://www.uwsc.info/
902 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 21:16:42 ID:FcAQvv0D] >>898 > AutoHotKey ちょっと調べてみたところ、どうやらキーボード入力に応じて > あらかじめ組み込んだ処理を実行するようで。 そういうことも出来るけど > スケジューラに組み込んで実行したいので(無人で定期実行) も出来るのでWSHと組み合わせる必要なし 君がちゃんと調べてないだけ それに操作の自動化程度なら、文法なんて覚える必要無し キーを送ったりクリックしたりのコマンドを必要数羅列するだけで一通り動く
903 名前:888 mailto:age [2007/07/14(土) 22:41:32 ID:GfgVyhQB] >>899 もちろん 1.93の最新版も 古いけど安定したバージョン(Ver.1.82a) も両方試しています。 それでもダメなので、この件はFFFTPの作者にメールを送信済みです。 GNUのWin32版ftp.exeってのは標準のと何が違うんですか? >FTPクライアント起動 ⇒ 1ファイル転送 ⇒ FTPクライアント終了 ⇒ FTPクライアント起動・・・ 現実的とは思えません。5000ファイルぐらいを飛ばすと考えると不可能でしょ。。。 そんなスクリプト書くのもどう書いたらいいのかさっぱり分からないし・・・。 >>902 え、本当ですか! UWSC AutoHotKey AutoIt の3つのうちどれが簡単で 私の今回の目的を一番達成しやすいですかねぇ? AutoItは日本語の情報がほとんど無い > 使えそうに無い UWSCは有料?フリー版もあるみたいだけど実行するマシンにいちいちインストールが 必要っぽい(有料版はEXE生成可能みたい) って事はやっぱりAutoHotKeyを学ぶべきか!
904 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 23:12:27 ID:H9FfnSRO] >>903 >現実的とは思えません。5000ファイルぐらいを飛ばすと考えると不可能でしょ。。。 >そんなスクリプト書くのもどう書いたらいいのかさっぱり分からないし・・・。 ふつーに可能だと思うけど。ルーチンワークを簡単に自動実行するのが、 WSHの良さの一つだと思うんだが。 スクリプトの書き方がわからないのは単に勉強不足なだけでしょ? ちなみにWSHが外れている時点で既にスレ違い。あとはここまで教えてもらった事を 自分で試して報告してくれ。
905 名前:888 mailto:age [2007/07/14(土) 23:38:33 ID:GfgVyhQB] >>904 WSHの話題から外れると確かにスレ違いになるので、ココではもうAutoHotKeyについて 私は話しませんが、 >ふつーに可能だと思うけど。ルーチンワークを簡単に自動実行するのが、 とおっしゃってますが、それは標準の ftp.exeを用いて実行させるんですか? そもそも同期を取るのが難しい気が・・・。 それにオーバヘッドが大きすぎません? >スクリプトの書き方がわからないのは単に勉強不足なだけでしょ? 書き方と言うかアルゴリズムと言うか・・・まぁ勉強不足なのは認めますよ。
906 名前:名無し~3.EXE mailto:sage [2007/07/14(土) 23:46:24 ID:NkXCH4LZ] >>905 ftp.exe使うなら-iつけて対話カットすればいいし オーバーヘッドなんか5000程度ならそもそも無視していいと思うよ ていうか、こうして無駄話をしている間にもオーバーヘッド分の時間ぐらい あっという間に過ぎちゃってるでしょ? 大丈夫、WSHは怖くないわ。勇気を出して!
907 名前:名無し~3.EXE mailto:sage [2007/07/15(日) 14:53:26 ID:L1MyiOj2] WSH初心者です。 <INPUT type=image ・・・について質問がありますm(_ _)m VBSで自動操縦したいページに<INPUT type=image ・・・がありました。 document.getElementsByName("imageBtn")で要素を探して.Clickすることはできたんですが Submitされる座標がx=0 y=0になってしまいます。 x,yを任意の値にするにはどうしたらよいでしょうか? VBSで無理そうならAutoHotKeyを勉強してマウスクリックを代替したいと思います。 クリックする位置はoffsetLeft,offsetTopなどから調べたらいいのでしょうか? 初心者なのでよくわかりませんが。 環境:XPSP2、WSH5.6、IE6SP1 WSH,VBS歴:3ヶ月 僕がtype=imageについて調べたページです。 msdn.microsoft.com/library/ja/jpisdk/dhtml/references/objects/INPUT.asp?FRAME=true#image ttp://d.hatena.ne.jp/umakoya/searchdiary?word=*%5Bjavascript%5D ttp://www.gac.jp/article/index.php?stats=question&category=9&id=12124&command=msg ttp://hp.vector.co.jp/authors/VA014833/HTML32/textlevel.html ttp://bakera.jp/ref/html/element/input ttp://chaichan.web.infoseek.co.jp/qa6000/qa6413.htm ttp://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200504/05040004.txt
908 名前:名無し~3.EXE mailto:sage [2007/07/17(火) 21:16:11 ID:onEBTsG0] WSHというかHTMLの問題だと思う そもそもxyなんて自動で送信されるわけないし、submitしてる値はinputにあるんでしょ? valueを設定してからsubmitするか、GET限定なら直接location.hrefにurlとしてクエリを付加してから代入すればいい なお、分からないならHTML、特にformについて勉強不足なので勉強するしかない
909 名前:678 mailto:sage [2007/07/18(水) 00:19:37 ID:ddXkilXj] >>907 imageBtn_x, imageBtn_y で送られるんだから、そのフォームに <input type="hidden" name="imageBtn_x" value="123"> のエレ メントを追加してから click メソッド呼べばいいんじゃね? >>908 偉そうに書く前に、<input type="image" についてぐぐってこい。
910 名前:907 mailto:sage [2007/07/18(水) 02:21:13 ID:yA++WBCH] お二人様、レスありがとうございましたm(_ _)m >>909 勉強不足の自分ではどうにもならず、困りきっていたところにまばゆい光が>< 早速試させて頂きたいと思いますm(_ _)m >>908 僕が勉強不足だったと反省しております。HTMLとformについて基本から勉強したいと思います。 ありがとうございました^^
911 名前:名無し~3.EXE mailto:sage [2007/07/18(水) 09:04:01 ID:iGOu5/XR] >>910 > 僕が勉強不足だったと反省しております。 いや、俺の見る限り君の方がよっぽど勉強しているし理解度も高い。 まぁ謙遜は日本人の美徳だが。 ってか、読めば読むほど痛いレスだな、>>908 は。 >>909 imageBtn.x, imageBtn.y っしょ。 どうあれ imageBtn.x=123 と共に imageBtn.x=0 の方も送られてしまうので (受け取った側がどちらの値を採用するのか分からん) エレメントの追加ってよりはいっそ上書きしちゃった方がいいと思う。
912 名前:911 mailto:sage [2007/07/18(水) 09:07:18 ID:iGOu5/XR] ちょっと分かりにくかったかもしれないんで補足。 「追加ではなくて上書き」ってのは、オリジナルの <input type="image" name="imageBtn" ... を残さずに <input type="hidden" name="imageBtn.x" value="123"> <input type="hidden" name="imageBtn.y" value="456"> に置き換えるってこと。んで submit() する。 これなら imageBtn.x=0, imageBtn.y=0 の方は送信されないで済む。
913 名前:911 mailto:saeg [2007/07/18(水) 09:18:14 ID:iGOu5/XR] > 読めば読むほど痛いレスだな これはちと言い過ぎだった、すまぬ。
914 名前:907 mailto:sage [2007/07/18(水) 20:29:32 ID:yA++WBCH] >>907 さん、>>911 さん この方法で無事成功しました! 本当にありがとうございましたToT formのPOSTで送信されるデータがhiddenで代替できるなんて初めて知りました。 教えて頂かなければずっとわからなかったと思います。 やはりHTML,formについて基礎から勉強していくべきですね^^; >>908 さんもありがとうございました。 二日間レスがなかったので非常に嬉しかったです。 余談ですが、VBSでブラウザ操作する場合、JavaScriptの解説HPが参考になることを最近初めて知りました。 恥ずかしながらformの要素やメソッドなども5日前知った程度です。 僕など、908さんの足元にも及ばないです。 レスを頂いた皆様ありがとうございました。 それでは失礼しますm(_ _)m
915 名前:名無し~3.EXE [2007/07/18(水) 21:07:18 ID:ZW3Df9Iy] ブラウザのオンライン・オフラインを切り替える事は可能でしょうか? ネットワーク全体を切り替えてしまっても構いません。 よろしくお願いします。
916 名前:名無し~3.EXE mailto:sage [2007/07/18(水) 21:22:19 ID:HP3hsGve] どうせならCとかのまともな言語のスレに行けばいいのに・・・
917 名前:名無し~3.EXE mailto:sage [2007/07/19(木) 05:17:24 ID:FwfyMSnr] Offline Property (InternetExplorer, WebBrowser) msdn2.microsoft.com/en-us/library/aa752061.aspx
918 名前:915 mailto:sage [2007/07/19(木) 15:29:08 ID:tX7CbwFy] ありがとうございました。
919 名前:名無し~3.EXE mailto:sage [2007/07/21(土) 22:37:37 ID:KFSHL472] バッチファイルからcscriptで実行するvbsファイルを下記のように作成しました。 Option Explicit On Error Resume Next Dim objShell Set objShell = WScript.CreateObject("Shell.Application") If Err.Number = 0 Then Dim objFolder Set objFolder = objShell.BrowseForFolder(0, "フォルダを選択してください", 0) If Not objFolder Is Nothing Then WScript.Echo objFolder.Items.Item.Path Set objFolder = Nothing End If Else WScript.Echo "ERROR : " ^& Err.Description End If これってスクリプト遮断機能で検出されますか? <チラシの裏>ウィルスバスターにはスクリプト遮断機能がありません。</チラシの裏>
920 名前:名無し~3.EXE mailto:sage [2007/07/21(土) 22:38:46 ID:KFSHL472] あ、「^」は無しです。すみません。
921 名前:名無し~3.EXE mailto:sage [2007/07/21(土) 22:49:36 ID:LhieJYkS] 動かしたい環境で動かしてみればいいじゃん
922 名前:名無し~3.EXE mailto:sage [2007/07/21(土) 23:15:44 ID:KFSHL472] >>920 ターゲットは遠方に住む複数の知人のPCなので検証は出来ません。 うちの環境では何事も無く動作しますが、 CreateObjectがスクリプト遮断機能にゴルァされるとの噂を聞きつけまして・・・。
923 名前:678 mailto:sage [2007/07/22(日) 00:10:25 ID:tM9sO4Uc] >>922 遠方って... 今時何言ってるんだよ。 その知人にメールで送って試してもらえばいいじゃん。
924 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 00:25:58 ID:qlCupvCr] >>923 知人にはディスクを作成して送付することになっています。 また、デバッグを依頼できるほど親しい間柄でもありませんし、 親しい友人はみなウィルスバスター使いばかりです。 VirtualPC上のWinXPにNAV体験版を入れてみましたが、 動作が重すぎて検証になりませんでした。 それで、思い悩んだ挙句、こちらで質問した次第です。
925 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 01:03:54 ID:KWFVImrU] >>924 親しくなれよ いいチャンスだろ
926 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 01:53:37 ID:ANMbH8Zu] そもそも環境依存の問題なんて当該者以外の他人に聞いても解決するもんじゃないと思うのだが 最低でもその知人とやら全員の使用しているアンチウィルスソフトとそのバージョン、およびそれを どんな設定で使用してるかがわかんなきゃ答えようがないような気がするけどな
927 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 02:17:45 ID:FJATDgF/] その友人にこのスレのURLを送って試してもらえばおk
928 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 11:31:20 ID:h90uHO0r] JScriptでゴミ箱を空にするのを作ったんですが ゴミ箱アイコンがゴミが入ったやつのままになってしまいます。 このアイコンを空のものに更新する方法はありますか?
929 名前:928 mailto:sage [2007/07/22(日) 11:47:19 ID:h90uHO0r] 追記 ユーザ操作無しで実行したいのでInvokeVerb以外の方法を探しています。 削除はfsoです。 よろしくお願いします。
930 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 17:27:06 ID:wDEF0MHr] まず、どういう操作でアイコンが変わるか探せ デスクトップで最新の情報に更新とか ごみ箱開いてみるとか あとはそれをスクリプト化しろ
931 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 17:47:14 ID:r3GGLn2z] >>930 はぁ?それはお前の仕事だろ?
932 名前:名無し~3.EXE mailto:sage [2007/07/22(日) 18:38:40 ID:FJATDgF/] >>931 夏休みの宿題は早めにやっとけよ? 毎年まぎわになってから親に頼るな
933 名前:名無し~3.EXE mailto:sage [2007/07/23(月) 01:31:09 ID:tk7bscW7] 「ネットワーク接続」内にある接続先を実行する方法はどうすればいいでしょうか?
934 名前:名無し~3.EXE mailto:sage [2007/07/23(月) 03:38:36 ID:tiz4Fn4+] >>933 Shell.Application使えばいいよ 具体的な方法はググればいくらでも出てくるからそっちを見てね
935 名前:933 mailto:sage [2007/07/24(火) 01:03:02 ID:S/R6bNn1] >>934 Const NETWORK_CONNECTIONS = &H31& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS) Set colItems = objFolder.Items For Each objItem in colItems If objItem.Name = "hogehoge" Then 'hogehoge に接続しる! End If Next こんな感じだと思うのですが、肝心な接続する(実行する?)方法がわかりません。 ググってみたけどわからなかったです。
936 名前:名無し~3.EXE mailto:sage [2007/07/25(水) 01:24:37 ID:EAIl+hNG] FolderItem.InvokeVerb or Verb.Doit
937 名前:名無し~3.EXE [2007/08/02(木) 19:06:04 ID:HYV9OexC] IEのコンテキストメニューから呼び出すスクリプトの中で文字入力ダイアログを使いたいのですが、 下のようにやると ”InputBoxに書き込みできません”となります。 エラーの回避方法がありましたらよろしくお願いします。 <HTML><SCRIPT language="VBScript"> Function vbInputBox(message, title, default) vbInputBox = InputBox(message, title, default) End Function Call vbInputBox("a","b","c") </SCRIPT></HTML> それか、window,promptの縦の長さを変えられる方法がありましたら教えてください。
938 名前:名無し~3.EXE mailto:sage [2007/08/02(木) 22:34:05 ID:hjwhShED] あ゛?普通に動くが <HTML><SCRIPT language="VBScript"> Function vbInputBox(message, title, default) vbInputBox = InputBox(message, title, default) End Function Document.Write vbInputBox("a","b","c") </SCRIPT></HTML>
939 名前:937 [2007/08/03(金) 11:39:25 ID:brmT2+zm] やっぱり動きません。 ↓でも動かないし。 <HTML><SCRIPT language="VBScript"> MsgBox("a") </SCRIPT> </HTML>
940 名前:名無し~3.EXE mailto:sage [2007/08/03(金) 11:44:57 ID:U+Mx7u4b] >>939 動く。但し規定のブラウザがIEである事が前提。
941 名前:名無し~3.EXE mailto:sage [2007/08/03(金) 16:57:54 ID:gh3Au87b] >>937 win2000 IE6 ですが同じエラー出ますわ prompt は平気なのにね、何でだろ MenuExtに登録するhtml を <SCRIPT type="text/JScript"> var wshell = new ActiveXObject("WScript.Shell"); wshell.run("パス\\vbInputBox.vbs"); </SCRIPT> にしてワンクッション置いてみるとか
942 名前:名無し~3.EXE mailto:sage [2007/08/05(日) 03:38:22 ID:GMOEkMoa] <script type="text/javascript"> external.dialogWidth = '300px'; external.dialogHeight = '110px'; function OK(){ alert(document.F1.T1.value); window.close(); } </script> <title>モーダルダイアログモード</title> <br> <form name="F1" action="#"> <table> <tr> <td>何か入力</td> <td><input type="text" name="T1" size=30></td> </tr> <tr> <tr> <td></td> <td><input type="button" value=" O K " onClick="OK();"> <input type="button" value="キャンセル" onClick="window.close();"></td> </tr> <tr> </form> <script type="text/javascript"> document.F1.T1.value = "デフォルト"; </script> >937 MenuExt Flags=1で登録してモーダルダイアログモードにする
943 名前:名無し~3.EXE [2007/08/08(水) 13:44:05 ID:ALoY2U7S] 今現在、英語版のWindows(再起動するたびに設定リセット仕様)の使用しているのですが、 毎回日本語入力をする為にIMEを出すのが面倒で、 ttp://www.3yokai.net/hawaii/20_pc_net_digicam/ime2.htm このWebサイトの 「日本語を入力できるようにする」の項目作業を自動でやってくれるWSHを書きたいのですが、 WSHにてMS-IMEを起動し、日本語入力環境に設定するにはどのようなコードを書けば良いのでしょうか?
944 名前:名無し~3.EXE mailto:sage [2007/08/10(金) 14:17:32 ID:SB2l+23k] Windows Script 5.7 (IE7に付属) 2000 ttp://www.microsoft.com/downloads/details.aspx?FamilyID=c03d3e49-b40e-4ca1-a0c7-cc135ec4d2be&DisplayLang=en XP ttp://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-d896-482e-a0d6-524e7e844d81&DisplayLang=en 2003 ttp://www.microsoft.com/downloads/details.aspx?FamilyID=f00cb8c0-32e9-411d-a896-f2cd5ef21eb4&DisplayLang=en
945 名前:名無し~3.EXE mailto:sage [2007/08/18(土) 20:05:02 ID:eUvf8zvX] ほ
946 名前:名無し~3.EXE mailto:sage [2007/08/22(水) 20:38:28 ID:tz0yz31E] ume
947 名前:名無し~3.EXE [2007/08/23(木) 20:23:35 ID:YDx8nhVH] 保sh
948 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 15:17:19 ID:6JO2o1xw] エクスプローラでファイルを選択→右クリック→「プロパティ」と 同じダイアログを開くCOMオブジェクトなどはないでしょうか?
949 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 19:13:50 ID:uvmautGd] >>948 Win2000/Meのごみ箱フォルダとか
950 名前:949 mailto:sage [2007/08/28(火) 19:36:45 ID:uvmautGd] すまん。違った。 >>948 Shell.Application の InvokeVerb とか
951 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 21:03:33 ID:nAgyIVfI] 以下のようなvbsを作ってダブルクリックするとプロパティウィンドウが 出てくれません。他のメニュー項目はInvokeVerbできているのですが。 親ウィンドウがないからでしょうか? Set oShell = CreateObject("Shell.Application") Set oFolder = oShell.Namespace("c:\") Set oFolderItem = oFolder.ParseName("WINDOWS") Name = "プロパティ(&R)" oFolderItem.InvokeVerb(Name)
952 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 21:10:55 ID:uvmautGd] なるほどね・・・ そのあとに wscript.sleep 3000 追加すると3秒間は開いてくれるねww
953 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 22:11:44 ID:Rghs668z] 何故に3秒? 閉じるまで開いておくようにすればいいじゃん
954 名前:名無し~3.EXE mailto:sage [2007/08/28(火) 23:25:34 ID:zvPk85aX] 道連れか
955 名前:名無し~3.EXE mailto:sage [2007/08/29(水) 00:19:34 ID:KI9SLann] Set Shell=CreateObject("Shell.Application") For Each ie In Shell.Windows() If InStr(TypeName(ie.Document),"IShellFolderViewDual") Then Exit For End If Next Set Shell=ie.Document.Application を使え
956 名前:名無し~3.EXE mailto:sage [2007/09/01(土) 16:04:15 ID:bXQrMlw/] 共有フォルダで大量のファイルの作成者を調べる必要がでてきました スクリプトでファイルの作成者を知る方法はありますでしょうか
957 名前:名無し~3.EXE mailto:sage [2007/09/01(土) 17:26:49 ID:oJcUr36C] >>956 努力しない奴にほいほい答えてくれる者はいない。
958 名前:名無し~3.EXE mailto:sage [2007/09/02(日) 02:08:30 ID:P/N3hv+m] >>956 なんとかstatってのがあったはず これでなんか情報を取得して調べると ファイルの情報っぽいのが見れたはず >>957 いじわるするなよ
959 名前:名無し~3.EXE mailto:sage [2007/09/02(日) 15:15:47 ID:fKko3nYQ] Folder.GetDetailsOfでいけるんじゃね
960 名前:名無し~3.EXE mailto:sage [2007/09/06(木) 18:52:43 ID:LSXnZm/Z] statって調べたらperlなんですね 確かにスクリプトだけどできればvbsかせめてjsでお願いしたい
961 名前:名無し~3.EXE mailto:sage [2007/09/06(木) 20:26:30 ID:ofzdNoRS] >>960 perlはWSHで使えるからこのスレの範疇なんだが。>>5 それにWSH自体やJS、VBSにはそういう機能ないので COM使うか、別言語使うかの選択になるわけだし。
962 名前:名無し~3.EXE [2007/09/06(木) 22:37:51 ID:X5XEo4Da] wsh初心者なんですが、IE操作でわからないことがあるので教えてください。 Set objIE = CreateObject("InternetExplorer.Application") で作ったobjIEにurlを表示してリンク先をダウンロードしたいんですが、 保存ダイアログが出てきてそのあとどうしていいかわかりません。 activateしてSendKeysを使えばいいんでしょうか? 保存先も指定したいんだけど、どうしていいか全然わかりません。
963 名前:名無し~3.EXE mailto:sage [2007/09/06(木) 23:34:08 ID:0hvP0y9l] xmlhttpでは駄目なん? function GetHTMLDocument(ByVal strURL, ByVal strDatFileName) dim objXmlHttp, objStream const AD_TYPE_BINARY = 1'ストリームタイプをバイナリストリームにする const AD_SAVE_CREATE_OVER_WRITE = 2'ファイルを上書きする on Error Resume Next set objXmlHttp = WScript.CreateObject("microsoft.xmlhttp")'XMLHTTPオブジェクトの作成 objXmlHttp.Open "GET", strURL, false objXmlHttp.Send if Err.Number <> 0 then strErrMsg = strURL & ": " & Err.Description GetHTMLDocument = false set objXmlHttp = nothing exit function end if on Error Goto 0 set objStream = CreateObject("ADODB.Stream")'バイナリストリームオブジェクトの作成 objStream.Open objStream.Type = AD_TYPE_BINARY objStream.Write(objXmlHttp.ResponseBody) objStream.SaveToFile strDatFileName, AD_SAVE_CREATE_OVER_WRITE objStream.Close set objStream = nothing set objXmlHttp = nothing GetHTMLDocument = True end function
964 名前:962 [2007/09/07(金) 18:48:40 ID:yxgIGp5j] >>963 レスありがとうございます。 やってみてリンク先はダウンロードできました。 ただ、目的のサイトではリンク先のURLを開くと、違う名前のファイルを ダウンロードするようになってたので、うまくいきませんでした。 自分でもいろいろやってみようと思います。 実は、macでは簡単に出来たんで、winでもやってみようと思ったんですが、WSHは難しいですね。
965 名前:962 mailto:sage [2007/09/14(金) 22:53:23 ID:u3aWDe/c] とりあえず、safariをインストールしてsendkeysでなんとかなりました。 safariはコマンドラインオプションが無いみたいなのでホームページに目的サイトのURL指定したり、 保存先もsafariのデフォルトに設定とかだけど。
966 名前:名無し~3.EXE mailto:sage [2007/09/16(日) 18:16:51 ID:Vi51TBdv] あるソフトを、前回起動時から1週間経っていたら起動する。そうでなければ何もしない。 というスクリプトはどう組めば良いですか。
967 名前:名無し~3.EXE mailto:sage [2007/09/16(日) 18:23:26 ID:yrnCWO5U] > あるソフトを、前回起動時から1週間経っていたら起動する。そうでなければ何もしない。 をコードにすればいいだけだと思いますが、なにか?
968 名前:名無し~3.EXE mailto:sage [2007/09/16(日) 18:30:12 ID:Vi51TBdv] >>967 それを教えて下さい><
969 名前:名無し~3.EXE mailto:sage [2007/09/16(日) 18:47:37 ID:yrnCWO5U] 何処かに前回起動日時データを保持しておき、それが現在-7より大きかったら終了 小さかったら「あるソフト」を起動して、前回起動日時データを書き換える 以上が"組み方" 上記をコードに"書く方法"は、WSHヘルプやGoogle参照
970 名前:名無し~3.EXE [2007/09/18(火) 17:09:13 ID:3e/ATvcX] あるソフトの選択している範囲をクリップボードに取り込むには どう記述すればよいでしょうか?
971 名前:名無し~3.EXE mailto:sage [2007/09/18(火) 18:00:46 ID:59SRskbJ] あるソフトとは?
972 名前:名無し~3.EXE mailto:sage [2007/09/18(火) 18:03:50 ID:3e/ATvcX] >>971 OpenJaneDoeです。 ショートカットメニューのコピーを使えば簡単ですが 複数の処理をvbsファイルでまとめて行いたいので。
973 名前:名無し~3.EXE mailto:sage [2007/09/18(火) 18:34:25 ID:Hp5KGcqw] ふつうにこぴーすりゃいいんじゃね?