お前ら、wsh使ってますか? Part7at WIN
お前ら、wsh使ってますか? Part7 - 暇つぶし2ch157:名無し~3.EXE
08/03/26 18:52:46 KNcsBXpS
set sc=createobject("scriptcontrol")
sc.language="jscript"
msgbox sc.CodeObject.Math.max(1,2)

158:名無し~3.EXE
08/03/26 21:11:00 TWV1SvVz
解ってないなぁ

159:名無し~3.EXE
08/03/26 23:08:35 uMAj67np
んじゃきっちり分かるように説明しる

160:名無し~3.EXE
08/03/27 12:00:42 2KaXxIPc
HOGE.VBS

WScript.Echo (Math.max(1,2))


161:名無し~3.EXE
08/03/27 23:04:46 ycxHXFId
>>157なら完全に使えてるな

162:名無し~3.EXE
08/03/27 23:09:38 2KaXxIPc
>>160 の実行結果も
---------------------------
Windows Script Host
---------------------------
2
---------------------------
OK
---------------------------
なんだけど?

HOGE.VBS //e:jscript

163:名無し~3.EXE
08/03/28 17:53:53 2JmwkR4J
解ってるなぁ

164:名無し~3.EXE
08/03/28 21:54:09 2RJ4tWHs
そうでもないか

165:名無し~3.EXE
08/03/29 02:07:35 cjLqnGDe
なにか悔しいことでもあったの?

166:名無し~3.EXE
08/03/31 02:14:48 RCtIg5di
質問です。
wshでドライバの有効無効を切り替えられますか?
可能ならばコード例をいただければと

167:名無し~3.EXE
08/03/31 07:49:26 J1B1LuSu
>>166
WSHでは出来ません
COM使えば出来ないこともないので
どうしてもやりたければWSHではなくCOMについて調べましょう

168:名無し~3.EXE
08/03/31 17:56:54 Ra0SLpc1
>WSHでは出来ません

SendKeys使えば出来ないこともないので
どうしてもやりたければWScript.ShellのSendKeysについて調べましょう


169:kuchigakusaiossan
08/04/05 15:47:53 pZPHR3rd
マルチポストですぅぅ
悩みすぎて口がくさいですぅぅ
H友達の同僚のサキちゃんにもきらわれそうですぅぅ
ヨロピク
891 名前: kuchigakusaiossan 投稿日: 2008/04/04(金) 11:47:41
すいません、スレ異かな。WSHの言葉だけで来ました。
悩んでます。だれか教えぇぇぇぇ~~て

EXCEL2003 VBAで 
 URLリンク(www.happy2-island.com) あたりに
   WScript.Sleep 5000  っていうのがさりげにつかってありますが
    オブジェクトが必要です というエラーが出ますうううぅぅぅぅぅ
 私はどうすればいいのでしょうか。
 悩みと疲労で歯槽膿漏がますますひどくなりますうううぅぅぅ
ぐぐると以下の同じような人もいます。だれか愛の手を
win32のsleepじゃなくって、Wscript.echo もつかいたいし
>Excel VBA質問スレ Part5
878 :デフォルトの名無しさん:2008/03/02(日) 23:54:52
物凄く基本的な事で申し訳ないのですが・・・、処理待ちでスリープを掛けたく、
 WScript.sleep (250)
と記述していますが、エラー424 オブジェクトが必要です というエラーが出るのです。
何か参照設定が足りないんでしょうか。。
879 :デフォルトの名無しさん:2008/03/02(日) 23:56:42
ググれよ・・・
880 :デフォルトの名無しさん:2008/03/03(月) 00:01:10
>>878
WScript.exeを参照設定しろー
895 名前: デフォルトの名無しさん [sage] 投稿日: 2008/04/04(金) 19:36:53
実際問題としてVBAならDeclareが一番楽だと思うんだ
896 名前: デフォルトの名無しさん [sage] 投稿日: 2008/04/04(金) 21:11:06
Application.Waitのほうが簡単


170:名無し~3.EXE
08/04/05 16:25:23 Zt+/0iY1
VBAからWScript.Echoってどんな使い道があるの?

171:名無し~3.EXE
08/04/05 17:29:10 opCsAdvJ
正解は
Shell "WScript.exe ..."
だな

172:名無し~3.EXE
08/04/06 05:20:20 nlrXvzZ0
>>170
MsgBoxのほうが簡単

173:kuchigakusaiossan
08/04/06 13:07:46 Ax1XoNQY
>>170
Debug.Print と同じ用途と考えたけど
echo ではログ的に出力できそうじゃないみたいな


174:kuchigakusaiossan
08/04/06 13:51:08 Ax1XoNQY
>>169
お騒がせしてます。一応自己解決しました。
サキちゃんもよろこんでますぅ。

誤った解釈は、URLリンク(www.happy2-island.com) はVBAじゃなくWSHのスクリプトそのもらしい。
VBAではWscriptのスクリプトは実行できないが、オブジェクトは動作できる(みたい)
 Wscript.sleep × sleep はオブジェクトではない
Wscript.run ○ runはWscriptのオブジェクト

質問は wscript.run("sleep 3") とか wscript.run("echo test") にすれば動きますがrunコマンド相当になり意味ナイスネ
Sub VBA_WScrit_test()
Dim WSH
Set WSH = CreateObject("WScript.shell")     ’wscript のshellを指定
WSH.Run ("sleep 3")
WSH.Run ("echo test")
End Sub



175:名無し~3.EXE
08/04/06 13:59:10 AOV8Fp3G
先生、どこから突っ込んでいいのか分かりません!

176:名無し~3.EXE
08/04/06 18:02:36 sJp4hCiu
175よ、お前のスルー力が試されておる。


177:名無し~3.EXE
08/04/06 20:25:55 PLT0SKwU
やむを得ず、sendkeys主体のvbsを使うことに
なったんだけど、sendkeys中にユーザー操作を
無効化しておくような方法ってないかな?

やっぱムリ?

178:名無し~3.EXE
08/04/08 14:03:59 +YeUwmcX
WSHとは関係無いけどUWSCにそんな関数あったな。

179:名無し~3.EXE
08/04/16 19:21:44 3BqZSYGn
ho

180:名無し~3.EXE
08/05/12 15:02:59 idT6RCfS
Xp質問スレから誘導されてきました。

下記の動作を自動化したいと考えています。
具体的な実現方法をご教授ください。

1.ディレクトリA内にある全フォルダ及び全ファイルをディレクトリBに移動する。
(ディレクトリA内にフォルダ及びファイルが存在しない場合はこのスクリプトを停止)
2.ディレクトリBに移動したファイルをデータベースに取り込む。
3.ディレクトリAディレクトリBからディレクトリC内の実行年フォルダ内の実行月フォルダ内の実行日フォルダに移動する。
(フォルダが無い場合は作成)

