■ このスレッドは過去ログ倉庫に格納されています
お前ら、wsh使ってますか? part6
- 1 :名無し~3.EXE:2006/08/08(火) 21:41:13 ID:hqaA5ks/
- こんなことコンピュータにやらせろよ。そう思ったことはありませんか?
簡易的な実行環境も含めて普通のOSだったら当たり前に備わっている自動実行。
Windowsの標準に備わっているそれがWSH(Windows Script Host)です。
また、ここではWSHだけに限らずWMI、ADSIなどのネタもOKです。
・煽りや荒らしは無視の方針で。基本的にsage進行です。
・ここでヒントを得て完成したスクリプトは、出来れば皆さんにお披露目してください。
同じことで悩んでいる人のためになります。
・質問する際は、OS及び使用するコンポーネントのバージョンもお忘れなく。
●過去スレ
#1 http://pc.2ch.net/test/read.cgi/win/1009175619/
#2 http://pc2.2ch.net/test/read.cgi/win/1022248379/
#3 http://pc8.2ch.net/test/read.cgi/win/1058829737/
#4 http://pc8.2ch.net/test/read.cgi/win/1100489339/
#5 http://pc8.2ch.net/test/read.cgi/win/1126543183/
その他 >>1-10 あたり
- 952 :名無し~3.EXE:2007/08/28(火) 21:10:55 ID:uvmautGd
- なるほどね・・・
そのあとに
wscript.sleep 3000
追加すると3秒間は開いてくれるねww
- 953 :名無し~3.EXE:2007/08/28(火) 22:11:44 ID:Rghs668z
- 何故に3秒?
閉じるまで開いておくようにすればいいじゃん
- 954 :名無し~3.EXE:2007/08/28(火) 23:25:34 ID:zvPk85aX
- 道連れか
- 955 :名無し~3.EXE: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:2007/09/01(土) 16:04:15 ID:bXQrMlw/
- 共有フォルダで大量のファイルの作成者を調べる必要がでてきました
スクリプトでファイルの作成者を知る方法はありますでしょうか
- 957 :名無し~3.EXE:2007/09/01(土) 17:26:49 ID:oJcUr36C
- >>956
努力しない奴にほいほい答えてくれる者はいない。
- 958 :名無し~3.EXE:2007/09/02(日) 02:08:30 ID:P/N3hv+m
- >>956
なんとかstatってのがあったはず
これでなんか情報を取得して調べると
ファイルの情報っぽいのが見れたはず
>>957
いじわるするなよ
- 959 :名無し~3.EXE:2007/09/02(日) 15:15:47 ID:fKko3nYQ
- Folder.GetDetailsOfでいけるんじゃね
- 960 :名無し~3.EXE:2007/09/06(木) 18:52:43 ID:LSXnZm/Z
- statって調べたらperlなんですね
確かにスクリプトだけどできればvbsかせめてjsでお願いしたい
- 961 :名無し~3.EXE: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: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:2007/09/14(金) 22:53:23 ID:u3aWDe/c
- とりあえず、safariをインストールしてsendkeysでなんとかなりました。
safariはコマンドラインオプションが無いみたいなのでホームページに目的サイトのURL指定したり、
保存先もsafariのデフォルトに設定とかだけど。
- 966 :名無し~3.EXE:2007/09/16(日) 18:16:51 ID:Vi51TBdv
- あるソフトを、前回起動時から1週間経っていたら起動する。そうでなければ何もしない。
というスクリプトはどう組めば良いですか。
- 967 :名無し~3.EXE:2007/09/16(日) 18:23:26 ID:yrnCWO5U
- > あるソフトを、前回起動時から1週間経っていたら起動する。そうでなければ何もしない。
をコードにすればいいだけだと思いますが、なにか?
- 968 :名無し~3.EXE:2007/09/16(日) 18:30:12 ID:Vi51TBdv
- >>967
それを教えて下さい><
- 969 :名無し~3.EXE: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:2007/09/18(火) 18:00:46 ID:59SRskbJ
- あるソフトとは?
- 972 :名無し~3.EXE:2007/09/18(火) 18:03:50 ID:3e/ATvcX
- >>971
OpenJaneDoeです。
ショートカットメニューのコピーを使えば簡単ですが
複数の処理をvbsファイルでまとめて行いたいので。
- 973 :名無し~3.EXE:2007/09/18(火) 18:34:25 ID:Hp5KGcqw
- ふつうにこぴーすりゃいいんじゃね?
- 974 :名無し~3.EXE:2007/09/18(火) 23:19:34 ID:gS0vXNvn
- SendKeysでCtrl+Cでいいんじゃね?
いまいち何がやりたいか見えないからアドバイスしづらいが・・・。
datファイルをvdsで開いて処理する方がいろいろできるんじゃないのかな
- 975 :名無し~3.EXE:2007/09/19(水) 04:07:11 ID:qZpDaqKl
- InternetExplorer.Application
- 976 :970:2007/09/19(水) 10:35:41 ID:pTtgjdvq
- ありがとうございます。
SendKeysで出来ました。
- 977 :名無し~3.EXE:2007/09/19(水) 10:40:56 ID:pTtgjdvq
- objShell.Run "calc",1
だと電卓が立ち上がるのに
objShell.Run "C:\Program Files\aaa\bbb.exe"
だとbbbが立ち上がりません。
スペースや2バイト文字があるとrunメソッドは使えないのでしょうか?
- 978 :名無し~3.EXE:2007/09/19(水) 11:15:11 ID:ikljzqS6
- CreateObject("WScript.Shell").run """C:\Program Files\Windows Media Player\wmplayer.exe"""
- 979 :名無し~3.EXE:2007/09/19(水) 16:25:51 ID:pTtgjdvq
- >>978
ありがとうございます。
ダブルクォーテーションマーク3つで囲んだらうまくいきました。
- 980 :名無し~3.EXE:2007/09/19(水) 17:02:19 ID:pTtgjdvq
- パラメータつきのアプリケーションをrunメソッドで立ち上げたあとに
Sendkeyメソッドを使用すると、アプリケーションが立ち上がる前に
キーを送ってしまいうまくいきません。単にsleepを使う以外で
確実にキーを渡せる方法はありませんか?
- 981 :名無し~3.EXE:2007/09/19(水) 18:50:48 ID:0K5oMSAo
- つAppActivate
- 982 :名無し~3.EXE:2007/09/19(水) 21:24:11 ID:pTtgjdvq
- >>981
runメソッドのあとに入れてみましたがアプリが立ち上がる前に
キーを送ってしまっているようでうまくいきません。
なんかいい方法はないでしょうか?
- 983 :名無し~3.EXE:2007/09/19(水) 21:27:50 ID:0K5oMSAo
- つAppActivate の復帰値
- 984 :名無し~3.EXE:2007/09/19(水) 21:58:50 ID:pTtgjdvq
- Do Until objShell.AppActivate("abc.txt")
WScript.Sleep 50
Loop
で出来ました。
- 985 :名無し~3.EXE:2007/09/20(木) 18:08:59 ID:5a0Uty35
- 次スレは?
- 986 :名無し~3.EXE:2007/09/20(木) 20:28:37 ID:Kpu8Zq9f
- まったく理解されずにターミネートされた>>983が気の毒で・・
- 987 :名無し~3.EXE:2007/09/21(金) 12:36:38 ID:dS92JO99
- ActiveXの出力パラメータをVBS
から呼び出すと型が違いますとエラーになります
以下のような関数呼び出すにはどうすればよいか
ご存じでしたら教えていただけませんか。
func(String outarg1[],String outarg2[])
- 988 :名無し~3.EXE:2007/09/22(土) 02:04:30 ID:Acm8tcMi
- >>987
Excel VBAやVB6以前があれば、
その中で参照設定してオブジェクトブラウザを見て、
VBでどんな型になるか確認したらいい。
VBScriptでもそれと同じ型に合わせろ。
- 989 :名無し~3.EXE:2007/09/22(土) 16:41:11 ID:E7J7v9Mj
- はぁ?
- 990 :987:2007/09/22(土) 17:14:36 ID:7RwwKfbd
- >>988
ExcelVBAでは出来てるんですが、
VBScriptでは型の指定ができなくてエラーとなるみたいなんですが
これはWSH+VBSからActX呼び出しの限界でしょうか
- 991 :名無し~3.EXE:2007/09/22(土) 18:23:16 ID:ZspLI4uB
- 君の脳の限界に一票
- 992 :名無し~3.EXE:2007/09/22(土) 19:57:42 ID:fU47bAPg
- つーか、なんでそのActiveXの名前そのものとかを隠すの?
やっぱ脳が弱いのかな?
- 993 :名無し~3.EXE:2007/09/22(土) 21:58:48 ID:K4jH93N6
- 自作じゃね?
- 994 :名無し~3.EXE:2007/09/23(日) 13:02:12 ID:PIGV9rKX
- ^
- 995 :名無し~3.EXE:2007/09/23(日) 14:35:53 ID:i+HU8l0E
- h
- 996 :名無し~3.EXE:2007/09/23(日) 14:36:24 ID:i+HU8l0E
- h
- 997 :名無し~3.EXE:2007/09/23(日) 14:36:57 ID:i+HU8l0E
- h
- 998 :名無し~3.EXE:2007/09/23(日) 14:37:29 ID:i+HU8l0E
- h
- 999 :名無し~3.EXE:2007/09/23(日) 14:38:00 ID:i+HU8l0E
- h
- 1000 :小倉優子 ◆en0rG2J.f6 :2007/09/23(日) 14:38:32 ID:i+HU8l0E
- 1000ならジュースでも飲むか
- 1001 :1001:Over 1000 Thread
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
297 KB
★スマホ版★
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.04.04 2022/03/31 Walang Kapalit ★
FOX ★