5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

お前ら、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 ★