という処理を毎日8時半、12時、18時に行います。

※2番に関してはデータベース側のスクリプトになりますので、実現したいのは1番と3番です。
よろしくお願い致します。

181:名無し~3.EXE
08/05/12 18:37:47 yJOtbab4
1.で全部AからBに移動したのに、3.でAになんか残ってるの?

182:名無し~3.EXE
08/05/12 20:25:39 uCZ4KO0T
>>180
ファイル・フォルダの移動や作成はFileSystemObject使えば良い
年月日の取得はDateからYear関数などで取得すれば良い

ここはスクリプト作成依頼所ではないので、あとは自分で調べて書こう

183:名無し~3.EXE
08/05/16 09:23:35 zqGee6pu
>>182

情報ありがとうございます。
試してみます!

184:名無し~3.EXE
08/05/26 13:02:19 ZJjr1srY
makewin.exeでexe化したvbsのexeファイルが
savce@5/26定義パターンで木馬として片端から検出・検疫されたわ

ふざけんなSAV!!!!!!!!!!ヽ(`Д´)ノ


185:名無し~3.EXE
08/05/27 23:28:44 5IR62930
>>184
ウチも!
自作アプリのインストーラを、いつも wsh で作成して exe 化して配布してたんだが
いきなりオレのソフトは全部ウイルスに認定されてしまったよ!
かといって、マイクロソフトの Visual Studio に付いてるクソなインストーラ作成ソフトは使いたくないし
InnnoSetup なんて、まるでキンタマみたいな恥ずかしい名前のソフトも抵抗あるし。
どうしよう・・・orz

186:名無し~3.EXE
08/05/28 18:02:22 U+POFhbu
そこで、MAOIXですよ。

187:名無し~3.EXE
08/05/28 20:45:49 ijLb+QnG
カッコ付けてexe化なんてしなければいいじゃんw

188:名無し~3.EXE
08/05/28 22:05:22 lcT2TWdz
exeにするならvb.netだな

189:名無し~3.EXE
08/05/29 00:42:34 swFNcekc
>>185
ところでWSHの.exe化ってのは、WSHやOSのバージョン毎の差を吸収できるもんなの?
できないのならWSHのまま配布するほうが良いと思うんだが。

190:名無し~3.EXE
08/05/29 18:18:57 DTlmIJ8o
>>189
exe化の原理は簡単。単純に、ローダとvbsスクリプトを COPY コマンドで物理的に結合してるだけ。
 COPY /B ローダ.exe+SETUP.VBS SETUP.EXE
ローダが実行時にスクリプト部分をファイルに書き出して、子プロセス wscript.exe で実行させる。
OSのバージョンに依存するような事は絶対に無い。

191:名無し~3.EXE
08/05/30 10:51:12 PIzZnjDJ
URLリンク(www.microsoft.com)
をまんま使って、ワークグループ環境下で、リモートのOSのバージョン等を採取する
スクリプトを作成しています。

Set objWMIService = GetObject("winmgmts://" & "remotehost")
Set colOSes = objWMIService.ExecQuery _
("SELECT * FROM Win32_OperatingSystem")
For Each objOS in colOSes
  Wscript.Echo "OS Version: " & objOS.Version
  Wscript.Echo "Service Pack: " & objOS.ServicePackMajorVersion & _
  "." & objOS.ServicePackMinorVersion
Next

Windows Server 2003に対しては、普通に動作するのですが、
Windows XP SP2のPCに関しては
 Microsoft VBScript runtime error: The remote server machine does not exist or is unavailable: 'GetObject'
で、拒否られてしまいます。
Google先生経由で色々調べて、XP側のファイアーウォールをOffにしたり、
wmimgmt.mscで、root\cimv2のパーミッションをいじったりしてみたり、
getObjectの引数をいじってみたり、色々やったのですが、ですが、状況は
変わりません。 orz
すごく基本的な点を見落としているような気がするのですが、どなたか、
アドバイスいただけませんか?

192:名無し~3.EXE
08/06/02 08:02:20 xPO8zd5Z
前に、「ネットワーク接続の有効・無効をするスクリプト」を見たことがあって、
仕事で使いたいと思ってるんだけれど、あの手段は「コントロールパネル」を開いたりを自動化してるっぽくて
オレの会社だとコンパネが開けないようになってるから使えなかったんだわさ。
マイネットワークを右クリックしてプロパティとかでネットワーク接続の画面は普通に出せるんだけど、
コンパネは開けない仕様になってて。
そういう場合はどうすればいいと思う?レジストリは権限ないし・・・

193:名無し~3.EXE
08/06/02 08:18:12 GIIWqOyj
ローカルエリア接続・無線LANをコマンドラインから有効/無効にする方法
URLリンク(tech.ironhearts.com)


194:名無し~3.EXE
08/06/02 18:50:53 uGSz20SA
WSHを自由に使わせてるくせに、コンパネやレジストリへのアクセス権限無しとかgdgdだな
セキュリティーの概念を解ってないヘボ会社にはありがちだけどw

195:名無し~3.EXE
08/06/04 10:19:34 DZ08xA0B
>>191の自己フォローです。
結局、
 コンパネ→管理ツール→ローカルセキュリティポリシー
 →セキュリティオプション
 ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル
 をクラシックに変更
で、解決いたしました。参考サイトは、以下の通りです。
URLリンク(dendoubako.cocolog-nifty.com)
お騒がせいたしました。
(なんだかんだで、三日間もハマッテしまった。orz)

196:名無し~3.EXE
08/06/13 16:15:06 uYaVuoGG
4行目でエラーとなるんですが どこか間違っていますでしょうか?
---
Dim f
Set oMsg = CreateObject("CDO.Message")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
myText = objText.ReadAll
objText.Close

oMsg.From = "送信アドレス"
oMsg.To = "宛先アドレス"
oMsg.Subject = WScript.Arguments(0)
oMsg.TextBody = "件名" & vbCrLf & myText
' 添付したい場合使用
'oMsg.AddAttachment WScript.Arguments(0)
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = 2
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = _
"メールサーバアドレス"
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = 25
oMsg.Configuration.Fields.Update
oMsg.Send



197:名無し~3.EXE
08/06/14 05:59:54 J9SnL1u9
>>196
引数がたりないんでは?
Set objText = objFs.OpenTextFile(WScript.Arguments(0),1,False)

としたらどうだろう?

198:名無し~3.EXE
08/06/15 01:00:26 blTLCOLk
>>196
エラーの内容が分からんとな。

199:名無し~3.EXE
08/06/15 14:34:01 loKPXSjn
スクリプト単体で引数入れずに起動してるとかいうのは無いだろな。

200:197
08/06/15 19:32:28 jcYRz71J
>>199
たぶんそれだ。やってみたらわかった。
それか可能性としては、
WScriptの使えない場所(なんかのマクロとかで)で使おうとしているのかもしれない。



しかし、面白いな。"CDO.Message"か。
受信は、"MAPI.Session"らしい。
昔、BASP21でやったことあるけど、当時はこんなのしらなかった。

201:名無し~3.EXE
08/06/16 11:10:05 oNTE9LVr
ありがとうございます >>197

ただそうすると
oMsg.TextBody = "件名" & vbCrLf & myText
がSubjectに挿入されず,添付ファイル名が挿入してしまいます。

前起動したときはそうならなかったのですけど。

何度もお手数おかけします。

202:名無し~3.EXE
08/06/16 14:40:47 vFGvsFla
自分でデバッグ出来ない奴はスクリプト書くなよ
これは交通法規も知らない(免許のない)奴は車で公道を走るなってのと同じだ
エンジン掛けてギヤ入れてアクセル踏んでハンドル切れば車は動くが
それだけでは公道で車を運転する資格にはならない
スクリプトもとりあえず書くだけなら小学生でも出来るし、そのままで動くこともあるが
問題が起きたときにデバッグ出来ない奴は、スクリプト書けるとは言えないし書く資格もない
車の運転でも、公道を走る前にまず交通法規や運転技術を身に付けるように
スクリプトでも実用コード書く前に、まず構文規則とデバッグを身に付けなきゃならない


と、最近のあまりにも無気力な丸投げ質問に渇を入れてみました

203:名無し~3.EXE
08/06/16 14:52:48 ykhvW0pF
突っ込み所が満載な例えを出さないの。

204:名無し~3.EXE
08/06/16 15:31:18 SHT72aOI
そうでもないか。

205:名無し~3.EXE
08/06/16 18:09:59 BCDUeaPm
とりあえず何でもいいから書かないと身に付かないよ。
デバッグ出来ない奴は書くななんて言っちゃったらずーっとそのまんま。

最大限自分でなんとかするって心構えは必要だと思うけど。
最終的に他人に聞いて解決するにしても、それ以前の試行錯誤がないと
経験値にならないし、伸びる見込みもない。そういう奴は書いても無駄。


206:名無し~3.EXE
08/06/16 22:00:00 uMi9mtpF
書くだけじゃなにも身に付かんよ
君も言ってるが、「それ以前の試行錯誤」ってのがデバッグなわけで
そうやって、書いた上で「考えないと」身に付かん

例えば
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
なら
WScript.Arguments.Count で、1つ以上の引数が渡されてるか
objFs.FileExists で、その引数をパスとするファイルが存在するか
そういうのを確認してからOpenTextFileする、そういう試行錯誤(デバッグ)が必要なわけよ
その後のReadAllも、ファイルが空だとエラーになるから、AtEndOfStreamで確認する
そうやってただ書くだけではなく、面倒がらずに処理を一つ一つ追っていけば
どの行ではなくどの処理がエラーになってるか解るし、そこまで解れば
質問するまでもなく解決する話かも知れない
そういった最低限のデバッグには、手間は要るがたいした知識は要らない

>>196のコードが書けるなら、WScript.Arguments.Countや
objFs.FileExistsに行き着くのはそう難しいことではないはず
なのにエラーが出たらそこで思考停止して他人に丸投げし
自分で試行錯誤する気が全くない、そういうところがダメなわけで

207:名無し~3.EXE
08/06/17 06:41:32 vvTweahD
 >>196のコードが書けるなら

それ、どっかのホームページからのコピペでしょ。
こんだけのコードが書けるヤツがデバッグすらできないはずは無い。
デバッグって言っても、ただ print 文や echo 文を入れまくるだけなのにね。
まるごとコピーしただけで理屈が分かってないから
何を print させればいいのかがわからない。だからデバッグできない。

208:名無し~3.EXE
08/06/17 10:48:55 563mmLYl
ところで、4行目というのは

Set objText = objFs.OpenTextFile(WScript.Arguments(0))

のことで良いのかな。
もしそうなら、ファイルをドロップして引数に与える分にはエラーになる箇所じゃない罠。

ただ、メールの件名(WScript.Arguments(0))にファイルのフルパスを与えるとは考えにくいから、
コマンドラインから手入力でファイル名だけ引数に与えているのだとすると、
その場合、カレントディレクトリを変更していない為のエラーはありえるかも。

209:名無し~3.EXE
08/06/19 21:14:00 PbO/hOTC
>>196

下のスクリプトは動いたので、問題はないように見えますが・・?

'Dim f
'Set oMsg = CreateObject("CDO.Message")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
myText = objText.ReadAll
objText.Close

WScript.echo myText

Set objFs = Nothing
Set objText = Nothing

ドラッグしたファイルはtest.txtで中身は
 あいうえお。
 かきくけこ。

あいうえお。
かきくけこ。 と表示されました。

上の皆様がおっしゃっている内容を確かめてみるとよいかと。
なんの助けにもなってませんねー

210:名無し~3.EXE
08/06/19 21:25:25 PbO/hOTC
209です。
おれも皆様の力を借りたいことがあります。

Vistaでインストールされた更新プログラムのリストを表示させるスクリプトを作ろうと思ったのですが、よい方法はないでしょうか?
難しいのはアプリケーションのリストではなく、MicroSoftからの更新プログラム(KB~みたいな)であるという点です。

XPではレジストリの以下の場所から一覧を取得するだけなので楽だったのですが、
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\
VistaではUninstallのキーはあってもその中に更新プログラムのキーがない。
同じ方法では取得できません。
レジストリがダメならWMI?WindowsInstallerオブジェクト?

よい方法を知りませんか?


211:名無し~3.EXE
08/06/20 15:40:25 GKZ2+8+R
>>210
URLリンク(www.microsoft.com)
この辺は?

212:名無し~3.EXE
08/06/21 10:49:13 m1Ys5slR
ありがとうございます。 >>211
上のURLを参考に、Vistaのhotfixを取得することができました。
・・でも少し抜けてるんですよね。ServicePack(KB936330)とか。
URLのコードにあった、Win32_QuickFixEngineeringを参考に調べていたら
URLリンク(www.microsoft.com)
でなんかいけるかもなのでがんばってみます。
ありがとうございました!

今回試したスクリプトは以下
'---------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuickFixes = objWMIService.ExecQuery _
("Select * from Win32_QuickFixEngineering")

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set TextFile = objFSO.OpenTextFile("C:\test.txt", 2, True)

TextFile.Write "Computer,Description,Hot Fix ID,Installation Date,Installed By" & vbCrLf

For Each objQuickFix In colQuickFixes
TextFile.Write objQuickFix.CSName & "," & objQuickFix.Description & "," & objQuickFix.HotFixID & ","_
& objQuickFix.InstallDate & "," & objQuickFix.InstalledBy & vbCrLf
Next

TextFile.Close

213:名無し~3.EXE
08/07/15 14:01:02 MSaMbScD
コマンド実行unixの xx.sh > /dev/null 2>&1 にあたるリダイレクトってWindowsで出来ますか?

214:名無し~3.EXE
08/07/15 14:07:31 THmV8Aue
>>213
それはどうなるの?UNIXをあんまり使ったことが無いから判らないけどヌル箱の代わりはNULっていうデバイスがあるよ。
というより、スクリプトを出したほうがやりたいことが判りやすくてよいのではないかと。

215:名無し~3.EXE
08/07/15 15:25:38 I42WGyiI
要するに標準出力を捨てて標準エラー出力を標準出力として出力したいってことでしょ

216:名無し~3.EXE
08/07/15 15:39:11 THmV8Aue
そういうことはスクリプト内部を変更しちゃうからわからないなぁ。
ためしに今cscriptでNULにリダイレクトしてみたらハンドルが無効だぞハゲって言われちゃったよ。

217:名無し~3.EXE
08/07/15 19:21:02 +Z+QfLmA
>>215
違う。標準出力と標準エラー出力をまとめて捨てる。

>>213
コマンドプロンプト上で hoge.bat > nul 2>&1 ってのはできるけど、
リダイレクトはシェルの機能だから、WSHで出来るのかどうかは
わからないな。
Execメソッドで "cmd.exe /c hoge.bat > nul 2>&1" みたいに
やれば動くかもしれないけど、今試せる環境がないので未確認。

218:名無し~3.EXE
08/07/15 19:26:35 THmV8Aue
プロンプトを見たくないならRunの第二引数を0にすれば良いんじゃないかな。

219:名無し~3.EXE
08/07/15 21:10:44 xfeqMLQj
cscript >NUL 2>NUL

ふつうにできますが何か?

220:名無し~3.EXE
08/07/18 08:57:51 m/LYbVKS
>>219
StdOutやStdErrを使ったスクリプトでやってみてよ。

221:名無し~3.EXE
08/07/18 09:21:37 /qFN6kNU
w2kだが5.6 jpが入ってるところへ5.7をインストールしたら
日本語リソースそのまま使うみたいで5.7が日本語になった

222:名無し~3.EXE
08/07/18 15:14:06 XFnK5WyO
>>220
wscript.stdout.writeline 1
wscript.stderr.writeline 2
できるけど?

223:名無し~3.EXE
08/07/18 15:30:19 m/LYbVKS
>>222
>>216の時には出来なかったのだけど、今やったらなぜか出来た。
訳がわからんがまあいいか。

224:名無し~3.EXE
08/07/22 14:37:12 1x3O0bQO
>>216はwscript.exeだろ?

225:名無し~3.EXE
08/07/22 16:04:02 m8H9p6l1
いんや、CSCRIPTだったよ。
そうしたら(null) ハンドルが無効ですってコンソールに出た

226:名無し~3.EXE
08/07/23 13:29:19 H4TSZYUl
CScript の標準入出力は、バージョンによってちょっとずつ挙動が違うよ
自宅のVistaで試したコードが、職場の2kだと動かないとかザラ

227:名無し~3.EXE
08/07/23 18:55:12 kx1E3i+M
そりゃさすがにバージョンダウンは無理やろ

228:名無し~3.EXE
08/07/26 15:54:20 saqPtqJr
あるフォルダの中のその週に作業されたファイルを集計したいんですけど、ファイル属性で第何週目とかないんでしょうか?
あるいはロジックで上手いこと検出する方法はないでしょうか?

229:名無し~3.EXE
08/07/26 16:06:55 xOhG5Vbs
>CScript の標準入出力は、バージョンによってちょっとずつ挙動が違うよ
そうかぁ?標準入出力は内蔵FilsSystemObjectだから変わらんと思うが

230:名無し~3.EXE
08/07/26 17:08:58 elGRh4zI
>>229
日付で見ればいいじゃん
週ごとにするなら年ごとに第一週が何日あるかデータベース作れば
簡単に何周目かが分るし、つうか年またぎどうすんだ

231:名無し~3.EXE
08/07/26 17:20:43 WB4RWxle
>>228
今週作業したファイルを抽出したいって話なら、
ファイルの更新日時が何日前かを取得して、その値がWeekday(Now)以下なら今週。

232:228
08/07/26 18:25:58 kbSenNqx
>>230-231
ありがとうございます。今週分が必要なので>>231でいけそうです。
何日前かを計算するのは日付からNOWを引いて、答えの整数部分で考えればいいですよね?

233:名無し~3.EXE
08/07/26 19:02:39 icWXyyQo
>229
変な動きするのもある。
StdIn.Read(1)すると、一行読み込んだ上で先頭の1文字返す
(なので、その時点ではおかしくないのだが、次のReadの際には残りが捨てられている)
とか、そんな変な挙動をするものがある。

234:名無し~3.EXE
08/07/26 19:09:23 WB4RWxle
>>232
>何日前かを計算するのは日付からNOWを引いて、答えの整数部分で考えればいいですよね?
それだと誤差が出るはずなので、いったんそれぞれをDAYで丸めてから引き算した方がいい。

235:名無し~3.EXE
08/07/26 23:47:05 yRWXnRv/
>233
それは単なるバグじゃないのか?
「古いバージョンには○○なバグがある」 って言えば、「ふうんなるほど」 で話が終わるものを
「バージョンによってちょっとずつ挙動が違う」 なんて書くから誤解される。

236:名無し~3.EXE
08/07/27 02:20:08 EoLlJkI3
WScript.StdInの実装バグなので
Set StdIn=WScript.StdIn
StdIn.Read(1)
とすればよかったような

237:名無し~3.EXE
08/08/04 17:45:05 qtSSqajn
IE自動操作してるんだけども、
input type= file にはPCから wsh 実行しても入力出来ないのですか?

せっかく本まで買ってvbs覚えようとしてるのに、困った…(´・ω・`)

