teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

別の解決策も発見しました

2015/10/30 05:24

投稿

juam
juam

スコア26

answer CHANGED
@@ -11,11 +11,32 @@
11
11
  shell.Run("rundll32.exe netplwiz.dll,UsersRunDll") ' AppActivate()でtrueが返る
12
12
 
13
13
  Do Until shell.AppActivate("ユーザー アカウント")
14
- Wscript.Sleep 1000
14
+ Wscript.Sleep 100
15
15
  If i > 10 Then Wscript.Quit
16
16
  i = i + 1
17
17
  Loop
18
18
 
19
19
  shell.Sendkeys("%E{-}")
20
20
  shell.Sendkeys("{ENTER}")
21
+ ```
22
+
23
+ 以下でもうまくいきました。
24
+ Run()は関数呼び出し、Exec()は実行ファイル呼び出し、
25
+ でないとうまくいかない場合があるということなのかもしれません。
26
+
27
+ ```VBScript
28
+ Option Explicit
29
+ Dim shell, i
30
+ Set shell = CreateObject("WScript.Shell")
31
+ 'shell.Run("rundll32.exe netplwiz.dll,UsersRunDll")
32
+ shell.Exec "Netplwiz.exe"
33
+
34
+ Do Until shell.AppActivate("ユーザー アカウント")
35
+ Wscript.Sleep 100
36
+ If i > 10 Then Wscript.Quit
37
+ i = i + 1
38
+ Loop
39
+
40
+ shell.Sendkeys("%E{-}")
41
+ shell.Sendkeys("{ENTER}")
21
42
  ```