238:名無し~3.EXE
08/08/04 18:56:19 IyBaEu56
金玉ウィルスでも作るつもりか?

239:名無し~3.EXE
08/08/04 20:27:14 qtSSqajn
(`・ω・´)金玉なんて作るわけないでしょ!

240:名無し~3.EXE
08/08/04 22:34:43 tB95YHdp
つSendKeys

241:名無し~3.EXE
08/08/04 23:53:35 qtSSqajn
>>240
ありがとう、スマートじゃないけどその方法で取りあえず上手くいきました

242:名無し~3.EXE
08/08/05 05:36:14 gDmp4m0n
金玉ウイルスって何?
玉筋ウイルスなら知ってるが。

243:名無し~3.EXE
08/08/05 17:42:33 KazUXVcD
球筋ウイルスってなに?
キンタマウイルスなら知ってるが。

244:名無し~3.EXE
08/08/06 09:28:25 Wr7qdPjn
以下for(;;)

245:名無し~3.EXE
08/08/06 11:24:45 aAYjTfjb
break;

246:名無し~3.EXE
08/08/13 19:55:03 6iS3g15e
POWERSHELLってこのスレの人的に見てどうなの?
VBSで出来たことが全部出来るんですか?

247:名無し~3.EXE
08/08/15 09:31:12 B0JNZm6F
PowerShell はすばらしいですよ。
PowerShell を使えば、あなたの仕事がはかどります。
PowerShell ならシステムの管理が獲活に行えます。
例えて言うなら エスペラント語 みたいなもんです。

248:名無し~3.EXE
08/08/17 13:31:35 U69J/FrR
獲活?

249:名無し~3.EXE
08/08/28 22:26:26 uWfeBCSV
たぶん円滑

250:名無し~3.EXE
08/08/30 14:11:12 d0tUT80M
統合アーカイバプロジェクトのKBA.DLLをインストールして使ってみたのですが、複数ファイルをドロップした時に思うように動作してくれません。
例えば、

Set FSO = CreateObject("Scripting.FileSystemObject")
Set oZIP = CreateObject("KBA.ZIP")

For Each sArg in WScript.Arguments
if FSO.FileExists(sArg) Then
oZIP.OpenArc sArg
MsgBox "1:" & sArg & "2:" & oZIP.ArcName
oZIP.CloseArc
End if
Next

上記スクリプトに、zipファイルを1つドロップした場合、「1:ドロップしたファイル名2:ドロップしたファイル名」とメッセージが出るのですが、
2個以上のzipファイルをドロップすると、1個目のファイルは「1:ドロップしたファイル名2:ドロップしたファイル名」、
2個目以降は「1:ドロップしたファイル名2:」となってしまいます。

OpenArcメソッドを使わなければ、それ以外のメソッド、ArcCmd(圧縮・解凍などの各種操作)・FileCount(格納されているファイルの総数を返す)などは複数のファイルでも正しく処理できます。
書庫の情報を取り出したり書庫内ファイルを検索するために書庫ファイルを指定するのがOpenArcメソッドですが、呼び出すと2個目以上のファイルの処理に問題が出るようです。
CloseArcメソッド(リファレンスには「OpenArcで結びつけたハンドルを解放する」とあります。)も機能していない?ようです。

更新日も古く、使っている人が少ないのか、googleでもほとんど情報を得られませんでした。どなたか、助言お願いします。

251:名無し~3.EXE
08/08/30 21:28:30 Oes8pJ1M
知らんけど、毎回オブジェクト作成→解放してみるとか

252:名無し~3.EXE
08/08/30 21:44:45 4ib5BU+k
jscriptでIEを操作して、「フォームを送信して結果の本文を取得する」
ってのをやろうとしています。

debug用に IE.Visible = true; で試しているところですが、
IE.Navigate2 でPOSTしてフォームの送信に成功し、結果が表示されるところ
まではできています。

しかし、その後 IE.document.body.innerhtmlや.innertextはもちろん、
IE.locationnameすらも取得できません。(nullが返る)
もちろん IE.ReadyState == 4 である事は待ってから取得しています。

こんなことってあるんでしょうか。
本文など情報を取得するにはどうすればよいのでしょう。

253:252
08/08/30 22:57:59 4ib5BU+k
IE.locationnameは取得できていることがわかりました。
たまたまデバッグしていたページのタイトルが空だっただけでした。

やはりIE.document.body.innerhtml, .innertextは取得できません。

254:名無し~3.EXE
08/08/30 23:26:37 sDyQKTTJ
間違ってるだけ

255:名無し~3.EXE
08/08/30 23:47:47 DSTdld3c
innerHTML innerText
VBじゃないんだから正しく書け。

256:252
08/08/31 00:00:23 Vnde2TRN
>>254-255
う…
その通りでした。ありがとうございます。

存在しないプロパティならエラーになるはずだと思っていたので、エラーに
ならない以上そういう問題はないと思いこんでしまっていました。

257:名無し~3.EXE
08/08/31 22:46:35 6Tzy7HL9
質問です
PowerShell というのはつまり
なんちゃって Perl
なわけですか?

258:名無し~3.EXE
08/08/31 23:08:58 EaFSdaSA
CGI=Perlと思っていたあの頃・・・

259:名無し~3.EXE
08/09/02 22:39:04 /oXppw8S
下のVBSとJScriptは同じ動作をするんですが、なぜJScriptのほうで var objSys = enumSys.item(); という手間がひとつ多く必要なのかがよくわからんのです。
どなたか教えてプリーズ。

-----VBS
Set wmi = GetObject("winmgmts:")
Set SystemSet = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem")
for each System in SystemSet
 WScript.Echo "Caption: " + System.Caption
 WScript.Echo "Version: " + System.Version
 WScript.Echo "Memory: " + System.TotalVisibleMemorySize
next

-----JScript
var wmi = GetObject("winmgmts:");
var SystemSets = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem");
for(var enumSys = new Enumerator(SystemSets); ! enumSys.atEnd(); enumSys.moveNext()) {
 var objSys = enumSys.item();
 WScript.Echo("Caption: " + objSys.Caption);
 WScript.Echo("Version: " + objSys.Version);
 WScript.Echo("Memory: " + objSys.TotalVisibleMemorySize);
}

あと、JScriptでWMIとかをいじる時に、オブジェクトの中身を見られるメソッドみたいなものがあれば教えて欲しいです。
enumSys.toSource()
だと「実行時エラー: オブジェクトでサポートされていないプロパティまたはメソッドです。」と言われてしまいます。


260:名無し~3.EXE
08/09/02 22:53:39 UTiA0o1v
enumSysはEnumeratorオブジェクトだから
オブジェクトの中身って何

261:名無し~3.EXE
08/09/02 23:20:06 uJm2pAsf
>>259
自分でtoSourceをr定義する

262:259
08/09/03 00:23:11 JepG4paN
>>260
言われてみたら new Enumerator でオブジェクトを作ってた。
全然目が届いてなかったぜ。ありがとう

>>261 が自分で作れと言ったので9割コピペで捏造した。

function printProperty(obj) {
 for (var prop in obj){
  WScript.Echo(prop + " -> " + obj[prop]);
 }
}
<略>
for(var enumSys = ...
 var objSys = enumSys.item();
 printProperty(objSys);

だけど、なにも表示されない。
>>259 のコードで少なくとも .Caption と .Version と .TotalVisibleMemorySize は在るのがわかってるので、printProperty の for ループは最低3回はまわるはず(だよね?)
「->」だけの表示でもいいから3回は表示されると思ったんだけどその表示も無し。

神よ添削してくだされ。


263:259
08/09/03 01:01:10 JepG4paN
当初の目的は達成できました。
.Properties_ ってなんだよ!そんなの知らなきゃわかんないよ!って気分になりました。
moz-addon.g.hatena.ne.jp/ZIGOROu/20071101/1193945908 さんありがとう。

for(var enumSys = new Enumerator(SystemSets); ! enumSys.atEnd(); enumSys.moveNext()) {
 var objSys = enumSys.item();
 for(var enumProp = new Enumerator(objSys.Properties_); ! enumProp.atEnd(); enumProp.moveNext()) {
  WScript.Echo(enumProp.item().name + " -> " + objSys[enumProp.item().name]);
 }
}

「こんな局面のときは .Properties_ ってのが使えるぜ」みたいな知見は経験を積むしかないんだろうか?
あるいは体系的に学習すれば身につくレベルの話?


264:名無し~3.EXE
08/09/03 01:27:09 rs8DnNaP
経験かな
エンジンのバージョンごとにバグがあって
それに気が付かずに悩んだりすることもあるし

265:名無し~3.EXE
08/09/04 19:27:26 l2+9WVFc
WSH(JavaScript)でIEを操作するスクリプトを書いています。

IE = new ActiveXObject("InternetExplorer.Application");
IE.Visible = false;
IE.Navigate("URLリンク(www.google.com)");

てなことをやっていると、全く操作ができなくなることがある。
IE.Visible = true;
にして確認してみると、
「セキュリティの警告」
「セキュリティで保護されたページを表示しようとしています」
というポップアップが出ていて、OKをクリックしてやらない限りWSHからは
操作できないようだ。

こういうダイアログが出ているかどうかを確認して、出ていたらOKを押す、
というのはどうすればいいですかね。

266:名無し~3.EXE
08/09/04 19:51:14 2bJj6jy/
>>265
IE.Visible = true;

で、いいんじゃね?

267:名無し~3.EXE
08/09/04 19:53:27 l2+9WVFc
trueにすれば
ポップアップが開いたことをスクリプトから調べる方法
そのポップアップのOKを押す方法
はあるということ?どうすればいい?

268:名無し~3.EXE
08/09/04 19:58:57 2bJj6jy/
「スクリプトから」はしらない。

269:名無し~3.EXE
08/09/04 20:13:30 l2+9WVFc
あぁ、人が見てOKすればいいってことですか?
うーん、自動化したいということと、人がOK押してる間に
IE.ReadyState == 4で先に進んじゃうのよね。操作できないのに。

IE.Navigate("どっか");
while(IE.ReadyState != 4) {
  WScript.Sleep(250);
}
ほげほげ;

IE.Navigate("べつのどっか");
while(IE.ReadyState != 4) {
  WScript.Sleep(250);
}
ふがふが;

ってなことをしていて、"どっか"の時点で警告が出ると、さくっとほげほげの
処理を通り過ぎて"べつのどっか"へのNavigateを実行するけど失敗して、
かつReadyStateは4のままだから、人がOKを押す前にふがふがまで行ってしまう。

というわけで、(ほんとはやだけど)最悪OKは人が押すとしても、警告のせいで
IEの処理が止まってる事をスクリプトから把握できないと困るのよ。

できないとなると、こういうのを回避する別のいい方法はないかなあ。

270:名無し~3.EXE
08/09/04 23:43:29 xy3FNoG2
If .AppActivate(ダイアログのタイトル) Then .SendKeys "OKのショートカットキー"


271:名無し~3.EXE
08/09/05 00:11:56 ymZX69/d
トンクス、明日やってみる

if WScript.Shell.AppActivate("ダイアログのタイトル") {
    WScript.Shell.Sendkey("ショートカット");
}

JavaScriptだからこうかな。
VBScriptはオブジェクト名を省略できるの?

272:名無し~3.EXE
08/09/05 00:14:55 +9TG1vLi
VBScriptでもJScriptでもwith

273:名無し~3.EXE
08/09/05 14:11:28 8iLTXUTa
>>265
たぶんみなさん確実に私より詳しそうだから、全然はずしていたら読み飛ばしてください。

IEを操作するときは、どこかで、objIE.Navigate("about:blank") でブランクページを
作ってから目的のページに飛ぶほうがいい、って書いてあって(ように思う)
私は何も考えずにそうしてます。そういう問題ではないですか?

(っていうか、一旦ブランクにする理由はすっかり忘れてしまって、ググッたけど、
見つけられなかった。どういう意味なのか知っている人がいたら解説してほしいです....)

274:名無し~3.EXE
08/09/05 14:48:19 +9TG1vLi
しないほうがよい

275:265
08/09/05 17:03:26 VTJ1fL7j
>>273
IE.Navigateの問題ではなくて、モーダルダイアログに阻まれて元アプリの
コントロールができなくなる話なので、本質的にはIEに関係ないと思う。
たぶんIE.Visible = false;なのにGUIからしかコントロールができない
API設計のへぼさが問題だと思うけどしょーがないみたいね。
とりあえず>>270-271でうまくいったのでそれでいい事にする。

ところで、ActiveXObject()でオブジェクトを作るとエラーの判定ができる
けど、 wsfで<object />を使って作ると判定できないのかな。

ScriptPW.Passwordを使ってスクリプトを書いていたらscriptpw.dllが無い
環境でエラーになる事がわかったから判定したいけど、<object />で
作っていたので返り値で判断ができない。
<object />を使う場合は絶対失敗しない事を確信できる状況でしか使うな
ってことなのかな。

使えば使うほどかゆいところに手が届かない感じがしてくるなー。
ちょっとしたことに使うなら便利なんだけどさ…。

276:名無し~3.EXE
08/09/05 18:13:47 +9TG1vLi
<object id=hoge />
TypeName(hoge)で確認

277:名無し~3.EXE
08/09/05 19:29:24 VTJ1fL7j
>>276
すまん、俺が悪かった。
問題はそれ以前に、エラーになったらその時点で実行が止まっちゃう事にあった。

オブジェクトを作成できなくても実行を続けるにはどうすればいいかな。

278:名無し~3.EXE
08/09/07 09:27:05 F9Z8qgIn
HTAStopとNoScript(Firefoxのアドオンではない)で無効に設定しているので使ってません。

279:名無し~3.EXE
08/09/07 21:28:33 Bfr7d4al
>>274
IEなんて使わないで直接取りに行ったら?
POSTもできるし
Function PrintHttpDocSimply(url,param)
Dim oXmlHttp
Set oXmlHttp = CreateObject("MSXML2.XMLHTTP.4.0")
oXmlHttp.Open "POST", url , False
oXmlHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
oXmlHttp.send param
PrintHttpDocSimply = oXmlHttp.responseText
End Function

paramは ”hoge=hoho&baka=kaba&momar=hiroyuki”
とか入れておけばいい

280:名無し~3.EXE
08/09/07 21:38:59 TQSameT9
なぜ全角文字を混ぜる

281:265
08/09/08 02:45:23 K462bD72
>>279
>>274じゃないけど反応してみる

さっぱりわからんので教えてくらはい。

再帰してるのはなぜ?
PrintHttpDocSimplyの引数が(url, param)なのにoXmlHttp.responseTextだけ
渡すのでいいの?
つーかそもそもoXmlHttp.responseTextはどこで定義されているの?

282:名無し~3.EXE
08/09/08 06:42:42 L5IL5s6b
VBScript Function でぐぐれ

283:265
08/09/08 16:13:17 TQKBbcaA
ぐぐった。
VBScriptにはreturnが無いのね。
もしかして再帰できないの?と思ったら再帰の呼び出しはcallを使うのか…。

>>279
サンクス。
>>275にも書いたように>>270-271でなんとかしちゃったけど、後で試してみる。

あと>>277は、try {} catch() {}すればいい事に気がついた。

284:名無し~3.EXE
08/09/10 00:05:22 nQEAey34
wshとは直接関係無いけど

Windowsのシステム内でのレジストリとWMIの位置付けの違いがよくわからん
レジストリは設定の保存場所だろ?
WMIも設定の保存場所…なのか?


285:名無し~3.EXE
08/09/10 01:11:02 +SACXhEc
>>282
MSXML2.XMLHTTP.4.0 というObjectでいろいろ定義されている
古いOSならいざ知らずたいがいの環境で使えるのが吉

286:名無し~3.EXE
08/09/10 01:20:16 bhv+KmqL
昔作ったBATを置き換えようかと思ってるんだけど
%~dpnx1とか%~n1とかどう取得するの?

287:名無し~3.EXE
08/09/10 01:59:46 VUGKxJpv
>>286
コマンドラインパラメータの取得なら
WshArguments オブジェクト
URLリンク(msdn.microsoft.com)

パスの分解なら
FileSystemObject のメソッド
URLリンク(msdn.microsoft.com)
各種 Get****Name


なげーよカスと思っても口にしてはいけないよ。

288:名無し~3.EXE
08/09/10 15:55:55 TB/+ZEHL
サーバーのデスクトップ画面をリモートから保存したい
クライアントでATバッチ実行してサーバにBATのrunasでadmin権限取得用vbsをechoで作成して実行するようにスケージュル
指定時間になったら、サーバで上で自動作成されたadmin.vbsが実行されてクライアントの中のcap.batが実行される
cap.batでサーバのデスクットプ画面を保存するadmin.vbsは実行後にadmin.vbsで削除される

一応動いたけどサーバでcap.bat実行中の画面が保存されるので困っている
runasでsendkeys使っているので非表示でbatを起動することはできないのでsendkeyが終った後にcap.batの最小化又はウィンドウサイズを位置を変更したい
↓の方法も試しましたがコマンドプロンプトの画面はaltキーが反応してないみたいで使えませんでした
URLリンク(detail.chiebukuro.yahoo.co.jp)

wshで実行中のコマンドプロンプトの最小化又はウィンドウサイズを位置を変更する方法はありませんか?

289:名無し~3.EXE
08/09/10 20:49:57 xOxjqnd6
わざわざそんなことせずともできると思うが、具体的に

290:286
08/09/11 07:01:11 KjAck0oQ
>>287
thx

291:at.bat part1
08/09/11 08:49:14 xAqasSGI
>>289
@echo off
@REM 実行するアプリとスケジュール時間
set RUNBAT=\\%COMPUTERNAME%\z$\bat\リモート\run_remote_pc.vbs
set RUNTIME=7:30

call :time_run

echo PC名 ping 内容 時間%h%時%m%分%s%秒>>atlog.txt
@REM ----------------------------------------------------------
for /F "tokens=1" %%a in (pclist.txt) do call :sub1 %%a
GOTO :EOF

@REM ----------------------------------------------------------
:sub1
SET LIST=%1
:PING
SET PING=ERR_LAN
ping /n 1 %LIST% | find "Reply" >tmp1.txt
for /F "tokens=1" %%a in (tmp1.txt) do SET PING=%%a
del tmp1.txt
IF NOT %PING%==Reply GOTO NGLAN
:OKLAN
echo Dim WshShell>\\%LIST%\c$\at_admin_run.vbs
echo Set WshShell = CreateObject(^"WScript.Shell^")>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.Run ^"runas.exe ^/user:megaoak\kanazawa ^"^"c:\at_admin_run.bat^"^" ^", 2 >>\\%LIST%\c$\at_admin_run.vbs
echo WScript.Sleep(100)>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.AppActivate(^"runas.exe^")>>\\%LIST%\c$\at_admin_run.vbs
echo WScript.Sleep(1)>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.SendKeys(^"kanazawa{ENTER}^")>>\\%LIST%\c$\at_admin_run.vbs
echo Set objFSO = WScript.CreateObject(^"Scripting.FileSystemObject^")>>\\%LIST%\c$\at_admin_run.vbs
echo objFSO.DeleteFile ^"c:\at_admin_run.vbs^">>\\%LIST%\c$\at_admin_run.vbs

292:at.bat part2終り
08/09/11 08:54:52 xAqasSGI
echo start wscript //nologo ^"%RUNBAT%^">\\%LIST%\c$\at_admin_run.bat
echo Del c:\at_admin_run.bat>>\\%LIST%\c$\at_admin_run.bat

AT.exe \\%LIST% %RUNTIME% /interactive c:\at_admin_run.vbs

echo %LIST% %PING% 接続OK %h%時%m%分%s%秒>>atlog.txt

GOTO :EOF

@REM ----------------------------------------------------------
:NGLAN
call :time_run
echo %LIST% %PING% 接続NG %h%時%m%分%s%秒>>atlog.txt
GOTO :EOF

@REM ----------------------------------------------------------
:time_run
@REM --/現在時刻のHとM取得/--start
for /F "tokens=1,2,3 delims=:" %%a in ("%TIME%") do set h=%%a&set m=%%b&set s=%%c
@REM 秒先頭の2桁
set s=%s:~,2%
echo -%h%時%m%分%s%秒-
@REM 先頭の0を取り除く
if %h% LSS 10 set h=%h:~1,1%
if %m% LSS 10 set m=%m:~1,1%
if %m% LSS 10 set s=%s:~1,1%
@REM --/現在時刻のHとMとS取得/--end
GOTO :EOF

↑↑これで一応動くようになったけど、テストしたらサーバで下のメッセージがでて5台しか成功してなかった

スクリプト"\\クライアントPC\z$\bat\リモート\run_remote_pc.vbs""(コンピュータへの接続数が最大値に達しているため、これ以上このリモートコンピュータに接続できません。)。

293:名無し~3.EXE
08/09/11 18:03:54 oxo2U/u+
minimizeall

294:名無し~3.EXE
08/09/11 18:08:49 WF6Xi3UD
>>293
全部のウィンドウが最小化するとサーバで起動中のアプリの画面をスクリーンキャプチャーできない
特定のウィンドウのみを最小化,移動,サイズ変更したい

なぜかわからないが、runas使わなくても動いたのでソースがシンプルになりました
また明日検証してみる

295:名無し~3.EXE
08/09/11 18:13:23 oxo2U/u+
>全部のウィンドウが最小化するとサーバで起動中のアプリの画面をスクリーンキャプチャーできない

???

>↓の方法も試しましたがコマンドプロンプトの画面はaltキーが反応してないみたいで使えませんでした

コマンドプロンプト以外には使えるんだろ?

296:名無し~3.EXE
08/09/11 20:10:09 WF6Xi3UD
コマンドプロンプトの画面のみを最小化,移動,サイズ変更したい


297:名無し~3.EXE
08/09/11 21:57:27 z48R5mCN
> コンピュータへの接続数が最大値に達しているため、これ以上このリモートコンピュータに接続できません。
Windows Server使え

298:名無し~3.EXE
08/09/11 22:49:58 WF6Xi3UD
>>297
windowsクライアントからwindowsサーバに対して実行してるから無理です
その問題はsambaサーバにキャプチャーしたpngファイルを保存する事にして解決しました

299:名無し~3.EXE
08/09/11 23:17:17 oxo2U/u+
start /min 続きバッチ

300:名無し~3.EXE
08/09/12 06:57:04 DXz7uta5
>>299
startで最小化あるんですね
ありがとう試してみます

301:名無し~3.EXE
08/09/16 21:31:25 OqBWXUZ3
301

302:名無し~3.EXE
08/09/19 11:28:54 9tqS9cEB
atでサーバをリモートでキャプ取るのできた
キャプソフトはccap.exe スクリーンセーバキャンセルできてPNG保存可能で197KB
exeやvbsをアクセス権フリーな状態のsambaに置いて後は普通にATコマンドのスクリプト書くだけだった


303:名無し~3.EXE
08/10/17 19:19:30 XaGw/LzA
職場でノートパソコンの更新があったが
ひきづつきwshは使えるようだ、よかった。

304:名無し~3.EXE
08/10/31 22:10:39 pltrwarm
webでツールバーとかアドレスバーとか戻るボタンがないブラウザ画面がポップアップすることがありますが、vbsであの状態のIEを呼び出せないでしょうか?

305:名無し~3.EXE
08/10/31 22:25:34 hqP79kIz
MenuBarとかToolBarとか
URLリンク(msdn.microsoft.com)(VS.85).aspx

306:名無し~3.EXE
08/10/31 22:37:56 pltrwarm
おおこんな便利なページがあるんですか!ありがとうございますいろいろ遊んでみます

307:名無し~3.EXE
08/10/31 22:48:15 pltrwarm
あははは楽しいです。
美しくないコードかもしれないけど結果は良好です。

Set IE = CreateObject("InternetExplorer.Application")
ie.menubar=false
ie.AddressBar=false
ie.toolBar=false
ie.visible = true
ie.navigate2 "URLリンク(www.google.co.jp)"

308:名無し~3.EXE
08/11/08 16:14:45 CSQUIZij
そういう書き方しかないべさ

309:名無し~3.EXE
08/11/16 12:13:26 jsDDDVhU
IEで動くVBSを書いていますが、
Setinterval で Subプロシージャを呼び出すときに
引数をSubプロシージャに渡したいのですが、エラーになります。
Googleも調べてみたのですが、解決できていません。

今書いている(エラーになる)コードは

Sub First
ID = window.setInterval("chk(" & a & ")", Time, "vbScript")
End Sub

Sub chk(b)
処理
End Sub

です。引数にはIPアドレスが入っています。

エラーは ')'がありません です。
エラーダイアログの"ライン"は 1 ですが、ソースの1行目はまったく関係ない内容(Dim定義)です。
おそらく、Setintervalの書き方の問題だと思うのですが、どなたかお解かりになりますか?


310:名無し~3.EXE
08/11/16 14:52:18 frYs1RTI
"chk(""" & a & """)"

311:名無し~3.EXE
08/11/30 11:30:40 42N27sG3


312:名無し~3.EXE
08/12/01 02:28:06 tUazuBOQ
質問させてください。
vbsからbatファイルを起動させて、当該batファイルの戻り値を取得したいです。

Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("return.bat")

return.batは正常時0、異常時1を返します。
このbatをvbsから起動させた場合、戻り値はどのように取得できるのでしょうか。
よろいしくお願いいたします。

313:名無し~3.EXE
08/12/01 18:29:13 YhZLL2V/
ExitCode

314:名無し~3.EXE
08/12/01 18:32:18 SxqUT20G
>>312
URLリンク(msdn.microsoft.com)

315:名無し~3.EXE
08/12/03 15:22:38 ZqYgpyCA
Runを使えよ

316:名無し~3.EXE
08/12/04 23:56:02 mdmbOzTn
そんなのしRun

317:名無し~3.EXE
08/12/14 13:59:58 vsQqgwYe
今日初めてVBSを触りました。

IEのコンテキストメニューからパスワード生成を行えるように
したいのですが(ググったらコードでてきたのでそのまま利用)
実行するとInputBoxに書けませんというエラーが出ます。どうしてでしょうか?
メニューに登録したファイルの内容は↓
<SCRIPT LANGUAGE="VBScript">
<拾ったコード>
</SCRIPT>
拡張子はhtmにしてあります。
このファイルを直接ダブルクリックした場合は実行されますが、
右クリックからの起動はうまくいきません。


318:名無し~3.EXE
08/12/14 14:09:33 Pv8LMZtA
>>317
<SCRIPT LANGUAGE="VBScript">
<修正済みコード>
</SCRIPT>

319:名無し~3.EXE
08/12/14 15:36:33 pZTS1TIH
InputBoxは使えんよ
promptに変えろ

320:名無し~3.EXE
08/12/14 17:05:33 vsQqgwYe
むぅ・・・そうなのですか。
やってみます。

321:名無し~3.EXE
08/12/31 13:16:01 rgPn1704


322:名無し~3.EXE
09/01/06 18:31:56 /SR1ia3E
WScript.Echo("あけおめ");


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch