TClock Script Help

TClock2ch付属サイト…

全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50  

WSH(・∀・)スレッド!
1 名前:デフォルトの名無しさん:03/06/08 21:31
( ´ゝ`) 無ので立ててみた。

誰か詳しい情報キボンヌ

2 名前:デフォルトの名無しさん:03/06/08 21:31
    ∧_∧
    (*´Д`)  イヤン
     / ,ノ⌒ヾ、
   ⊂⊂、___(_,つ

3 名前:デフォルトの名無しさん:03/06/08 21:32
>>2 なんかかわいい。

4 名前:デフォルトの名無しさん:03/06/08 21:32
>>2
(:.;゚;Д;゚;.:)ハァハァ

5 名前:デフォルトの名無しさん:03/06/08 21:34
    ∧_∧
    (* ゚Д゚ )  ナニミテンダゴルァ
     / ,ノ⌒ヾ、
   ⊂⊂、___(_,つ

6 名前:デフォルトの名無しさん:03/06/08 21:34
Windows Scripting Host Laboratory
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm

7 名前:3:03/06/08 21:35
>>5
なんかコワい…

8 名前:デフォルトの名無しさん:03/06/08 21:37
Windows Scripting Host
・WSH最新版DLサイト
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=E74494D3-C4E1-4E18-9C6C-0EA28C9A5D9D


9 名前:デフォルトの名無しさん:03/06/08 21:38
拡張子を.vbsにすればいいんだよね?

10 名前:デフォルトの名無しさん:03/06/08 21:40
>>9
そでつ。ほかにもあるっぽいですが

11 名前:デフォルトの名無しさん:03/06/08 21:41
前もWSHスレ立って需要がなくて消えたんだよな

12 名前::03/06/08 21:42
>>11
そいつは知らなかった・・・このスレ もそうなりそうな悪寒・・・

13 名前:デフォルトの名無しさん:03/06/08 21:42
ウィルスを作るためのツール?

14 名前:デフォルトの名無しさん:03/06/08 21:42
>>11
それをスレ立てる前に言ってくれ!





無理か。

15 名前:デフォルトの名無しさん:03/06/08 21:43
とりあえず、最終目標としてはBOTもしくはウイルスを作るということでおkかな?

16 名前:デフォルトの名無しさん:03/06/08 21:45
なぜ需要がなかったかというと、Win板にすでに
お前ら、wsh使ってますか? Part2
http://pc2.2ch.net/test/read.cgi/win/1022248379/
というのがあって、そっちの方が盛り上がってたから。
前も結局そっちに誘導して終わった。

17 名前:_:03/06/08 21:45
http://kame.kakiko.com/hiroyuki/jaz_b01.html

18 名前:デフォルトの名無しさん:03/06/08 21:45
>>15
それじゃぁ、削除対象…

19 名前:デフォルトの名無しさん:03/06/08 21:46
>>16
ヽ(`Д´)ノタテルマエニイエヨ!

20 名前:デフォルトの名無しさん:03/06/08 21:48
>>16
エンドユーザレベルか・・・・
まあ多分UNIX板にもシェルスクリプトのスレがあるんだろうけど。

21 名前:デフォルトの名無しさん:03/06/08 21:48
    ∧_∧ ∧__∧
 _ ( ´∀`(・∀・ )__ < ネタが無いのに立てたんだね。ヴァカみたい♪
 |≡( 11 )( 121 )≡|
 `┳(__)(__) (__)(__)━┳
,..,..┴,...,...,...,....,....,.....,....,┴,,,,..

22 名前:デフォルトの名無しさん:03/06/08 21:51
そういえばなつかしのI love youウイルスも.vbsだったな

23 名前:デフォルトの名無しさん:03/06/08 21:52
>>21 んなさびしいこというなよぉ。

24 名前:デフォルトの名無しさん:03/06/08 21:52
c.Copy(dirsystem&"LOVE-LETTER-FOR-YOU.TXT.vbs")

25 名前:デフォルトの名無しさん:03/06/08 21:53
>>24
キタキタキタキタキターーーーーーーーーー

 |≡( 11 )( 121 )≡|
 `┳(__)(__) (__)(__)━┳

26 名前:デフォルトの名無しさん:03/06/08 21:53
>>24 のーとんが猛り狂ったように叫び出す、に10000ぬるぽ

27 名前:デフォルトの名無しさん:03/06/08 21:54
質問厨がなんかこのスレ(板)…と言い出すに 5000ぬるぽ

28 名前:デフォルトの名無しさん:03/06/08 21:54
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")

29 名前:デフォルトの名無しさん:03/06/08 21:55
そういえば、>>24のコードの意味がいまだにようわからん

30 名前:27:03/06/08 21:55
>>28
ああ、微妙に違ったのね。ダマサレタ!

つか、つまらんですよ。

31 名前:デフォルトの名無しさん:03/06/08 21:58
>>20
だからエンドユーザレベルじゃないと需要ないんだって。

32 名前:エンドユーザー:03/06/08 22:00
ごめんなさい

33 名前:デフォルトの名無しさん:03/06/08 22:02
いや別にエンドユーザが悪いとかじゃなく、このスレに限らず需要無いところに立てても
悲しい結末にしか・・・

34 名前:デフォルトの名無しさん:03/06/08 22:05
>>1さん、漏れもWin板あたりが妥当だと思うんですが…

http://qb.2ch.net/saku/


35 名前:デフォルトの名無しさん:03/06/08 22:08
>>1
つーことで削除依頼よろすく。
過去ログに消えたスレあるかな。あれば>>13みたいなレスでぐだぐだになって消えたのがわかると思う。

36 名前:デフォルトの名無しさん:03/06/16 12:36
この前、インストーラにexe作るのめんどくさかったから
WSHでファイルコピー&レジストリ登録をするスクリプト書いたら
ノトーン先生に怒られた。
こりゃ、仕事じゃ使えないわ

37 名前:デフォルトの名無しさん:03/06/19 13:58
.vbs で処理しようとすると,ドロップするファイル数に限度があるようです。
回避する方法として,フォルダをドロップしようと考えていますが,
下記のどこを変えたらよいですか?

set arg=wscript.arguments
set fs=createobject("scripting.filesystemobject")
if 0<arg.count then
for each item0 in arg
set file=fs.getfile(item0)

38 名前:デフォルトの名無しさん:03/07/17 15:47
前もWSHスレ立って需要がなくて消えたんだよな

39 名前:デフォルトの名無しさん:03/07/17 17:16
Windows板でやるようなスレだしな。

40 名前:山崎 渉:03/08/02 02:36
(^^)

41 名前:デフォルトの名無しさん:03/08/05 06:45
WSHでhttpを使ってWebサーバにGETやPOSTって出来ますか?
Socketでも構いません。WinInetをラッパーした物があれば万々歳。

42 名前:山崎 渉:03/08/15 16:01
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

43 名前:yawa:03/08/16 04:11
HTMLアプリケーションて結構好きだなあ
Mozillaにそれ使ったアプリなかったっけ

44 名前:yawa:03/08/16 04:11
monazillaの間違え

45 名前:デフォルトの名無しさん:03/10/09 00:38
sage保守

46 名前:デフォルトの名無しさん:03/10/14 23:40
固定長のファイルを開いて特定の位置を参照しに行って
そのフィールドの内容が変わったらその内容をファイル
名として保存。
を出来なくなるまで繰り返すと言う構文を誰か作ってくれませんか?

47 名前:デフォルトの名無しさん:03/10/18 06:06
>>46

スレの前半のほうに書いてあるがWin板のお前ら、WindowsScripting使ってますか?を利用したほうがいいのでは?
多分、向こうに書き込めば11さん辺りが作ってくれるかもしれないですよ。

現行スレは多分http://pc2.2ch.net/test/read.cgi/win/1058829737/です。

48 名前:デフォルトの名無しさん:03/10/22 04:01
現在起動中のプログラムの一覧を取得する方法を教えてください
タスクマネージャで見れる程度の情報がリストにできればいいです

49 名前:スレの終了ダイアログを開いています…:03/12/06 19:40
---------(begin)---------(ShutDown.js)---------(begin)---------
(WScript.CreateObject("Shell.Application")).ShutdownWindows();
---------( end )---------(ShutDown.js)---------( end )---------

50 名前:デフォルトの名無しさん:04/01/11 02:24
WScript.Sleep(100000000);

51 名前:デフォルトの名無しさん:04/02/27 00:59
ホシュ

52 名前:デフォルトの名無しさん:04/02/27 01:17
このスレのおかげでウィルスチェックが効いてウザ杉。
読めねえ。

53 名前:デフォルトの名無しさん:04/02/27 18:49
意味わからん

54 名前:デフォルトの名無しさん:04/03/03 21:47
WScript.Echo("わかれ");

55 名前:デフォルトの名無しさん:04/04/27 09:44
お前ら、WindowsScripting使ってますか? Part3
http://pc5.2ch.net/test/read.cgi/win/1058829737/l50

56 名前:デフォルトの名無しさん:04/06/19 03:59
テキストファイルの印刷って出来ませんか?

最終的には、WWWサーバで印刷したいのですが
http://www.microsoft.com/japan/msdn/columns/server/server033099.asp
に書かれているAddPrinterConnectionやAddWindowsPrinterConnectionを使用しても、
プリンタが見つかりません。のエラーになります。
EnumPrinterConnections で取得したプリンタ名を設定しても
エラーとなります。
どなたか教えてください。

57 名前:デフォルトの名無しさん:04/06/25 10:01
notepad /p

58 名前:デフォルトの名無しさん:04/07/24 19:18
.batファイルよりもWSH使った方が色々出来そうだね。

59 名前:デフォルトの名無しさん:04/08/08 02:43
set shell = createobject("wscript.shell")
do
ret=shell.Popup("sage",1,,0)
loop

60 名前:デフォルトの名無しさん:04/08/08 11:00
    ∧ ∧
   (*・∀・*)  イヤン
     / ,ノ⌒ヾ、
   ⊂⊂、___(_,つ

61 名前:デフォルトの名無しさん:04/08/18 05:45
(:.;゚;Д;゚;.:)ハァハァ

62 名前:デフォルトの名無しさん:04/08/19 07:42
SendToでショートカット渡すとリンク先のファイルのあるディレクトリをExplorerで開くスクリプトってどうやって書けばいいの?

63 名前:デフォルトの名無しさん:04/08/19 07:48
open

64 名前:pakuchan:04/08/19 09:45
Windowsのログオン時に,パスワードをキーボードから入力しますが,これを
RS232CやUSBで接続した認証用センサ(例えば指紋センサ)による認証方式
にするための方法について調べています.
別スレで同じような質問をし,サービスプログラムの作成が必要でないかと
コメントをいただいたのですが,サービスプログラムについてもよくわかりません.
まず,サービスプログラムで可能なのか,また可能であれば作成方法について教え
ていただけないでしょうか?

65 名前:デフォルトの名無しさん:04/08/19 09:51
ハードは外から買って来るんだろ?
普通ハードにSDKやソフトウェアがついてると思うが。

66 名前:pakuchan:04/08/19 10:20
具体的なところでICカードを考えているんですが,リーダーの制御コマンドしか
公開されていません.

67 名前:デフォルトの名無しさん:04/08/19 12:33
WindowsNT系OSはログオンにGINA APIを使う。
http://www.cisnet.or.jp/home/tsuneoka/win32tech/6.html
GINAのサードパーティ製品(SDK?)あるようだがよくらん。
あとすれ違い。

68 名前:pakuchan:04/08/19 15:13
GINAについての情報有難うございました.

69 名前:デフォルトの名無しさん:04/08/20 12:51
>>62
if (WScript.Arguments.length != 1) WScript.Quit();
var file = WScript.Arguments(0);
var folder = file.substr(0, file.lastIndexOf("\\"));
var shell = WScript.CreateObject("Shell.Application");
var shFolderItems = shell.NameSpace(folder).Items();
for (var i = 0; i < shFolderItems.Count; i++) {
var item = shFolderItems.Item(i);
if(item.Path == file) {
if (item.IsLink) {
var target = item.GetLink.Target;
shell.ShellExecute("explorer.exe", "/select,\"" + target.Path +"\"");
} else {
shell.ShellExecute("explorer.exe", "/select,\"" + file + "\"");
}
break;
}
}


70 名前:デフォルトの名無しさん:04/08/25 12:50
VBScriptでGUIDは作れんですか?

71 名前:デフォルトの名無しさん:04/10/26 21:29:41
すでに起動しているアプリケーション(ウィンドウ)を
ひとつだけ最小化させるWSHプログラムは組めますか?

アプリケーション名はわかりますが、
ウィンドウ名は先頭から10数文字までは固定ですが
その後ろは不定なので正規表現とかで指定になると思います

72 名前:デフォルトの名無しさん:04/10/27 00:26:03
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate("Title")
WScript.Sleep 100
WshShell.SendKeys("%( N)")


73 名前:デフォルトの名無しさん:04/10/27 06:54:57
クリップボードにStringを書き込み方法を教えてください。

74 名前:デフォルトの名無しさん:04/10/27 09:45:57
>>72
(゚∀゚)サンクスコ

75 名前:71:04/10/27 10:02:28
>>72
この方法だと、対象アプリがすでに最小化されていたときにも
一度フォアグラウンドに引っ張ってきて、その上で最小化しますね
またSendkeyはフォアグラウンドのアプリに送られるっぽいから
対象アプリが最前面に来る前に100ms経ってしまうと
違うアプリが最小化されてしまいました
直接対象アプリにSendkeyするのってなんか方法ありましたっけ?

76 名前:72:04/10/27 10:30:43
>>75
多分無理かと。
適当にSleepの時間を調整するしかないのでは?

>>73
var str = "hoge";
var ie = WScript.CreateObject("InternetExplorer.Application");
ie.Navigate("about:blank");
while(ie.Busy){ WScript.Sleep(100); }
ie.Document.parentWindow.clipboardData.setData("text", str);
ie.Quit();

by googleの検索結果の上から3番目くらい(特殊文字の処理は省略)
一番上に出てくるやつをダウンロードしてもいいと思うけど。


77 名前:71:04/10/27 13:01:09
たまに、最前面に出てきてもアクティブにならないときもあり
そのときはsleep時間延ばしてても全然違うアプリが閉じてしまう。
むぅぅ。これ以上はWSHでは無理っぽ?

78 名前:デフォルトの名無しさん:04/10/27 21:26:28
>>76
ありがとうございます。
調べたときにIEとか出てきて「なぜ?」って疑問も
教えてもらったclipboardDataからぐぐって
IE呼び出してるんだろうって謎も解けました。

79 名前:デフォルトの名無しさん:04/10/31 01:55:53
>>76 とても、ためになりました。
str = "hoge"
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.Navigate("about:blank")
Do While ie.Busy = True
WScript.Sleep(100)
Loop

Dummy = ie.Document.parentWindow.clipboardData.setData("text", str)
ie.Quit()

当方、VBS派ですが、期待した動作でした。
これまで、IEが立ち上がって来るのかと思って使ってませんでした。
これまでは、VBO4WSH.EXE で、VBのClipboadObj を使えるように
してました。
便利だけど、インストールしないといけないのが面倒なんですよね。
ttp://rd.vector.co.jp/soft/win95/util/se303229.html


80 名前:79:04/10/31 08:22:25
SendKeys を使って、"~"や"%" を送ろうとしても、それぞれ、[Enter]や[Alt] に変換されてしまって、
ファイル名のダイアログボックスに、名前を上手く入力できず困っていました。

でも、Clipboard の中に SetData("~ %") しておいて、Sendkeys("^V")《貼り付け》
してしまえば、上手く行きそうな気がしてきました。
まだ試してないけど、あとでためしてみます。
問題を解くきっかけを作っていただき、ありがとうございました。

81 名前:デフォルトの名無しさん:04/10/31 12:13:38
>>80
ttp://www.microsoft.com/japan/msdn/library/ja/script56/html/wsmthsendkeys.asp

82 名前:デフォルトの名無しさん:04/11/02 16:50:19
CreateObjectもできて
dir /b | sortとかもできるWSHなスクリプトってないの?
VBSってすごい面倒。

83 名前:デフォルトの名無しさん:04/11/03 22:56:06
WSHでセキュリティのイベントログを削除するスクリプトを
perlで作ったですがエラーがでて困ってます。
 # cscript script.pls
でコマンド実行すると
 # PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
とエラーになります。
環境はWindows XPにActivePerl 5.8.4です。
どこが悪いのでしょうか。改善点をお願いします。

以下ソースです。

use Win32::OLE;

open(LOG, "eventquery.vbs /v /fo csv /l Security |");
@data = <LOG>;
close(LOG);

$strComputer = ".";
$wmi = Win32::OLE->GetObject(
"WinMgmts:{impersonationLevel=impersonate}!//" .
"$strComputer\\root\\cimv2"
);

$colLogs = $wmi->ExecNortificaitonQuery(
"Select * from Win32_NTEventLogFile where LogFileName='Security'"
);

foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}

84 名前:80:04/11/04 00:24:57
>>81
どうもありがとうございます。こんな仕様になっていたのですね。
clipboard でのテキスト処理も使えるし、Sendkeys も小技が利くしで、
私のやりたい事の9割方は、WSHでほとんど事足りてしまいます。

85 名前:デフォルトの名無しさん:04/11/06 05:42:20
>>83
何やってるのか知らんけど、colLogsが配列なら$じゃなくて@colLogsなのでは?
もし配列へのポインタなら、foreachで使うところで @$colLogs にするとか。
いずれにせよスカラー値がforeachの中にあるのは気持ち悪い。

ってWSHの話じゃないじゃん・・・


86 名前:83:04/11/06 09:55:39
>>85
エラーの場所がClearEventLog()メソッド呼び出しのところなのでWSHスレッドで良いのかなと。
VBSなら ClearEventLog() でイベントログを削除出来るはずなんですけど
perlでやろうとするとエラーになるので何故かと思って。(perl使うなって話はなしで)

87 名前:デフォルトの名無しさん:04/11/07 16:06:26
>>86 (>>83)
おまえ人の話聞いてないだろ。もっと >>85 の言ってることちゃんと考えろや。

foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}

$objEvent が undefined だから
# PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
になるのは当たり前だろ。


88 名前:83:04/11/08 00:18:45
>>87
foreach の ( ) の中を @colLogs としても同じく "undefined value" とエラーがでます。
@$colLogs とすると実行は出来たのですが foreach の中の処理をしてくれません。(実行しても何も起こらない)
WMIの呼び出しが間違っているんですかね?
perlでWMI扱う情報がweb上にほとんどなく、
どうすればいいのかよくわからないので知恵を貸してください。

追加で質問なんですが、文字コード/改行コードはEUC-JP/CRLFでよろしいんですか?

89 名前:83:04/11/08 00:25:04
ちなみにwebで見つけたVBでログをクリアする方法です(バックアップする処理も含まれていますが)
perlへ移植するにはどうすればよいでしょう

----------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate,(Backup)}!\\" & _
     strComputer & "\root\cimv2")

Set colLogFiles = objWMIService.ExecQuery _
  ("Select * from Win32_NTEventLogFile where LogFileName='Application'")

For Each objLogfile in colLogFiles
  objLogFile.BackupEventLog("c:\scripts\" & strBackupName & _
    "_application.evt")
  objLogFile.ClearEventLog()
Next

90 名前:デフォルトの名無しさん:04/11/08 06:13:37
>>89
SQL使える人ならできるだろ

91 名前:85:04/11/08 06:28:52
>>83
できたぞ。喜べ。
検索キーワードは「"Win32::OLE" コレクション」。
OLEの世界のコレクションはperlの世界では単なるポインタなので、
そのままではループをまわせない。
それをどうやって扱うのか?
専用のWin32::OLE::Enumモジュールを使えばいいらしい。

以下コード。

use Win32::OLE;
use Win32::OLE::Enum;

$strComputer = ".";
$objWMIService = Win32::OLE->GetObject(
 "winmgmts:{impersonationLevel=impersonate,(Backup)}!\\\\".
 "$strComputer\\root\\cimv2");
$colLogFiles = $objWMIService->ExecQuery
 ("Select * from Win32_NTEventLogFile where LogFileName='Application'");
$enum = Win32::OLE::Enum->new($colLogFiles);

while (defined($item = $enum->Next)) {
 $item->BackupEventLog("c:\\scripts\\test_application.evt");
 $item->ClearEventLog();
}


92 名前:デフォルトの名無しさん:04/11/08 14:20:32
すげー

93 名前:デフォルトの名無しさん:04/11/08 18:03:32
結論、VBS使え。

94 名前:83:04/11/10 10:39:32
>>91
おおぉお!ありがとうございます!感動して目の前が潤んでいます
perlのポインタの扱いについてよく理解できてませんでした。
精進します ありがとうございました

95 名前:デフォルトの名無しさん:04/11/17 11:36:35
JScriptから、INIファイルを読みたいのですが何かいい方法はないでしょうか?
Win32APIでいうならgetPrivateProfileStringみたいなのを探しています。
よろしくお願いします。

96 名前:デフォルトの名無しさん:04/11/17 18:02:53
素直にFSOでテキストファイル処理してもたいした手間じゃないと思うけど。

97 名前:デフォルトの名無しさん:04/11/18 01:18:26
ウィンドウの無いプロセスを終了→起動させたいのだけど、
終了のさせ方がわかりません。ウィンドウがあれば、
>>72でできそうなんですが。

98 名前:デフォルトの名無しさん:04/11/18 02:34:30
>>97
WMI を使う。
http://www.microsoft.com/japan/technet/scriptcenter/process/scrpcs07.mspx


99 名前:97:04/11/20 01:43:21
>>98 有難う! と言いたいのですが、WSHでないのが残念! です。

100 名前:デフォルトの名無しさん:04/11/20 03:18:16
そいつは残念だ。

101 名前:デフォルトの名無しさん:04/11/22 15:07:28


102 名前:デフォルトの名無しさん:04/12/27 21:23:04
 


103 名前:デフォルトの名無しさん :05/01/12 07:48:35
msgbox("新年あけましておめでとうございます")

104 名前:デフォルトの名無しさん:05/01/12 17:42:38
質問スマソ。WSHでIEオブジェクトを扱った時、ページ内のJavaScript Functionって
呼べないのかな・・

105 名前:デフォルトの名無しさん:05/01/12 23:23:14
IEオブジェクトはWindows 2000である条件のもとだと使えネェな。
といってもその条件が特殊だからあんま意味ないか。

106 名前:デフォルトの名無しさん:05/01/12 23:37:41
>>104
ページ内のスクリプト各関数は
大抵ボタンやリンクのonClickなんかに関連づけられてるから
そのイベントをfireEventするってのは?




107 名前:デフォルトの名無しさん:05/01/21 00:49:26
すみません、全くの初心者なんですが、Wordのマクロから、
別のところに保存してある.vbsファイルを実行したいのです。
(要はWordで今選択している単語を、
コピーして別のアプリのウインドウに貼付けしたい)
Wordのマクロでとりあえず
Selection.Copy
でコピーはできたのですが、その後、
(1)別のアプリの起動
(2)そのアプリへの貼付け
がどうやるかわかりません。
どなたかどうぞよろしくお願いします。

108 名前:デフォルトの名無しさん:05/01/21 00:57:43
shell
sendkey

109 名前:デフォルトの名無しさん:05/01/21 00:58:57
>107
WScript.Run
Sendkey

110 名前:デフォルトの名無しさん:05/01/21 01:15:59
WSHがマルチスレッドに対応!
かと思って
ぅぉ
っと声を上げてクリックしてしもたorz

111 名前:デフォルトの名無しさん:05/02/25 06:44:32
http://society3.2ch.net/test/read.cgi/hosp/1103732549/14-
このスレッドの14番、15番は、
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm
ここで、公開されているスクリプトです。
このスクリプトを変形して、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出したいです。
ツリー構造はいりません。
私は、シェルうんぬんでわけがわからなくなりました。
虫のいい話ですが、どなたかお助け下さい。

112 名前:デフォルトの名無しさん:05/02/25 07:05:15
>111
ややこしいと思うならshellを使わずにD&Dのみで作ればいいんじゃない?
ツリー構造いらないならそんなに難しいものでもないが。

113 名前:111:05/02/25 07:18:11
>>112
これを機会にWSHを身に着けたいんです。

114 名前:デフォルトの名無しさん:05/02/25 07:27:01
|д・)つC:\>tree TARGET_DIR /a /f > OUT_FILE

115 名前:111:05/02/25 08:00:18
どうも有り難うございます。 >>114
つーか、私が最終的にやりたい事は、
ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち.jpg 2.100
あやや.mp3 45.777
つんく.txt 300
 ‥‥
とゆう名の0KBのテキストファイルを作りたいんです。
これを1発でやるには、WSHが最適だと思うのですが、どうでしょう?

116 名前:デフォルトの名無しさん:05/02/25 10:02:49
>>115
そうですね。そう思います。

117 名前:114:05/02/25 10:07:24
ちゃんと読んでなかった。流して。
そんなに難しいことじゃないので、そのうち自己解決するでしょう。
あと、どこがわからないのかを書くといいと思う。

118 名前:111:05/02/25 10:08:13
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson9.htm
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
これは、1行目でWSHShellの変数の宣言をしてから、セットしてるのに、

http://society3.2ch.net/test/read.cgi/hosp/1103732549/14-
Dim sLine,sRootDir,sOutFile
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("Shell.Application")
これは、Fs、Shellを変数の宣言をしないでセットしてるのが疑問です。

119 名前:111:05/02/25 11:08:25
http://society3.2ch.net/test/read.cgi/hosp/1103732549/14-

Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合

'はレム文の始まりだと思うけど、何で1行に2つあるのか、わかりません。

120 名前:111:05/02/25 11:24:41
つーか、大昔にクイックCをちょこっとだけ、かじった事があるんですが、
始めから、
WScript.Echo "終了"
ここまでが、メイン関数
Sub Search(obj)
ここから最後までが、呼ばれる関数ですよね?
で、
Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合
ってことは、Win2000以外の場合は、Search(obj)を使わない、って事ですか?

121 名前:デフォルトの名無しさん:05/02/25 12:36:50
>>118
BASICは変数宣言しなくてもいいのです。

>>119-200
Win2000の場合は
Search oRootDir.Self
にしろって意味です。

122 名前:401:05/02/25 23:26:19
>>121
そうですか、レス有り難うございます。

http://society3.2ch.net/test/read.cgi/hosp/1103732549/14-
つーか、誰かこのスクリプトを削って、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出すのみのスクリプトを書いてくれないかな?
複雑すぎてわかりません。

123 名前:デフォルトの名無しさん:05/02/26 00:02:25
>>122

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In src.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next


124 名前:111:05/02/26 01:49:25
>>123
うわあー、すばらしい、有難うございます。 感謝感謝です。
これで、HDDの整理に取り掛かれます。 感激です。

125 名前:111:05/02/26 22:00:52
すみません、更なるお願いです。
>Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
コピー元フォルダを自分で入力するのが面倒。マウスだけで入力したい。

>Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
これも面倒。自動で、C:\COPYフォルダ作りそこに入れて欲しい。
あと、ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
 ‥‥
と、元のファイルの拡張子は省略して欲しい。
どうでしょうか?

126 名前:デフォルトの名無しさん:05/02/26 22:57:43
>>125
「自分で入力するのが面倒。マウスだけで入力したい。」という君に
http://www.vector.co.jp/soft/winnt/util/se083048.html

「これも面倒。自動で、C:\COPYフォルダ作り」という君に
http://www.vector.co.jp/soft/win95/util/se241498.html


127 名前:111:05/02/26 23:09:58
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell.htm

Set Shell=Wscript.CreateObject("Shell.Application")
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください")
MsgBox f.Items.Item.Path '選択したフォルダ名を表示

これを試してみると、2行目、文字1で、引数の数が一致していません。または不正なプロパティをしていしています。
'Shell.BrowseForFolder'  コード、800A01C2 ソース、VBScript 実行時エラー
となってしまいます。

128 名前:111:05/02/26 23:11:45
WSHで、お願いします。 >>126

129 名前:111:05/02/26 23:21:27
つか、>>127は解決しました。2行目が間違いでした。
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください",0)
引き続き、>>125をお願いします。

130 名前:111:05/02/26 23:50:16
>>123さんのソースをいじって、
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell=Wscript.CreateObject("Shell.Application")
Set MOTOf=Shell.BrowseForFolder(0,"コピー元フォルダを選んでください",0)
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In MOTOf.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next
とやってみました。コピー先フォルダの入力までは出来るんですが、
それ以後、エラーが出ます。
行5、文字1、オブジェクトでサポートされていないプロパティまたはめそっどです。
'MOTOf.Files' コード、800A01B6 ソース、VBScript 実行時エラー
となってしまいます。

131 名前:デフォルトの名無しさん:05/02/27 00:02:07
>111
つか、これを機会にWSHを身に着けたい、と言うなら、
1日ぐらいは自分で悩んで手を動かしてぐぐってトライアンドエラーを繰り返してみなさい。
それでどうしてもわからなければ聞きに来れば誰か教えてくれるかも知れない。

132 名前:デフォルトの名無しさん:05/02/27 00:04:24
copyFolder = "C:\COPY"
Set objShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(copyFolder) Then
fso.CreateFolder(copyFolder)
End If
Set objFolder = objShell.BrowseForFolder( 0, "フォルダ選択", 0 )
If objFolder is nothing Then
WScript.Quit
End If
Set file = fso.CreateTextFile( copyFolder & "\FILES.TXT", True )
Set objFolderItems = objFolder.Items
For Each f In objFolderItems
If Not f.IsFolder Then
file.WriteLine( f.Name & vbTab & f.Size )
bname = fso.GetBaseName(f.Path)
name = copyFolder & "\" & bname & " " & f.Size
fso.CopyFile f.Path, name
fso.DeleteFile(f.Path)
End If
Next

133 名前:111:05/02/27 00:11:18
>>132
おお、有難うございます。ちゃんと動きました。 感謝します。

134 名前:デフォルトの名無しさん:05/02/27 00:53:13
>>111
・・・勉強しろよ

135 名前:111:05/02/27 02:02:36
>>134
へぇ、勉強します。 つか、なんで>>130がエラーになるのか説明出来ますか?

136 名前:デフォルトの名無しさん:05/02/27 02:23:55
>135
ぐぐってる?
BrowseForFolderで取得できるFolderオブジェクトと
FileSystemObjectのFolderオブジェクトとは別のものだから。
BrowseForFolderのFolderオブジェクトにはFilesコレクションがない。

137 名前:デフォルトの名無しさん:05/02/27 03:00:10
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。

138 名前:111:05/02/27 03:54:04
>>136
要するに、2つの系列の異なるオブジェクト間でのデータのやり取りが出来ない、ってことですか?
だから、>>132のプログラムは
苦肉の策として、テキストファイルにデータを書き出し、それを再読してる、と。
これってビジュアルベーシックの仕様ですか?

139 名前:111:05/02/27 04:00:31
とはゆうものの、>>123さんと>>132さんには非常に感謝してます。

140 名前:デフォルトの名無しさん:05/02/27 04:17:52
>138
違う。
Shell.ApplicationとScripting.FileSystemObjectにはたまたま同じ「Folder」という
名前のオブジェクトがあってよく似た構造をしてるけど、実際には全く違うもの。
だから当然使い方も違う。
BrowseForFolderのFolderオブジェクトはFilesというプロパティはない。
BrowseForFolderのFolderオブジェクトからはItemsというコレクションで取得して
FileかFolderかを判別する必要があるの。

FileSystemObjectから取得したFolderオブジェクトであれば>130でOKだった。

141 名前:デフォルトの名無しさん:05/02/27 10:20:02
>>111
(ry

142 名前:デフォルトの名無しさん:05/02/27 12:54:11
>>111
早く死ねよお前

143 名前:デフォルトの名無しさん:05/03/01 06:12:31
WSHか…
仕事中にコソーリ、トランプゲーム組む時に使う程度かな
一見エディタ開いてコード書いてるわけだが、
んなことしてるなんざ、周りに言えないな…w

144 名前:111:05/03/02 11:56:42
>>132
つか、これ俺の希望とは違うわ。

ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
 ‥‥
と、拡張子のない、0BYTEのテキストファイルを作って欲しい
あと、元ファイルは消さない
です。

145 名前:デフォルトの名無しさん:05/03/02 12:07:36
>>144
あなたの主張は理解できました。

がんばってくださいね

146 名前:デフォルトの名無しさん:05/03/02 13:33:44
@echo off
for %%I in (%1\*.*) do type nul>"%2\%%~nI %%~zI"

147 名前:デフォルトの名無しさん:05/03/02 19:38:35
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。


148 名前:デフォルトの名無しさん:05/03/02 23:27:09
132は111が戻ってこれないよう元ファイルだけじゃなくて
全てのファイルを消すようにしておきゃよかったのに。

149 名前:デフォルトの名無しさん:05/03/03 01:26:38
どっかに「リクに答えてスクリプトを作るスレ」って無かったっけ?

150 名前:デフォルトの名無しさん:05/03/03 02:22:33
ソフト板にあったような。スクリプト限定じゃないけど

151 名前:デフォルトの名無しさん:05/03/03 02:51:37
「こんな」でスレ検索するとごろごろ引っかかるな。

152 名前:デフォルトの名無しさん:05/03/03 04:52:36
http://pc11.2ch.net/test/read.cgi/tech/1086143976/
http://pc11.2ch.net/test/read.cgi/tech/1046576456/


153 名前:デフォルトの名無しさん:05/03/05 06:11:22
すみません。Irvineスレで聞くべきなんですが、全く、反応が無いんです。
IrvineのRegistDateやSuccessDateのフォーマットって何なのかご存知の方、いらっしゃいますでしょうか?

154 名前:デフォルトの名無しさん:05/03/11 03:28:55
ここ何のスレだっけ?

155 名前:デフォルトの名無しさん:05/03/11 07:33:15
ソフト起動は以下のコマンドでやっているのですが。
ソフトを終了させるのは、どのように記述すればいいのでしょうか。

set ws = CreateObject("WScript.Shell")
ws.Run "   "

初歩的な質問で恐縮なんですが、よろしくお願いします。

156 名前:デフォルトの名無しさん:05/03/11 07:44:47
>155
終了を待つことはできるけど、終了させることはできない。
SendkeysでALT+F4とか。

157 名前:デフォルトの名無しさん:05/03/11 08:12:13
RunでなくてExec使えば?
Terminateあるよ。


158 名前:デフォルトの名無しさん:05/03/11 10:34:44
>>156
>>157
ありがとうございます。それでやってみます。

159 名前:デフォルトの名無しさん:05/03/12 03:31:39
IISでCGIの処理にWSHを使おうと思っているのですが、
スクリプトは正常に動いているのにURLから実行すると

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

CScript エラー: 設定の読み込みに失敗しました。 (アクセスが拒否されました。
)

というエラーが出てきてしまいます。
IIS側の設定でスクリプトマッピングは

拡張子 .XXX
実行ファイルのパス C:\winnt\system32\cscript.exe //nologo %s

みたいにしているのですが・・・


160 名前:デフォルトの名無しさん:05/03/12 07:04:38
IUSR_XXXX
IWAM_XXXX
をAdministratorsに汁
ttp://www.users.gr.jp/ml/archive/viewer.aspx?name=asp&no=18872
ttp://www.roy.hi-ho.ne.jp/mutaguchi/bbs/list68.shtml



161 名前:153:05/03/12 09:20:14
>154
どうもすみません。それでは質問を少し変えさせていただきます。
RegistDateというのは、ダウンロードの開始日時を表すdouble値なのですが、例えば、
38387.3075909722
というのが、Irvineの画面では
2005/02/04 07:22:55
と表示されています。
38394.2332972222
の場合が
2005/02/11 05:35:56
と表示されます。
おそらく、いつか特定の年月日からの経過秒数とかそういう値だと思うのですが、longでなくdoubleだというのが私には謎です。
日時を扱ったことのあるプログラマの方々、double形式が出てくることに何か心当たりはないでしょうか・・・?


162 名前:デフォルトの名無しさん:05/03/12 09:34:35
(02/11 05:35) - (02/04 07:22) = 6日と22時間
(38394.23329) - (38387.30759) = 6.927


163 名前:デフォルトの名無しさん:05/03/12 09:45:56
>161
date型は内部的にはdouble型で扱ってる。

dbldate=38387.3075909722
call msgbox(CDate(dbldate))

164 名前:デフォルトの名無しさん:05/03/12 22:41:56
>>162-163
「何でdoubleを使ってるのか?」
という質問の答えになっていないと思う。


165 名前:デフォルトの名無しさん:05/03/13 01:00:37
>>164
long だと 2038年1月18日までしか数えられないから。

こんなカンジの答えを希望?

166 名前:161:05/03/13 06:08:57
CDate()で変換できるのですか!
うーん、奇妙!
ビット数の関係でdoubleなのでは、とは思っていましたが・・・
WSH(VBScript?)のdoubleって何バイトでしたっけ?
どうもありがとうございました。


167 名前:デフォルトの名無しさん:05/03/13 10:28:55
>166
64bit

168 名前:デフォルトの名無しさん:05/03/13 18:28:40
>>166
8バイト

169 名前:デフォルトの名無しさん:05/03/16 05:41:48
自分で作ったアプリを WSH で制御しようとおもったら,
あらかじめ決められたインターフェイスを持った COM オブジェクトにしないとダメってことですか?
ってことは, C# で作っているアプリを WSH で制御できるようにするのは難しい?

170 名前:デフォルトの名無しさん:05/03/16 05:55:19
HWNDを元に考えられる限りの窓遠隔操作機能を持ったCOMを誰か作ってくれないかな。


171 名前:デフォルトの名無しさん:05/03/17 09:34:26
DynaCall

172 名前:デフォルトの名無しさん:05/03/20 05:27:53
私、VBSしかわからないんですが、DateオブジェクトってどうしてJSでしか使えないんですか?

173 名前:デフォルトの名無しさん:05/03/20 10:38:22
>>172
使えますよ。

<job>
<script language="JScript">
dt = new Date();
</script>
<script language="VBScript">
MsgBox dt.toUTCString()
</script>
</job>


174 名前:デフォルトの名無しさん:05/03/20 16:02:18
>>43
XULのこと?HTAとは激しく別物かと思いますよ

HTAは通常のDHTMLを使ったWebページと同じくscriptタグ中に埋め込まれた
JScriptやVBSを呼び出すことで動作を表現する。

XULはそれ自体がXML準拠の構文でプログラムの動作を記述したもので
Mozillaのコアエンジンを通して実行される

と解釈してるが

175 名前:デフォルトの名無しさん:2005/03/26(土) 14:25:44
>>173
同じ例に汁。

176 名前:デフォルトの名無しさん:2005/04/03(日) 14:18:22
>>173
1年前の書き込みにレスしてどうする

177 名前:デフォルトの名無しさん:2005/04/03(日) 14:19:04
アンカーミス>>733>>734

178 名前:デフォルトの名無しさん:2005/04/03(日) 23:39:59
>177
いつへのアンカーなんだよw

179 名前:デフォルトの名無しさん:2005/04/04(月) 08:56:57
このペースだと6年後くらいだな。

180 名前:176:2005/04/04(月) 17:04:29
はずぃ>自分

181 名前:デフォルトの名無しさん:2005/04/05(火) 23:58:34
取得した文字列の中身が全部 US ASCIIかどうかチェックしたいのですが、何かいい方法ないでしょうか?
CだとIsAscii()があるのですがWSHだとないので。。。。

182 名前:デフォルトの名無しさん:2005/04/06(水) 13:13:55
>>181
アルファベットまたは数字、いくつかの記号
にマッチするか調べればいいんじゃない?

183 名前:デフォルトの名無しさん:2005/04/07(木) 01:05:54
181だけど事故解決しました
面倒くさがらずに自分で作らないとだめだね
CHRつかうのとREGEXP使うのとどっちがパフォーマンスいいのかなあ
どぴゅ

184 名前:デフォルトの名無しさん:2005/04/09(土) 00:02:19
 ( ゚д゚)ノ ハイ!質問です!

msgbox 2^64
を実行すると

1.84467440737096E+19
と表示されます。

15桁を超えるものは指数を使って表示されるようですが、整数で表示する事は出来ますか?




185 名前:デフォルトの名無しさん:2005/04/09(土) 00:45:39
文字列に変換

186 名前:184:2005/04/09(土) 00:50:30
>>185

文字列に変換は、Cstr() ですか?
Cstrは試して見ましたが、表示に変化はありませんでした。

それとも他の方法でしょうか?

187 名前:デフォルトの名無しさん:2005/04/09(土) 01:43:09
多倍長整数使えよ

188 名前:デフォルトの名無しさん:2005/04/09(土) 11:05:17
変換したら加工せにゃ

189 名前:デフォルトの名無しさん:2005/04/16(土) 15:48:13
質問です。
あるフォルダ2つのファイルを比較します。
2つのフォルダの拡張子は例としてtxtとvbsです。
拡張子がちがう同じファイル名のファイルの
最終更新日時を比較します。ファイル名は大量の為特定できません。
比較してvbsのほうが日付が古ければ
エラーとしてテキストファイルに書き出す
という、vbsを作りたいのですがどなたかわかりますか?

190 名前:デフォルトの名無しさん:2005/04/16(土) 16:23:36
>189
1.フォルダAとフォルダBがある。
  (フォルダAには拡張子vbsのファイルが、フォルダBには拡張子txtのファイルが入っている)
2.フォルダAからファイルをひとつ取り出す
3.フォルダBから拡張子を除いた部分の名前が同じファイルを探す
4.フォルダAとフォルダBのファイルの更新日時を比較して、
  フォルダAのファイルが古ければテキストファイルにエラーを出力。
5.フォルダAのファイルが無くなるまで2〜4を繰り返す

こういうフローでいいならできる。

191 名前:デフォルトの名無しさん:2005/04/16(土) 17:52:35
>>190
できたら作ってくれませんか?m(__)m

192 名前:デフォルトの名無しさん:2005/04/16(土) 17:56:50
>>191
逝ってよし。

193 名前:デフォルトの名無しさん:2005/04/16(土) 21:48:46
            _,ノ‐''''''^^^¨¨¨⌒ ̄⌒^^''¬-、,_
        ._v-''¨`   .,,vー─-、    .,,vー─-、 .¨'ーu_
      _ノ'″     ./′    ¨┐ ./     ゙┐  .゙'┐
     ,/′      ./ ̄''''-¬,,,,__.ミ .i |,,,,___ ..)   ゙\
    ,/′     λ  |     ( ・ )| } .¨'ーu,,  |     \
   ./′      八,、-ミ.ノ‐''''''^^ ̄./¨レ       .人,_     ミ
  .,ノ′     ._ノU'   \_   ._,rlト冖へy   _/  ¨'‐u   .゙lr
 .,i′     /ー-v、.,,_   ¨^^¨´〔    〕.¨^^¨′  __.,、 ゙\.  {
 〕      ./′    .⌒'''''    \,,,,,,ノ′  v-ー'''¨ .λ  ゙┐ }    __________
 |      ノ  .λ───ー      }      __,,.,、v;(_)ー''  {..]  /
 |     :|   | |            .!      `         .}} < きがるにいってくれるなあ。
 }     .|   .U-:;:冖^ ̄       .|      ¨¨¨¨¨ ̄¨¨′ ミ}  \
 .|     .}       _,,,,,vvl''''¨¨|^^⌒|¨¨''''lvv,_         }     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ). .   〕    ,,、-v~|   .|   |   |   |''T^i-,,_      /
  .{     ). ., r'z::''''~゙(~~ ̄ ̄ ̄ ̄ ̄ ̄~~~`^^^^''''¬;;;_   ノ
   ミ.    `i,                         , `'' /
   ゙).    `i,                           .,ノ  λ
    \    },     ′               .  /   | |
     . \  \                   .  ,/     ∪
       (¨¨¨¨¨¨¨¨¨¨¨¨¨¨゙ソ冖干ア^^^^^^^^^^^^^r'′
      /~~~~~~~~i¬冖'''''7′   ∨¬ーーz─-―「\
     /     _ノ     厂¨丁¨¨フ    .ミ、    ゙\

194 名前:デフォルトの名無しさん:2005/04/17(日) 16:22:30
質問です。
XPを使っているのですが、デスクトップからスタンバイに移行するのに
Dim objShell
Set objShell = WScript.CreateObject("Shell.Application")
objShell.Suspend
というコードを使えばできると書いてあったんですが、
スタンバイに移行できません。
このコードはXPでは使えないのでしょうか?


195 名前:デフォルトの名無しさん:2005/04/18(月) 02:05:49
>>191
せっかくアルゴリズムまでは教えてくれてるんだからヘルプファイル読みながらでも
自分で作んなさいよ

196 名前:191:2005/04/20(水) 11:13:48
行き詰まってつい・・・・。でも、なんとかできました。
190さん、ありがとう。

197 名前:191:2005/04/21(木) 06:45:27
できたのですが、ファイルがたくさんある場合に今どれくらい
進んでいるのか進捗状況を表示させられたらいいと思っているのですが、
今何%進んでいるか(プログレスバー?)を表示させるには
どうすればいいですか?検索とかしてるんですが、みつかりません。
無理なんでしょうか?

198 名前:デフォルトの名無しさん:2005/04/21(木) 07:12:56
>>197
プログレスバーは無理な希ガス

cscriptから起動させて、文字列出力させたら?

199 名前:191:2005/04/21(木) 07:37:13
>198
朝早くありがとうございます。無理ですか・・・。
しかたないのであきらめます。

200 名前:デフォルトの名無しさん:2005/04/24(日) 23:25:02
この文なんですが

mLocation = FindFromText( pos, html, "<td valign=""top""><strong>■", "</strong><br>", "" )
                                            ↑         ↑
矢印で示した部分のコンマに当てはまる文字列を変数posとhtmlにそれぞれ返すいうことですか?

201 名前:デフォルトの名無しさん:2005/04/24(日) 23:53:46
>>200
書いたやつに聞けよ・・・


"<td valign=""top""><strong>■" と、 "</strong><br>" にはさまれている文字を
mLocation に返すみたいだが・・・

202 名前:デフォルトの名無しさん:2005/04/25(月) 01:17:55
>201
そうだな
サンクス

203 名前:デフォルトの名無しさん:2005/05/08(日) 14:40:39
すいません,VBScriptでレジストリ操作をしたいんですが,
あるレジストリキーが存在するかどうかを確認する方法はありますか?
RegReadで存在しない値を参照してエラーが出てしまうんですが
回避方法がわからないんです.

204 名前:キー列挙ならWMIの方が楽だよ:2005/05/08(日) 15:02:33
>>203
On Error Resum Nextじゃダメ?

205 名前:204:2005/05/08(日) 15:02:56
Resum→Resume

206 名前:デフォルトの名無しさん:2005/05/08(日) 15:06:25
>>204
それはアレですよね,エラー無視.
最初はそれにしてたんですが
他の部分でエラー出たりすることもあるしどうかなぁ と.

というか,エラー無視で強引に進めるのって怖くありません?

207 名前:デフォルトの名無しさん:2005/05/08(日) 15:09:39
ちなみにHTAを使って割りと複雑な操作をするんで
VBScript+HTAじゃないとダメっぽいです.

RegDeleteもサブキーがあるとエラーとかいう意味不明な仕様ですが
あれも何とかならんでしょうか。
今は oWsh.Run("reg delete "HKCR\.dat" /f) とこんな事をしてます.
でもreg.exeを使うと動作にタイムラグが・・・_| ̄|○

208 名前:デフォルトの名無しさん:2005/05/08(日) 19:03:25
ttp://www.microsoft.com/japan/technet/scriptcenter/scripts/os/registry/osrgvb10.mspx


209 名前:デフォルトの名無しさん:2005/05/09(月) 02:20:54
>>203
>>208 の手段でも良いし、条件分岐させれば良いだけじゃないのか。

210 名前:デフォルトの名無しさん:2005/05/09(月) 03:00:18
>>208,209
そうですね,208ので全部消していくかな.
条件分岐っていうのは?
レジストリキーが存在するかどうかが調べられないのに
どう条件分岐させるんですか?

211 名前:デフォルトの名無しさん:2005/05/09(月) 20:16:32
>>210
当初 >>203 で言っていた「あるレジストリキー」というのがいくらかでも
特定されたものであれば、レジストリキーの有無で条件分岐できるだろうと
いうこと。今回言っているように、どのようなキーが存在するかさえ不明で
あれば >>208 の示した手段がベター。

212 名前:デフォルトの名無しさん:2005/05/09(月) 20:56:52
>206
エラーの出そうな操作の直後に
if err<>0 then
 〜
end if
でエラーの場合の動作を(msgboxとかexit doとか)。

213 名前:デフォルトの名無しさん:2005/05/09(月) 23:32:34
>>211
すいません、レジストリキーの有無ってどうやって調べるんですか?

214 名前:デフォルトの名無しさん:2005/05/11(水) 21:46:18
キーをオープンしてみれば分かる

215 名前:デフォルトの名無しさん:2005/05/11(水) 21:46:36
>>213
そのくらい調べりゃすぐ分かるだろ
自分で調べろよ

216 名前:デフォルトの名無しさん:2005/05/14(土) 10:59:37
すいません、キーはどうやってオープンすればいいのか…

217 名前:デフォルトの名無しさん:2005/05/14(土) 18:33:51
キーを読み取ってみてエラーが発生したら分岐させる?

218 名前:デフォルトの名無しさん:2005/05/16(月) 18:58:29
急速にスレの質が低下してまいりました

219 名前:デフォルトの名無しさん:2005/05/17(火) 14:07:51
急速という割には、ペース遅すぎな希ガス

220 名前:デフォルトの名無しさん:2005/05/20(金) 13:45:42
スレッドストッパーの俺様が来ましたよ

221 名前:デフォルトの名無しさん:2005/05/20(金) 22:35:57
そこでスレッドリバイバーの漏れ様の登場ですよ

222 名前:デフォルトの名無しさん:2005/05/20(金) 23:09:32
そこでハイパースレッディングな俺様の登場ですよ!!

223 名前:デフォルトの名無しさん:2005/05/23(月) 01:18:56
おまいらちっとはwsh使へ

224 名前:デフォルトの名無しさん:2005/05/23(月) 23:05:05
いやぷぅ(~o~)

225 名前:デフォルトの名無しさん:2005/05/24(火) 23:12:11
バッチファイルと違って、タスクマネージャくらいからしか強制終了できないのが辛い。
あとは時間指定ぐらいですかね?
でも、環境によって実行時間が違ってくるから時間による終了は入れたくないなぁ。

226 名前:デフォルトの名無しさん:2005/05/25(水) 02:25:23
バッチで強制終了させりゃいいじゃん。
バッチでできんことはWSHにやらせて。

227 名前:デフォルトの名無しさん:2005/05/25(水) 19:59:47
向き不向きを考えて使えって事か。
そりゃそうか。

バッチファイルで何行も同じようなこと書きたくないなぁと思って
vbsならスマートかな、と思ってやってみたんですた。
まぁコマンドプログラム呼び出すたびにアクティブなウインドウがそっちに移るんで
それも困ってたトコなんでやっぱバッチのほうが向いてるかも

228 名前:デフォルトの名無しさん:2005/05/26(木) 05:03:19
>225-227 cscript.exe もちゃんと使おうな

229 名前:225=227:2005/05/26(木) 19:59:30
ttp://www.atmarkit.co.jp/fwin2k/operation/wsh02/wsh02_02.html
コマンドラインスクリプトのことかーーーー!!!
初めて知りました。
多謝でつ。


230 名前:デフォルトの名無しさん:2005/05/27(金) 12:38:44
WSHは略だけど
CScriptも略してCSHとは言わんな

231 名前:デフォルトの名無しさん:2005/05/27(金) 22:27:43
wshはwscript.exeの略じゃないし

232 名前:デフォルトの名無しさん:2005/06/01(水) 13:26:13
JScriptでショートカットのファイルを吐き出したいです
どうすれば出来ますか?

233 名前:デフォルトの名無しさん:2005/06/01(水) 14:11:25
>>232
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wsmthcreateshortcut.asp


234 名前:デフォルトの名無しさん:2005/06/01(水) 15:51:26
>>233
ありがとう

235 名前:デフォルトの名無しさん:2005/06/01(水) 18:24:40
一定の間隔をおいて標準入力をテキストファイルに出力するにはどーしたらいい?
おしえてー

236 名前:デフォルトの名無しさん:2005/06/01(水) 22:30:52
>235
一定の間隔とは行間のことだと勝手に想像して書いてみる
んでもって言語の指定ないから勝手にJScript

var ROW_SPACES=1;
var a=WScript.StdIn.ReadAll().split("\r\n");
var f=new ActiveXObject("Scripting.FileSystemObject").CreateTextFile("outfile.txt");
for(var i=0;i<a.length;i++){
f.WriteLine(a[i]);
for(var c=0;c<ROW_SPACES;c++)f.WriteLine();
}
f.Close();


237 名前:デフォルトの名無しさん:2005/06/02(木) 01:45:36
間隔っつったらやっぱ時間じゃねえの?

while (!WScript.StdIn.AtEndOfStream) {
WScript.StdOut.Write(WScript.StdIn.ReadAll());
WScript.Sleep(10000);
}



238 名前:236:2005/06/02(木) 02:20:20
>237
標準入力→テキストファイル、ってあるから
多分行間じゃないかなあと予測した
逆なら劣化ページャみたいな物と予測したのだけど

あと StdIn.AtEndOfStream() は試したら
存在しないみたいでエラー出たから ReadAll()

239 名前:デフォルトの名無しさん:2005/06/02(木) 03:24:38
時間だとすると標準入力をテキストファイルに出力するのに一定の間隔を空ける意味が良く分からん

240 名前:236:2005/06/02(木) 15:24:26
>239
そう、私もそれが言いたかった、ごめん_| ̄|○

てか、StdIn.AtEndOfStream てプロパティだから
括弧付けると駄目なのね…逝って来る_| ̄|○

241 名前:デフォルトの名無しさん:2005/06/03(金) 17:59:10
ひょっとしてこういうことがしたいのかも

do while True
do while (not WScript.StdIn.AtEndOfStream)
WScript.StdOut.Write(WScript.StdIn.ReadAll())
loop
WScript.Sleep(5000)
loop


242 名前:デフォルトの名無しさん:2005/06/05(日) 17:59:02
>241
ReadAllなのにAtEndOfStreamを待つのか?

243 名前:デフォルトの名無しさん:2005/06/05(日) 20:51:29
tail -f
みたいな動きをさせるためじゃないかな

244 名前:デフォルトの名無しさん:2005/06/10(金) 09:57:18
「デヴァイスマネージャ」の
「USBルートハブ」を無効にして
再度,有効にするという操作を
WSH にしてみてください

245 名前:デフォルトの名無しさん:2005/06/10(金) 12:35:24
msgbox "USBハブのコード抜け"
msgbox "抜いたらもう一回挿せ"


246 名前:デフォルトの名無しさん:2005/06/10(金) 12:50:41
>>245
【ご主人様】メイドさんスクリプト【ご命令を】
http://pc11.2ch.net/test/read.cgi/tech/1115218878/


247 名前:デフォルトの名無しさん:2005/06/10(金) 14:01:26
Private Sub Command1_Click()

Dim UsbSet As SWbemObjectSet
Dim Usb As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer
Set UsbSet = Service.ExecQuery("Select * From Win32_USBHub")

For Each Usb In UsbSet

MesStr = MesStr + "USBハブの名前:" + Usb.Description + vbCrLf + _
"USBハブのデバイスID:" + Usb.DeviceID + vbCrLf

Next

MsgBox "USBハブの情報です。" + vbCrLf + _
vbCrLf + MesStr + vbCrLf + "ですよ。"

Set UsbSet = Nothing
Set Usb = Nothing
Set Locator = Nothing
Set Service = Nothing

End Sub

248 名前:デフォルトの名無しさん:2005/06/10(金) 14:03:22
Private Sub Command1_Click()

Dim UsbSet As SWbemObjectSet
Dim Usb As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer
Set UsbSet = Service.ExecQuery("Select * From Win32_USBController")

For Each Usb In UsbSet

MesStr = MesStr & Usb.Name & vbCrLf

Next

MsgBox "USBコントローラの一覧です。" & vbCrLf & _
vbCrLf & MesStr & vbCrLf & "ですよ。"

Set UsbSet = Nothing
Set Usb = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub

249 名前:デフォルトの名無しさん:2005/06/10(金) 14:10:00
ttp://www.microsoft.com/japan/whdc/system/pnppwr/default.mspx


250 名前:デフォルトの名無しさん:2005/06/10(金) 14:44:59
>>244
UWSC使ってみ

ttp://www.h7.dion.ne.jp/~umiumi/


251 名前:デフォルトの名無しさん:2005/06/15(水) 10:03:13
ご存知の方いらしたらご指導お願い致します

var oShell = WScript.CreateObject("Shell.Application");
var oFolder = oShell.NameSpace("ftp://192.168.*.**/保存/");

var desktop = oShell.NameSpace(0);
var objFolderItems = desktop.Items();
for(var i = 0; i < objFolderItems.Count; i++) {
var ofitem = objFolderItems.Item(i);
if(ofitem.Name == "日報.xls") {
oFolder.CopyHere(ofitem);
WScript.Sleep(6000);
break;
}
}

日報.xlsをサーバーにFTPを使ってコピーするプログラムを作成しました
前日の同名ファイルに上書きして毎日保存しているのですが
ファイルの上書き確認ダイアログが出てしまうの非表示にして自動的に
上書きしたいのですが、よろしくお願い致します。

252 名前:デフォルトの名無しさん:2005/06/15(水) 10:17:31
ふつうにftpコマンド使った方がよくね?

253 名前:デフォルトの名無しさん:2005/06/15(水) 10:47:54
>>252
というと確認ダイアログをちゃんと出したほうが良いということでしょうか?
一応、転送終了後にファイルの更新日時や内容を軽くchkしていますので
サーバー側で定期的に別フォルダにバックアップしているので、間違いで
上書きしてもとりあえず問題ないのです


objFolder.CopyHere vItem, [vOptions]
FOF_NOCONFIRMATION 0x0010 上書きしますかとか聞いてこなくなる

oFolder.CopyHere(ofitem, 0x0010);
oFolder.CopyHere(ofitem , 0x0010);
こんなのを見つけて直してみても直りませんね

254 名前:252:2005/06/15(水) 11:35:37
>>253
いあ、ftpでファイルをアップするだけの用途なら、
-sオプション付けて、動作指定したファイル記述するだけで良さそうだなー

と思っただけ

255 名前:デフォルトの名無しさん:2005/06/15(水) 12:30:00
なるほどそういう事でしたか、コマンドプロンプトでやるのでしょうか
wshで記述できるのでしょうか?
勉強不足でして、バッチファイルの作り方も危ういので
>>251
で晒したソースもよそ様のサンプルを使って作成したので理解度0に近いのです

256 名前:デフォルトの名無しさん:2005/06/15(水) 13:08:51
コマンドプロンプトでもwshでも可能

ftpの-sオプションについては↓みれば大体分かると思う
http://www.atmarkit.co.jp/fwin2k/win2ktips/270ftpscript/ftpscript.html

257 名前:デフォルトの名無しさん:2005/06/15(水) 20:02:10
その前に、ftpコマンドの成功、失敗の判定をスクリプトやバッチファイルでできるのか?

258 名前:デフォルトの名無しさん:2005/06/15(水) 20:20:50
もう一回アクセスしてファイルの日付がアップロードした日時になってるかとか
サイズがローカルのものと同じになっているかとかをチェックすれば出来なくはない

259 名前:251:2005/06/16(木) 10:07:09
報告遅くなりまして申し訳御座いません
それと皆様に助言頂き感謝しております。
ftpの-sオプションについて教えて頂いたサイトを目下勉強中ですが
構文エラーが出てしまいうまくいかない状況です。しばらくサンプルを
作成して試してみますので、どうしても分からなかったら又ご助言を
よろしく御願い致します



260 名前:デフォルトの名無しさん:2005/06/16(木) 14:20:45
おしごとでWSH使ってるんですが、
WSHのファイルインクルードって vbs しかインクルードできんのですか?

<script langage=VBScript src="aaaaaaa.vbs"/>

これでWSHスクリプトをインクルードしようとすると最初のJOBタグでエラーになってこのやろうちくしょう。

vbsでファイルインクルードがあればいいんですが・・・。

261 名前:デフォルトの名無しさん:2005/06/16(木) 18:48:58
langage

262 名前:デフォルトの名無しさん:2005/06/16(木) 18:58:11
で、vbsのインクルードはできたのか?
日本語で質問してくれると助かる。

263 名前:デフォルトの名無しさん:2005/06/16(木) 19:19:11
JScriptはほぼ同じ方法で取り込める
だがwsfを取り込むってのは出来ないハズ

wsfにコードを書くと再利用するときに困るから
私の場合、コードは全てvbsに書き、wsfは取り込むのみで使う

264 名前:260:2005/06/16(木) 23:55:51
>>261
ちょっとあせってたのさ。

>>262
おいっす。落ち着きます。で。対象のvbsファイルをFileSystemObjectで開いて、
ReadAllメソッド使ってソースをひとつの変数に突っ込んでExecute関数で実行っていう方法なら見つかった。
vbsには正式なインクルードはないみたい。wsfにはあるけど。

↓詳しくは見てください。
http://www.trickpalace.net/windows/tips/wsh.include.htm

>>263
やっぱりそうなるのね orz
再利用できる共通コードの中で、別の共通コード使いたい場合で困りますよね。

265 名前:デフォルトの名無しさん:2005/06/17(金) 05:46:46
まずはここの情報は全て押さえとくとヨロシ。
MS社員の有志というか暇というか。一応純正だからw
ttp://groups.msn.com/windowsscript/home.msnw
FAQやDOWNLOADに情報満載。

266 名前:デフォルトの名無しさん:2005/06/17(金) 13:24:19
>>265
Σ(゚д゚lll)ズガーン。英語!?www
(´∀`;)ゝいやぁ。漏れ純正の日本人だから英語ダメスwww

と思ったけど、FAQはクリックすればサンプルコード出てくるだけだからわかりやすいね。アリガタス

267 名前:デフォルトの名無しさん:2005/07/18(月) 02:39:27
ホス

268 名前:デフォルトの名無しさん :2005/07/20(水) 01:42:04
ホシュホシュ

269 名前:デフォルトの名無しさん:2005/07/25(月) 22:41:51
ホシュホシュ

270 名前:デフォルトの名無しさん:2005/07/27(水) 16:45:29
Windows2000にて
WSH使って、タスクスケジューラへ
自動的にタスクを追加するには
どうすればいいか御存知の方いますか?

昔、どこかで出来るような発言してる人がいたので
結構ググッたけど、見つからなかった・・・


271 名前:デフォルトの名無しさん:2005/07/27(水) 17:22:24
XPだったらschtasks使えば楽そう
Win32_ScheduledJobはATコマンドと同等だったはずだし、

IScheduledWorkItemとかITaskScheduler辺りを使えばどーだろ・・・

272 名前:270:2005/07/28(木) 15:13:25
>271

調べてみたけど、使い方よくわかんなかったので
ATコマンドで妥協しました。('A`)

XPはschtasksがあるからいいですね。


273 名前:デフォルトの名無しさん:2005/07/28(木) 15:29:52
ATコマンドってモデムのアレですか?

274 名前:デフォルトの名無しさん:2005/07/28(木) 15:36:55
>>273
釣りなのか、マジなのか、なんかの揚げ足取りなのか知らないけど

コマンドプロンプト開いて、「at /?」と入力してみれ

275 名前:デフォルトの名無しさん:2005/07/28(木) 15:41:41
ああ、UNIXのat相当なんですね。大文字で書かれると分からんもんですね。

276 名前:デフォルトの名無しさん:2005/07/28(木) 15:55:30
>>274
いや、モデムの方だろ

277 名前:デフォルトの名無しさん:2005/07/29(金) 02:35:30
schtasksはユーザー権限でログオンしている時
管理者アカウントでタスクを実行しようとしても
拒絶されるから嫌いだ。

そのくせ10回に1回うまくいったりするあたり、
単なるバグなんじゃねぇかと。

278 名前:デフォルトの名無しさん:2005/07/31(日) 12:46:54
>>277

うほっタイムリーなネタ
だから実行できなかったのか!
なんかいい解決方法ないのかな。
XPでATコマンドってまだ使えたっけ?

279 名前:デフォルトの名無しさん:2005/07/31(日) 14:39:24
>>278
そう実行できない。
2002年から2003年にかけて死ぬほど検証したし
海外までググったしMSプレミアムサポートに問い合わせもした。
結局使えそうで使えないコマンドなんだわ。<schtasks

XPでもATコマンドは使える。
ただ管理者アカウントでログオンしてないと
コマンドが受け付けられないので注意。
これはNT4時代からずっとそうなので諦めるしかない。
管理者アカウントでログオンするなら
schtasksだって使えるんだよね。。。

> なんかいい解決方法ないのかな。

これまで携わったプロジェクトでは
配布ソリューション(SMSやその類似品)を使って
バッチを配布して管理者権限でキックしたり、
管理端末から(ドメインAdminでログオン)から
目的の端末にリモート実行させたりしてた。
あとはスタートアップスクリプトに仕掛けたりとかそういう感じ。

あとはサーバーに「特定のテキストファイルがあれば
ファイル名と同名のユーザーの端末上でコマンド実行」
という趣旨の定期監視タスクを仕掛けておいて、
ユーザーがバッチを起動すると、
サーバー側で監視してるフォルダに
テキストファイルが作られるみたいな構成とか。
わずかな事やるのに結構遠回りしてるなぁ。orz

280 名前:デフォルトの名無しさん:2005/07/31(日) 16:07:05
>>279
>海外までググったし
そうか。プログラミングのノウハウは国内にはあまり無いから
ググる時にも必ず「ウェブ全体」を選んでたけど
まだそういう時代じゃないんだな

281 名前:デフォルトの名無しさん:2005/07/31(日) 16:26:33
>>280
や、失礼。
ググった結果(主に英語サイト)から
海外サイトを延々見てまわり、の方が正確。
お詫びして訂正します。ゴメンチャイ。

どうでもいいがヘブライ語みたいなサイトも見たよ。
チンプンカンプンだっつーの。

282 名前:デフォルトの名無しさん:2005/08/04(木) 22:35:08
(・∀・)アゲ!!

283 名前:デフォルトの名無しさん:2005/08/06(土) 22:53:34
WSHで起動中の特定の名前のウィンドウの
存在の有無を確認する方法ってありますか?

284 名前:デフォルトの名無しさん:2005/08/07(日) 09:40:02
>>283
WMIでWin32_Processをクエリーするしかないんじゃねーの?
でもこの方法、WindowsXP以外はWMICoreのインスコが必要だったと思うが。

285 名前:283:2005/08/07(日) 13:10:15
>>284
レスありがとうございます。自己解決しました。
VBScriptのappactivate("ウィンドウ名")=Falseで
判定することができました。

286 名前:デフォルトの名無しさん:2005/08/08(月) 14:53:27
リンクリストみたいなコレクションありませんか?
ハッシュ(Scripting.Dictionary)と配列はあったのですが・・・。

やりたいことは、文字列をコレクションに溜め込んで、最後にJoinで一つの文字列にしたいのですが、
ハッシュだと溜め込むことはできそうですが、最後にJoinしたときに順番がバラバラになりそうで利用できません。

要素の追加にコストが掛からず、最後に文字列結合できるコレクションなどはないでしょうか。


287 名前:デフォルトの名無しさん:2005/08/08(月) 16:55:07
>>286
Arrayではコストがかかりすぎるのでしょうか。

288 名前:デフォルトの名無しさん:2005/08/08(月) 17:53:42
>>286
そりゃあデータ構造を考えれば普通に不可能だろう。

289 名前:デフォルトの名無しさん:2005/08/16(火) 20:39:16
みんなデバッグ環境はナニを使ってる?

290 名前:デフォルトの名無しさん:2005/08/16(火) 21:56:50
jsファイル ダブルクリックして
テキストファイル出力で変数の値みる

291 名前:デフォルトの名無しさん:2005/08/21(日) 01:11:37

var WShell = new ActiveXObject("WScript.Shell");
WShell.Run("c:\\******\\hoge.exe");
のように実行ファイルを動かし、hoge.exeからJScriptの変数に何らかの値を代入することは可能でしょうか?

292 名前:デフォルトの名無しさん:2005/08/22(月) 13:25:15
>>291
こんな感じでしょうか。
この例ではHello, world!の後の改行までsに代入されてしまってますが。

----------
D:\>type hello.js
print("Hello, world!");

D:\>type hello2.js
var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("d:\\hello.exe");
var s = oExec.StdOut.ReadAll();
WScript.StdOut.Write("[" + s + "]");

D:\>jsc /nologo hello.js

D:\>hello.exe
Hello, world!

D:\>cscript //nologo hello2.js
[Hello, world!
]

D:\>
----------

293 名前:デフォルトの名無しさん:2005/08/22(月) 13:49:53
>>289
//X オプション + VSでデバグ。

294 名前:291:2005/08/24(水) 16:04:26
>>292
ありがとうございます。
解決しました。

295 名前:286:2005/08/30(火) 16:39:36
>>287-288
レスありがとう。

やりたいことは Java のStringWriterクラスでしたが、
writeメソッドで受け取った文字列を溜め込んで、
toStringメソッドで結合して返すってことをやりたかったのです。

それで実際に Scripting.Dictionary で、試してみたら
Joinしたときに順番がバラバラになるかと思ったんですが、
追加した順番に文字列が結合されたので大丈夫でした。

なんかラッキーでした。ありがとう。

296 名前:デフォルトの名無しさん:2005/09/05(月) 12:59:10
vbsやりはじめて3日目です
Subプロシージャに引数としてオブジェクトを渡したいのですが
渡されたオブジェクトのプロパティをSubプロシージャ内で参照しようとすると
オブジェクトがありませんと言われます
ぐぐってもVBの事例はいくつか出てきたのですがVBSの事例は見つけられませんでした
どのようにしたらいいんでしょう

297 名前:デフォルトの名無しさん:2005/09/05(月) 19:38:27
>>296
書け

298 名前:名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:41:35
>>11 >>12 >>16 おそらく、↓のスレのことだと思われ。

// Windows Script Host を使い尽くす //
http://pc3.2ch.net/tech/kako/1010/10104/1010400289.html

299 名前:デフォルトの名無しさん:2005/09/12(月) 20:52:33
win板のwsh スレはどこ?

300 名前:デフォルトの名無しさん:2005/09/12(月) 22:31:35
落ちたみたいね

301 名前:デフォルトの名無しさん:2005/09/13(火) 00:27:09
おいっす。了解っす。

302 名前:1/2:2005/09/15(木) 23:43:08
どなたかお知恵をお貸しください。

あるテーブルの抽出結果を、ADODB.Recordset.GetStringで文字列にする関数 strResults を、
VBSから呼び出してテキストファイルに保存しようとしました。

Dim sFS, strParam, oTS, strResultText, intResultLetters, i

strParam = WScript.Arguments(0)
strResultFName = WScript.Arguments(1)

Set appAc = CreateObject("Access.Application")
appAc.OpenCurrentDatabase "V:\・・・\GrepRecordsets.mdb"
strResultText = appAc.Run("strResults", strParam)
Set appAc = Nothing

Set sFS = CreateObject("Scripting.FileSystemObject")

Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True)
oTS.WriteLine "MS Access ファイルからの検索結果"

intResultLetters = Len(strResultText)
For i=100 To intResultLetters Step 100     ' デバッグのため分割して書き込む
    MsgBox Left(strResultText,100)        ' デバッグのための内容表示
    oTS.Write Left(strResultText,100)
    strResultText = Right(strResultText,intResultLetters - i)
Next

303 名前:デフォルトの名無しさん:2005/09/15(木) 23:43:34
ここで、ある特定の文字が、MsgBoxでは表示されるものの、
書き込もうとした時点でコンソール上に以下のエラーが出てしまいます。

    Microsoft VBScript 実行時エラー: プロシージャの呼び出し、または引数が不正です。

その文字とは、中華料理店の店名らしいのですが、

         火     日    金
      火火  日日  金金

テキストエディタ等で見ると ?晶? となりますが、MS Wordなどで見ると上記のような文字です。


このため、文字コード変換で改善するかと思い、nkfwin.exe なるツールではどうかとやってみたところ、
上記の文字を含むテキストファイルを nkfwin.exe の引数に指定したところ、
    ┌────────────────────────┐
    │16 ビット MS-DOS サブシステム                   ×│
    ├────────────────────────┤
    │      C:\WINNT\System32\cmd.exe -
    │      V:\・・・\nkfwin.exe
    │ ×  -s -I TestKanji.txt
    │      NTVDM CPU は不正な命令を検出しました。
    │      CS:0000 IP:e2d7 OP:00 00 00 00
    │    
    │        [ 強制終了(T) ]    [ 無視(I) ]
    └────────────────────────┘
となってしまいました。

このような現象は、どう対処したらよいのでしょうか?
お教えいただけますと大変助かります。

OS : Windows NT 4.0    Access 2000, ADO 2.6, WSH 5.6

304 名前:デフォルトの名無しさん:2005/09/16(金) 05:08:50
>Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True)

ここを

Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True, True)

にしたんじゃダメか?
出力内容がUNICODEになっちまうけど。
(SJISには無い文字コードみたいだからそうするしかないんだけどね。)

305 名前:デフォルトの名無しさん:2005/09/16(金) 09:06:23
>>304
ありがとうございます!
あっさり出力できました!
大変助かりました。m(_ _)m

306 名前:デフォルトの名無しさん:2005/09/16(金) 20:27:56
ユニコードの28977 焱 、
ユニコードの37995 鑫 と判明しました。
これらの文字を取り除いてメールで送れるテキストにする方法を探し中です。

307 名前:デフォルトの名無しさん:2005/09/16(金) 23:13:23
報告です。
まず unicodeテキストとして保存し、
その後 フリーソフトの cherset converter で
→ ISO-2022-JP → Shift_JIS
で出来ました。
2段階でやったところ、通常 ? で置き換わるところ _ で置き換わっていました。
ありがとうございました。。

308 名前:デフォルトの名無しさん:2005/09/28(水) 18:18:34
ここで聞くのが正しいのかも少々不安ですが
質問させてください。

前提:
プログラミングは大昔に20年ほど前にFORTRANいじったことがありますが
中途半端だった上にその後すっかりで、基本的に知識ゼロです。

要望:
・下記の事がWSHで実行可能か知りたい
・可能な場合は参考になるスレはどこにあるのか知りたい
・ヒントになるようなスクリプトがあれば手に入れたい

やりたいこと:
(WindowsXP上で動いているアプリケーションに対してです)

起動
1.任意の座標(固定)のcolorをチェックする
2.任意のcolorではない(または任意のcolorである)場合に
3.任意の座標をマウス(右)クリック(相当の信号?コマンド?送出)
終了までループ

座標系はやったことがないのでまるでわかりません。
ヒントを頂いて勉強もしたいのですがちょっと差し迫った事情が
あって時間もないので、どなたかお教えいただければ幸いです。

そんなのプログラム組めば簡単簡単・・・などとできもしないのに
大見得切るんじゃなかった。。。^^;

よろしくお願いします。

309 名前:デフォルトの名無しさん:2005/09/28(水) 18:48:01
無理…だと思う。

310 名前:デフォルトの名無しさん:2005/09/28(水) 21:37:52
>>308
俺もWSHじゃ無理だと思う。
Win32系のスレでAPIの使い方を訊きながら、C言語でコンソールアプリとして作ればそんなには難しくないと思うよ。
C言語のコンパイラは Borland C++ Compiler とか Microsoft Visual C++ toolkit 2003 とか無料のがあるからそれを使いね。
( Microsoft Visual C++ toolkit 2003 は別途PlatformSDKも入手しなきゃならんから Borland のほうが手軽かな? )

311 名前:デフォルトの名無しさん:2005/09/28(水) 21:42:27
宿題スレでやってもらうのがいいかも。

312 名前:デフォルトの名無しさん:2005/09/29(木) 10:15:43
>>309
>>310
>>310
ありがとうございます。

そもそもWSHでは無理がありそうなのですね。
宿題スレも見てみます。


313 名前:デフォルトの名無しさん:2005/09/30(金) 10:41:25
UWSCならデフォで出来るし
UWSC内でVBSとか使えるけどね

314 名前:デフォルトの名無しさん:2005/10/04(火) 11:14:28
ネットワーク上にある約200台の端末の指定ファイルの最終更新日を一気に取得したいんですが、
電源が入っていない端末にアクセスすると処理が遅くなってしまいます。


315 名前:デフォルトの名無しさん:2005/10/04(火) 11:38:29
そうですか

316 名前:デフォルトの名無しさん:2005/10/04(火) 12:25:53
そうなんです

317 名前:デフォルトの名無しさん:2005/10/04(火) 12:41:18
じゃあ電源が入ってるかどうか管理しておけばいいじゃない

318 名前:デフォルトの名無しさん:2005/10/04(火) 14:16:06
そうですか?

319 名前:デフォルトの名無しさん:2005/10/04(火) 21:22:51
このスクリプト簡単でおもしろいね。
知らない人に時間が来たらメモ帳開いて1秒間隔くらいで
「お・ま・え・は・明・日・死・ぬ」とか書いちゃったりして
おもしろーいw
きゃははw

320 名前:デフォルトの名無しさん:2005/10/04(火) 23:12:28
そうですか

321 名前:デフォルトの名無しさん:2005/10/04(火) 23:32:54
>>320
そんな素っ気ないレスじゃなくて、友人がいないに違いない >>319 に仲良くしてやれよ。
俺はくっだらなくも陰湿な >>319 なんか、まっぴらごめんだけどなw

322 名前:デフォルトの名無しさん:2005/10/05(水) 00:34:44
そうだな

323 名前:デフォルトの名無しさん:2005/10/13(木) 22:26:58
ネットワーク上の別のPCのデスクトップにメモ帳を立ち上げる
なんてこと、出来るのでしょうか?


324 名前:デフォルトの名無しさん:2005/10/13(木) 23:17:10

>>323はマルチなので、以後放置で

お前ら、wsh使ってますか? part5
http://pc8.2ch.net/test/read.cgi/win/1126543183/73



325 名前:デフォルトの名無しさん:2005/10/14(金) 14:05:25
>>323
NET SEND OtherPC メモ帳起動して

326 名前:デフォルトの名無しさん:2005/10/14(金) 15:13:14
>>325
それいいな

327 名前:デフォルトの名無しさん:2005/10/14(金) 22:52:22
>>323
\\自分のPC
\\相手のPC
\\相手のPC 上で、\\自分のPC の任意のフォルダを監視させるスクリプトaaa.vbs
を起動させておく。
もし、\\自分のPCに上の任意のフォルダに、メモ帳起動.txt というファイルが作られたら、
そのファイルを削除して、\\相手のPC上で、Wscript.Shell.Run "Notepad"を実行する。

というのが、一般的だが?


328 名前:323:2005/10/15(土) 00:26:27
>>327
レスありがとでげす。
教えてくださった方法では、
別のイベント(別動作)をトリガーとして持たなくてはいけない点と、
\\相手のPC上でaaa.vbsを実行しなくてはいけない点
が不満です。
上の2点を回避する方法はないのでしょうか?


329 名前:デフォルトの名無しさん:2005/10/15(土) 01:33:37
\\相手のPC上でbbb.vbsを実行すればいいと思うよ。

ってゆうかさー、その程度の応用もできないわけ?

330 名前:デフォルトの名無しさん:2005/10/15(土) 08:29:52
schtasksとかatとか使えばいいだけのような

331 名前:デフォルトの名無しさん:2005/10/15(土) 12:32:19
使い方が解りませんとか言い出してきそうな悪寒

332 名前:デフォルトの名無しさん:2005/10/15(土) 22:42:07
スタートアップファイルに、aaa.vbs のショートカットファイルを入れておいても良いレベルでは?

結局、323の使用目的によって回答のレベルも可変なんだと思う。
さあ、話してごらん、使用目的を。

333 名前:デフォルトの名無しさん:2005/10/15(土) 23:00:55
おまいら、マルチなので、以後放置ではなかったのか?


334 名前:323:2005/10/16(日) 08:16:34
>>332
使用目的というわけではありませんが、
単純にメッセージを送信できれば問題ないです。
できれば日本語(2byte文字を)
XPとWin98SEでも使える方法を伝授くださいませ。


335 名前:デフォルトの名無しさん:2005/10/16(日) 11:05:19
要するに、作って欲しいわけだ

336 名前:デフォルトの名無しさん:2005/10/16(日) 15:00:36
NT系ならメッセージを送る方法があったはずだが…。WSHから使えるのかは知らないけど。

337 名前:323:2005/10/16(日) 15:14:57
>>335
バレた!!

338 名前:デフォルトの名無しさん:2005/10/16(日) 15:24:40
>>323
>>325

339 名前:323:2005/10/16(日) 15:27:41
>>338
net send って、Win98でも使えるの?

340 名前:デフォルトの名無しさん:2005/10/16(日) 16:01:55
なんだとこの野郎

341 名前:デフォルトの名無しさん:2005/10/16(日) 17:00:02
>>339
一応、NT 系の net send と Win9x 系の winpopup は、
相互に送受信できる。
ただし、winpopup をスクリプトから制御できるかどうかは
知らん。

342 名前:323:2005/10/16(日) 17:21:22
結局、相手PCがWin98系のときは、
\\相手のPC上でaaa.vbs or bbb.vbsを実行しなくてはいけない
ということですか。。。

343 名前:デフォルトの名無しさん:2005/10/16(日) 17:29:34
>342
自分のPCがNT系ならnet sendで送信すれば、
相手が98系ならwinpopupで受信してくれるんじゃないの。

344 名前:323:2005/10/16(日) 17:49:18
>>343
winpopupを立ち上げるのに、aaa.vbs or bbb.vbsが必要ということでは。。。?

345 名前:デフォルトの名無しさん:2005/10/16(日) 18:01:48
ヒント: スタートアップ (+ 必要なら、自動ログイン)

346 名前:323:2005/10/16(日) 18:24:06
>>345
つまり、\\相手のPCにいちいち細工をしなくてはいけないということが
私のやりたい事には入ってないわけで。。。


347 名前:デフォルトの名無しさん:2005/10/16(日) 18:36:53


348 名前:デフォルトの名無しさん:2005/10/16(日) 18:38:37
結局何が目的なんだといいたくなるな

349 名前:デフォルトの名無しさん:2005/10/16(日) 18:38:41
なんの設定もなく相手先のPCを操作できることを
専門用語でセキュリティーホールと言う

350 名前:323:2005/10/16(日) 18:45:03
>>348
わかりずらい話につき合わせてしまって、ごめんなさい。

>>349
つまるところ、そういうことなんですね。
せきゅりてぇいがあるのはいかしかたないことですから、あきらめます。

最期に、もうひとつ。
\\自分のPC の任意のフォルダを監視させるスクリプト
(もし、\\自分のPCに上の任意のフォルダに、メモ帳起動.txt というファイルが作られたら、
そのファイルを削除して、)
はどのように記述すればよいのですか?
スマートな方法を教えてもらえませんか?


351 名前:デフォルトの名無しさん:2005/10/16(日) 18:51:20
>>350
スマートな方法なんて、無理に決まってんだろ

352 名前:デフォルトの名無しさん:2005/10/16(日) 19:17:25
>>350

>>348
>>325

353 名前:デフォルトの名無しさん:2005/10/16(日) 19:52:21
>>350
while(true)
{
 if( ファイルオブジェクトか何か.IsExist ) 処理;
 Sleep(何秒か);
}


354 名前:デフォルトの名無しさん:2005/10/16(日) 19:55:09
>350
相手側に何か仕込むなら、Winpopupをスタートアップに登録するだけの方が無難だと思われ。

355 名前:323:2005/10/16(日) 23:05:51
みなさん、どうもありがとう。
>>354
相手側のPCが遠くて、私が直接作業出来ないんですぅ。
ついでに、驚かせたいってのもあるから、相手にやってもらうのも。。。ねぇ。
っていう理由なんですよ。。。


356 名前:デフォルトの名無しさん:2005/10/16(日) 23:09:54
出来ないんですぅ。じゃねえよクソがッ!!!!!!
失せろこの頓馬!!!!!!!!!!!!!

357 名前:デフォルトの名無しさん:2005/10/16(日) 23:25:08
>>356
kawaisouni...

358 名前:デフォルトの名無しさん:2005/10/17(月) 00:59:54
> 驚かせたいってのもあるから、相手にやってもらうのも。。。ねぇ。
本当は何らかの不正行為をやるつもりだろ
そういうことをやろうとしてるけど、自分でやるだけの知識が無い奴は
決まって「驚かせるだけ」とか「ジョークソフトを作るのに」とか言い訳して
やり方を聞いてくる

どうせ口先だけじゃ如何様にも言い逃れは出来るけどね

359 名前:デフォルトの名無しさん:2005/10/17(月) 01:23:03
スマートというか本当はコマンドライン一行でやる方法あるんだけどね。
何かマルチポストっぽいしクラッキングの片棒担ぐのも嫌なんで自分で調べな。

360 名前:デフォルトの名無しさん:2005/10/17(月) 03:08:44
スタートアップやタスク、netsend などを使うことなく、同じドメインに属している
リモートクライアントで notepad.exe のプロセスを走らせるスマートな手段は実際、
あるにはある。でもなぁ、>>323 の目論んでいることが今一つ抽象的かつくだらない
目的のように思えてならないんだよな。結局何をしたいのよ?>>323

361 名前:デフォルトの名無しさん:2005/10/17(月) 07:25:25
もういい加減スルー

362 名前:デフォルトの名無しさん:2005/10/17(月) 15:05:22
すいません初歩的すぎて申し訳ないんですが、次のサンプルスクリプトをWSHへ書き換えたいんですが
パラーメータの渡し方がわかりません。
どなたか教えてください。

<object ID=NetMeeting CLASSID="CLSID:3E9BAF2D-7A79-11d2-9334-0000F875AE17">
<PARAM NAME = "MODE" VALUE = "DataOnly">
</object>
 
 ↓

Set NWobj = createobject("Netmeeting.App")


363 名前:デフォルトの名無しさん:2005/10/17(月) 21:57:33
ほう。マルチですか。

364 名前:デフォルトの名無しさん:2005/10/18(火) 00:05:36
>>359、360
323はWin98でやりたいと言ってるように見えるが?

365 名前:デフォルトの名無しさん:2005/10/18(火) 09:46:45
糞ノートン先生を強制的に黙らせる方法はありませんか?
友達にVBScript渡したら悪質なScript扱いされて実行止められた('A`)

366 名前:デフォルトの名無しさん:2005/10/18(火) 11:20:37
良質なScriptはScriptBlockerを強制Offにしたりしません。

367 名前:デフォルトの名無しさん:2005/10/18(火) 13:20:58
ワロタ

368 名前:デフォルトの名無しさん:2005/10/18(火) 21:49:41
つーか最近無駄にセキュリティが高すぎる気がする。
そりゃ便利に何でも動くようにしたら、セキュリティに興味ない人が
どんどんウィルス感染するのは分かるんだけどさ。
最近のIEとか全然Script動かないじゃん。
ScriptどころかSVGとかも見れないし。
PC使えない人の問題を自動的に修復できるようにScript渡したいのに
Scriptも動かない動かせないんじゃどうしようもないですがな。

369 名前:デフォルトの名無しさん:2005/10/19(水) 00:20:57
>>359
お〜、それはすげーな。

でも、それって君の PC のセキュリティが低いだけだと
公言してるも同然で、アフォ丸出しだから止めたほうが
いいよ。

370 名前:デフォルトの名無しさん:2005/10/19(水) 00:29:13
そうだそうだ

371 名前:デフォルトの名無しさん:2005/10/19(水) 00:31:54
>>369
もちろんアカウントとパスワードは必要ですってば

372 名前:デフォルトの名無しさん:2005/10/19(水) 00:37:46
>>371
( ̄ー ̄)ニヤリッ

373 名前:デフォルトの名無しさん:2005/10/19(水) 00:54:35
>368
最近のPCならリモートデスクトップとかあるじゃん。

374 名前:デフォルトの名無しさん:2005/10/19(水) 08:30:15
>>368
>Scriptも動かない動かせないんじゃどうしようもないですがな。

Nortonがブロックするなら許可すればいいだけじゃね
単に動くスクリプトをあなたが書けないだけでは?と煽ってみる
IEだって設定の問題でしょ

375 名前:デフォルトの名無しさん:2005/10/19(水) 22:04:59
>>374
自分自身はちゃんと設定してるから動くよ。
他人に渡したときに動かないのが困る。
それも、「○○が動かなくなったから何とかしてくれ」
というのでScriptでファイル操作して自動的に解決するようにして送ったら
 ・メールから勝手に削除された
 ・なんとか受け取ったScriptは実行不能
  (ノートンが止めているらしい)
 ・ノートンの設定は弄れない
とのことで結局どうしようもなくなった。

まぁScriptは自分の為に使うものってことなのかね?

376 名前:デフォルトの名無しさん:2005/10/19(水) 23:17:44
>>375
見る限り全てノートンの所為


377 名前:デフォルトの名無しさん:2005/10/20(木) 16:44:51
よくタクスバーにアイコンだけ表示されている常駐ソフト( 音量やハードウェアの取り外しなど )がありますが、

どうにかして、このアイコンをクリックしたときに出るメニューの文字列って取得できませんか?

378 名前:デフォルトの名無しさん:2005/10/20(木) 17:14:36
マウスを置いたときに出るツールチップなら統一されてるから取得できるけど
出てくるメニューはプログラムの内部で任意に指定してるものだろ。
そんな不規則なものを取得できるのか?

379 名前:右下の時計のことならタスクトレイだ:2005/10/20(木) 22:29:44
>>377
つーか最終的に何をしたいか賭けよ。
エクスプローラ(シェル)は落ちることがあるし、そうなったら
プログラムとしては動作しててもタスクトレイからは
アイコンが消えてしまうのはよくある。

WMIでWin32_Processをクエリーするのがセオリーだ。

380 名前:デフォルトの名無しさん:2005/10/20(木) 22:37:30
>>377
>>378 が言う通りあのメニューはクリックした時に
プログラムが出してる。

だから、クリックするたびに違うこともあるし、プロ
グラムによってはメニューなんか出さずにいきなり設
定ダイアログをとかを出すやつもいる。

>>379 も書いてるけど、何のためにそんなことしたい
んだ?

381 名前:デフォルトの名無しさん:2005/10/20(木) 22:51:09
379じゃないけど
いちいちマウス動かさないでメニューの文字を一覧したいからじゃない

382 名前:デフォルトの名無しさん:2005/10/20(木) 23:01:19
>>381
m9(^Д^)プギャー

383 名前:377:2005/10/21(金) 01:32:39
>>378-381
>>379さんヒントありがとうございます。
Set ServiceSet = GetObject( _
"winmgmts:{impersonationLevel=impersonate}" _
).ExecQuery("select * from Win32_Process")
見たいなかんじでまずオブジェクトを取得して操作するみたいですね。
まずはタスクリストを得られるという感じなのかな・・・

やりたいことは、
httpdでスクリプトを起動して、外出先で常駐アプリの状態が知りたいんです。

いまのところ、httpdからcgiを起動して、perlプログラムからuwscスクリプトを起動して、
traypseというアプリケーションを通して、目的のタクストレイのアイコンをクリックするところまでできています。
(目的のアプリケーションのウィンドウハンドルまではわかっています)
uwscスクリプトでは、このときに出てくるメニューにアクセスできないために、
OLEオートメーションでなんとかならないかと思ったしだいです・・・
そこで詳しい方が多そうなこちらで質問させていただきました。

WMIには詳しくないので、もう少し調べてみます。
またヒントがあったらよろしくお願いします。m(_ _)m

384 名前:デフォルトの名無しさん:2005/10/21(金) 23:22:39
> やりたいことは、httpdでスクリプトを起動して、
> 外出先で常駐アプリの状態が知りたいんです。

ねぇ、何でそれを最初に書かないの?

あと、その常駐アプリの名前は極秘なの?

385 名前:デフォルトの名無しさん:2005/10/22(土) 15:32:35
PrintScreenアプリでデスクトップを丸ごとコピーした内容をFTPで送信。
Sendkeysでやるんならそんなもんか。
Winnyのウイルスみたいな動作なきがするけど気のせいか。

386 名前:377:2005/10/22(土) 17:57:08
>>384
すみません

えっと、常駐させるアプリはnyです
外出先から動画やソフトのダウンロード状態を確認出来ないかな、と・・・

387 名前:デフォルトの名無しさん:2005/10/22(土) 18:14:03
終わったな



↓次の話題をどうぞ

388 名前:デフォルトの名無しさん:2005/10/22(土) 18:43:57
Select Case文だと、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻しそうな場合について。
以下のようにしておくと、すっきりと処理できたので報告します。

For i=0 to 1
IF 〜 Then : Exit For
IF 〜 Then : Exit For
IF 〜 Then : Exit For
IF 〜 Then : Exit For
(ここにデフォルト処理):Exit For
Next

IF文を、故意に、ネストさせないで使っているので、見た目的にもすっきり。

もっと良い方法があるという方は、ご指摘願います。

389 名前:デフォルトの名無しさん:2005/10/22(土) 19:04:04
> Select Case文だと、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻しそうな場合について。
Select Case使うときは処理を拡張してもSelect Caseで間に合う時だけだ
「Select Case文が、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻する」なんてことはあり得ない

> For i=0 to 1
> IF 〜 Then : Exit For
For〜NextよりDo〜Loopの方がまだマシだろ
それと「:」は要らなくないか?

390 名前:デフォルトの名無しさん:2005/10/22(土) 20:28:56
> For i=0 to 1

For i = 0 To 0 の方がいいんじゃないか?
For I = 0 To 1 だと、なんかの時に2回回ることを想定し
てそうだ。

そもそも、For のは、余計な変数が必要だったりするから、
>>389 が言うように Do 〜 Until True の方がいいと思う。

> IF文を、故意に、ネストさせないで使っているので、見た目的にもすっきり。

そもそも、
If 〜 Then 〜 ElseIf 〜 Then 〜 ... Else 〜 End If
で大体間に合うし。

391 名前:デフォルトの名無しさん:2005/10/22(土) 22:14:26
>>386
Winnyってメニューの文字列可変じゃないジャンw

392 名前:388:2005/10/22(土) 23:07:51
>>389-390 貴重なご意見、回答ありがとうございます。

確かに、For i=0 から回しているので、2回ループするバグを出しそうですね。
あと、Do〜Loop: Exit Doのほうが、変数要らなくてスマートですね。修正しようと思います。

>それと「:」は要らなくないか?
Then のあとに実際は、何かの処理を入れています。いきなりExit Forしてる訳ではないです。
そもそもExit For要らないのでは?という疑問に対しては、「予期せずに、他のIF行を実行して
しまわないようにする為」のお守りとして付けた方がいいと思っています。

この処理を何に使用しているか、誰からも聞かれていないですが、一応書いておきます。
WSHのINPUT文を利用して、アプリケーションランチャーを作りました。なかなか快適です。

If Ucase(入力した値) = "MYDOC" Then Wscript.CreateObject("WScript.Shell").Run "C:\mydoc\": Exit For
とか、
If Ucase(入力した値) = "SLEIP" Then Wscript.CreateObject("WScript.Shell").Run """C:\Program files\〜\Sleipnir.exe""": Exit For
とかいうように、使っています。



393 名前:デフォルトの名無しさん:2005/10/22(土) 23:22:13
それこそ入力値は必ずinputboxの戻り値なんだからselect case使うべきだろ
等価比較演算で、一方が固定(inputboxの戻り値)なのが分かり切っているのに
select caseを避ける理由って何だ?
「WSHのINPUT文を利用して、アプリケーションランチャー」で、入力値以外の何を評価すると言うの?


394 名前:392:2005/10/22(土) 23:36:40
>>393 実は、電卓としての機能も持たせていて、
InputBoxの中身が、登録されたキーワード以外の時は、Eval( )で、計算機に早変わりするというものです。
(現在、キーワードもどきの文字列を送ると、Evalしてしまうので、エラーで落ちたりする事もよくありますが、特にErr処理していません)

他にも便利機能を拡張するかも知れないので、SelectCaseよりも条件分岐しやすい処理系にしたいと思って、
>>388 のように書いてみました。

395 名前:394:2005/10/22(土) 23:42:18
元ネタ & プログラムの原型は、以下のスレです。

WSHで数学をするスレ
http://science3.2ch.net/test/read.cgi/math/1097922794/29
http://science3.2ch.net/math/kako/1097/10979/1097922794.html
の29スレめの簡易電卓.vbs より。



396 名前:デフォルトの名無しさん:2005/10/22(土) 23:45:17
でも結局動作の振り分けは「InputBoxの中身(戻り値)が」なんでしょ
ならcase elseで処理させればいいじゃん

どう機能拡張しようと、「InputBoxの中身(戻り値)」で動作を分岐させるなら
select caseで間に合わなくなることは無いわけだが

397 名前:394:2005/10/23(日) 00:02:49
>>396
現状の使用では、Select Caseで、全く問題なさそうですね。

また、変なネタかプログラムができたら、レスします。(^^)
その時は、またコメントよろしくお願いします。

他に、機能拡張するとしたら、何かありますか?とか聞いたりして‥
InputBoxで、IEみたいに、途中まで入力した文字列の補完って
できないですよね?

398 名前:デフォルトの名無しさん:2005/10/23(日) 00:13:40
標準のinputbox自体では出来ないけど、
例えば末尾に"..."と入れたら入力補完するとか規則を決めて、
inputboxのの戻り値がright(,3)="..."だったら、補完リストから部分一致を検索して
もう一度inputboxを表示するとかはできるだろうな

399 名前:397:2005/10/23(日) 00:20:38
φ(..)メモメモ...

400 名前:ハーピィ:2005/10/23(日) 23:12:32
E・∇・ヨノシ <400ゲット♫

401 名前:デフォルトの名無しさん:2005/11/05(土) 10:18:19
モバイルでプログラム【NS BASIC/CE】
http://pc8.2ch.net/test/read.cgi/mobile/1012242798/

NSBASIC/CEはWSHを知ってるならほぼ使えるよ!
PDAであるWindowsCE上(実質シグマリやjornadaでないときついが。)でもデスクトップでも
開発が可能。
手のひらで自分の作ったアプリが動く喜び!最新Ver6.02は、EXE化されたものに好きな
アイコンをつけられるのでほとんどスクリプトと分からない。
NS Basic/CEは、WindowsCEにRuntimeを導入してその上で動く。
最新のWM5にも対応しており、日本語版も出ているし、日本語サポートもいるので安心だ。


402 名前:デフォルトの名無しさん:2005/11/05(土) 10:19:38
よかったら購入してユーザーにならないか? 俺もユーザーになったばかりなんだ。
日本サポートに確認をしたんだが、WEBでユーザー登録していただいて、その後、日本語サポートに連絡を
くれたら、無料Ver6(最新版)にアップデートできるそうだ。

FACTORY SABOT
501 Maritaimu 9-9 Higashimaikochou, Tarumi-ku, Kobe, Japan
Phone(078)787-3602 Fax(078)787-3619
http://www.sabot.co.jp/
sales@sabot.co.jp

MobilePLAZA
6-3-7-1F Sotokanda, Chiyoda-ku, Tokyo, 101-0021 Japan
Tel 03-3834-0315
http://www.mobileplaza.co.jp/

で買える。ttp://www.nsbasic.com/ce/Japanese/ が公式なんだが
DEMO版で試すことができるから、WSHのソースを貼り付けてみるといい。実質WSHだから。
シャープのW-ZERO3のCOMコントロールでPHSに信号を送り電話がかけられることがシャープより
確認が取れてるから今度出るWM5にも対応してる。

どだ?さみしいから仲間になってくれないか?NSBASICがほぼWSHというのを知らない人が
多いんで宣伝してすまそ

403 名前:デフォルトの名無しさん:2005/11/05(土) 10:26:28
あ、このWEBでユーザー登録して日本語サポートにメールくれたら
最新のをというのは

Ver5を買っても、無料でユーザー登録した時点の最新Verアップが可能と言うことなんだ。

お前ら、wsh使ってますか? part5 にも貼ったので両方覗いてる人にはすまんかった


404 名前:デフォルトの名無しさん:2005/11/06(日) 10:42:40
以前、H;/PCで、Embedded VBを少し使ってたけど、少しVBに似てるってだけで
なかなか使いづらかった。コントロールの数が少なくて。
WSHよりも更に、機能が少ないんじゃないかって感じた。

NS BASICか‥、どうなんだろう、その実力はいかに‥


405 名前:デフォルトの名無しさん:2005/11/07(月) 11:12:04
DEMO版があるよ。WSHのソースがほぼそのまま画面周りは修正しなくては行けないが
使えるのでソースぺたぺた貼り付けて動き具合を試してみてはいかがかな?
国内ではほとんどユーザーがいないが、海外ではNSBASIC/CE掲示板は
思い切りにぎわってる。
まずPDAスペックがあがったため、そこそこのスピードで動くようになったのも
大きいと思う。
コントロールの数もかなり増え、WSHとほぼ同じように使える。
はっきり言ってVer3のころなどへぼかった。4、5、6になるにつれ進化していってる。
Palm版のNSBASICもそうなんだが、なんとか使えだしたのはどちらもVer4ぐらいから
じゃないかな?

俺も始めたばかりなんで少しでも仲間が欲しい。なにせWSH入門を読んでるレベルだからだ

406 名前:デフォルトの名無しさん:2005/11/23(水) 02:13:33
ホシュ

407 名前:デフォルトの名無しさん:2005/11/27(日) 19:13:55
Set objShell = WScript.CreateObject("WScript.Shell")
colEventSource = objShell.RegRead("・・・・・・・・・")

としてレジストリをしらべようと思っているのですが、
レジストリのフォルダ構造を調べるにはどうしたらよいのでしょうか?
(HKEY_CURRENT_USER\Software の下に何が入っているか知りたいなど・・・)
知っているかたがいましたら教えてください。

408 名前:デフォルトの名無しさん:2005/11/27(日) 19:31:11
regedt32.exe
regedit.exe


409 名前:デフォルトの名無しさん:2005/11/27(日) 19:48:12
>>407
WshShellのメソッドで出来ることは、値を読んだり書き換えたり消したりくらいで
サブキーの列挙とかは出来ないので、キー構造を取得したければDynaCall使ってAPI呼ぶか、
自分でCOM作るかだな。
まあ作らなくても探せばあるかもしれないけど、この板の住人ならこの程度は作った方が早いだろ。

410 名前:デフォルトの名無しさん:2005/11/27(日) 19:52:04
ふつうWMI使う


411 名前:407:2005/11/27(日) 20:49:32
>>409>>410
レスありがとうございます

WMIを使って解決出来ました。DynaCallは面白いと思うので、何かのときに利用したいと思います。
(以下作ってみたスクリプト)

Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer("","root\default")
Set Reg = Service.Get("StdRegProv")
Reg.EnumKey &H80000001,"Software", SubKeys
For Each Key In SubKeys
WScript.Echo Key
Next


412 名前:デフォルトの名無しさん:2005/11/29(火) 22:54:41
スクリプトそのものとは関係ないんですが、ちょっと困った現象が
起きているので誰か力を貸してください。

WScript.Echo "test"
という1行だけのスクリプト(test.vbs)を作って、
コマンドプロンプト上で
cscript //nologo test.vbs
と実行します。すると、標準出力に
test
と当然出力されます。
そして処理は終わってるはずなんですが、
そのまま5-10秒くらいプロンプトに戻ってきてくれません。
何の後始末をしているのか知りませんが、^Cも無視されます。

どのような原因が考えられるでしょうか。


413 名前:412:2005/11/29(火) 23:10:31
一応その他の情報を。
OSはWindows Server 2003

試したこと。
・引数なしでcscriptを実行
使い方が表示されてすぐ戻ってきました。
・エラーを含むスクリプトを実行
エラー情報が表示されて、5-10秒待たされます。

試そうとしていること
・JScriptのファイルを実行
・正常に動くマシンとスクリプトエンジン/WSHのバージョンを比較してみる。


414 名前:デフォルトの名無しさん:2005/11/30(水) 02:39:03
cscript //nologo

だけだったら?


415 名前:デフォルトの名無しさん:2005/11/30(水) 22:04:13
>414
スクリプトファイルを指定しろといわれて終わります。
すぐ戻ってきます。

あきらめムードです。

416 名前:デフォルトの名無しさん:2005/11/30(水) 22:30:24
>>415
VMWareの体験版で素の状態を作ってみれば
自分で比較できるんじゃない?

メーカ製のリカバリディスクじゃなく
windowsのインストールCDを持ってること前提だけど。

417 名前:デフォルトの名無しさん:2005/11/30(水) 23:07:08
>cscript test.vbs
---- 略 ---- Wiindows Script Host Version 5.6
---- 略 ----

test

>

1秒以内

418 名前:デフォルトの名無しさん:2005/11/30(水) 23:07:36
↑一応 Server 2003

419 名前:デフォルトの名無しさん:2005/12/02(金) 00:24:38
質問させてください。

ドラッグ&ドロップでscriptが起動されたフォルダを取得するにはどのようにすればよいでしょうか?

通常、scriptが起動されると
fs.GetFolder(".")
でカレントを拾えます。

しかしながら、スクリプトファイルに何かをドロップしてスクリプトを起動した場合
\Document and Settings\user
がカレントになってしまいます。

きちんとスクリプトが置いてあるフォルダを取得したいのですが方法ありませんでしょうか?

420 名前:デフォルトの名無しさん:2005/12/02(金) 01:11:42
>>419
WScript.ScriptFullNameからFile作ってParentFolderとか。

421 名前:デフォルトの名無しさん:2005/12/02(金) 01:53:08
>420
ファイル作る必要はないだろ。
WScript.ScriptFullNameはフルパス返すから
ファイル名を取り除けば十分なんじゃない。

422 名前:デフォルトの名無しさん:2005/12/02(金) 03:59:28
> ファイル作る必要はないだろ。
必要性の問題じゃないだろ。
>>420もひとつの方法、>>421もひとつの方法。

WScript.ScriptFullNameからFSOのFileオブジェクトのParentFolderプロパティの値を得る>>420
WScript.ScriptFullNameからFSOのGetParentFolderNameメソッドの戻り値を得る
WScript.ScriptFullNameから文字列操作関数や正規表現でファイル名を取り除く>>421
等々…

以後の処理でFSOを使わないなら文字列操作で切り出してもいいけど、FSO使うなら、
ここでParentFolderプロパティ、GetParentFolderNameメソッド等を使わない手は無いだろ。
逆にこの処理の為だけにFSO使ったってなんら問題ないし。

423 名前:デフォルトの名無しさん:2005/12/02(金) 07:14:20
>>422
HTAではVBScriptの仕様を受け継いでいるが、このどれかが使えなかったはず。

424 名前:デフォルトの名無しさん:2005/12/02(金) 18:20:23
>>423
WScript

425 名前:デフォルトの名無しさん:2005/12/03(土) 09:05:11
バッチファイルやWSHと言うと、こんなソフトがあるんだけど、
誰か使ってみてくれない?

ttp://www.vector.co.jp/soft/winnt/net/se381399.html

メールにもJavaScriptが書けるらしい。
正直どうよ。

426 名前:デフォルトの名無しさん:2005/12/03(土) 09:10:25
>>425
糞ソフトのマルチ宣伝乙

427 名前:デフォルトの名無しさん:2005/12/03(土) 14:14:36

シェアウェアの宣伝かよ m9(^Д^)プギャー

つーかこんなもん、この板の住人が金払ってまで欲しがるとは思えないな
フリーなら使うかも知れないけど、そうじゃなければ欲しけりゃ自分で作るって

428 名前:デフォルトの名無しさん:2005/12/03(土) 18:13:33
>>427
では、作ってください。
できればフリーで。
よろしくお願いします。

429 名前:デフォルトの名無しさん:2005/12/03(土) 18:33:23

欲しけりゃ自分で作るが、
なんておまえのために作らなきゃならないの?

俺が欲しくて作るなら、作った物は自分にとって益となるが
俺が欲しくもない物を、おまえのために作って俺に何の益がある?

つーか宣伝がバレて逆切れすんなよ m9(^Д^)プギャー
しかも宣伝だけでなく宣伝後の行動まで向こうと一緒で笑えるw

まあ作者じゃないと口先だけで否定することは出来るけどな

430 名前:デフォルトの名無しさん:2005/12/03(土) 19:43:19
>>429
よくわからないけど、あなた何か勘違いしてません?

431 名前:デフォルトの名無しさん:2005/12/03(土) 19:46:32
425(´・ω・) カワイソス

432 名前:デフォルトの名無しさん:2005/12/03(土) 20:07:13
なんか哀れだな。
とりあえずメ欄のスペースは止めておけ。

433 名前:デフォルトの名無しさん:2005/12/03(土) 21:14:14
何かもう一つのWSHスレッドでも暴れてますね、こいつ

434 名前:デフォルトの名無しさん:2005/12/03(土) 22:03:22
>>431-432
なぜ、同情されているのでしょうか?


435 名前:デフォルトの名無しさん:2005/12/03(土) 22:13:16
滑稽なピエロ成り下がってるから

436 名前:デフォルトの名無しさん:2005/12/03(土) 22:31:24
ちょーてきとーだけど、pythonで書いてみた(・∀・)
#!/usr/local/bin/python
import poplib, os
M = poplib.POP3("pop3.mail.server")
M.user("username")
M.pass_("password")
numMessages = len(M.list()[1])
for i in range(numMessages):
  body = []
  eoh = 0
  for j in M.retr(i+1)[1]:
    if eoh == 0:
      if j == "":
        eoh = 1
      elif j[0:8].upper() == "SUBJECT:":
        if j.find("This Is Script") == -1:
          break
    else:
      body.append(j + "\n")
  else:
    M.dele(i+1)
    f = open("tmp.py", "w")
    f.writelines(body)
    f.close()
    os.system("python tmp.py")
M.quit()

437 名前:デフォルトの名無しさん:2005/12/04(日) 07:25:01
>>436
ぶおっ! pythonでそんなことまでできるのか!
WSHでメールを送るときはCDOを使わないといけないのに

438 名前:デフォルトの名無しさん:2005/12/04(日) 07:48:37
自演乙

439 名前:デフォルトの名無しさん:2005/12/04(日) 17:52:42
ActivePythonやActivePerl入れて使うなら、これもWSHの仲間では? 使ったことないけど。

440 名前:デフォルトの名無しさん:2005/12/09(金) 03:45:33
標準的なWindows環境で実行できるのがWSHの魅力なのに
追加でインストールが必要な時点で興味がない。

441 名前:デフォルトの名無しさん:2005/12/09(金) 04:19:27
( ゚д゚)ポカーン

442 名前:デフォルトの名無しさん:2005/12/09(金) 04:35:54
>>440
ソフトのインストールすらできない代物でも使える場合があるのは確かに魅力だよな。
お陰で多少使えるようになった。

443 名前:デフォルトの名無しさん:2005/12/09(金) 05:55:33
( ゚д゚)

444 名前:デフォルトの名無しさん:2005/12/09(金) 07:30:03
> 標準的なWindows環境で実行できるのがWSHの魅力
激しく同意

> なのに 追加でインストールが必要な時点で興味がない。
激しく遺憾

標準環境で実行出来るってのは、自機以外で使ったり、
他人に渡したりするときのメリットでしょ。
そしてこれはwshの魅力の一面に過ぎない。
自機で使う分には、コンポーネントによる機能や言語の
拡張がしやすいという魅力を存分に味わおうよ。

445 名前:デフォルトの名無しさん:2005/12/09(金) 08:49:23
標準機能だけでやるとするとwshからsendkeysでtelnet操作して
telnetのログファイルを読み込んでごにょごにょするのか?
メール受信するとこまで書いてみたけどsendkeysでの操作はちょっといやんだな。
telnetはなぜか空行をログファイルに出力してくれないし。

446 名前:デフォルトの名無しさん:2005/12/09(金) 21:38:25
442(´・ω・) カワイソス

447 名前:デフォルトの名無しさん:2005/12/09(金) 22:25:34
>>445
つWshScriptExec オブジェクト

448 名前:デフォルトの名無しさん:2005/12/10(土) 01:28:18
>>447 いやそれ機能しないよ。

449 名前:デフォルトの名無しさん:2005/12/10(土) 07:58:12
>>445
もうTeraTermとか、マクロを持っている通信ソフトに任せろYO

450 名前:デフォルトの名無しさん:2005/12/11(日) 01:22:51
ActivePerlはバイナリが扱えるのが大きいな。
python?布団はシラネ



451 名前:デフォルトの名無しさん:2005/12/17(土) 10:03:42
WSHで作成したシェアウェアってあるの?

452 名前:デフォルトの名無しさん:2005/12/17(土) 10:34:00
あるよ

453 名前:デフォルトの名無しさん:2005/12/20(火) 05:16:03
WSHはスクリプトを実行する環境であってそれを使って何かを作成するわけじゃない

454 名前:デフォルトの名無しさん:2005/12/24(土) 10:26:03
WindowsAPIのSendMessage関数を利用してWM_COPYDATAメッセージを用いて
目的のウィンドウにデータを飛ばす方法はあるでしょうか・・
検索して、DLLファイル(この場合、user32.dll?)を利用する方法があるらしいとは判明したのですが・・
http://homepage3.nifty.com/aya_js/wsh/wsh20.htm

どうすればよいでしょうか。
指定ウィンドウにデータを渡すのに、上記以外にも良い方法がありましたら解説を伺えれば幸いです。

455 名前:デフォルトの名無しさん:2005/12/24(土) 11:15:21
>>454
そこにも「DLLの一部の関数を使うことができます。」と書いてある通り、
全ての関数がその方法で呼べる訳じゃない。
とりあえず引数に構造体を使う(ことがある)関数は呼べないと思った方がいい。

SendMessageを使いたければDynaCallなどを利用して関数を呼ぶとか
SendMessage関数を呼べるCOMを導入するとかしな。

456 名前:デフォルトの名無しさん:2005/12/24(土) 11:25:07
>>455
ご回答ありがとうございます。

>とりあえず引数に構造体を使う(ことがある)関数は呼べないと思った方がいい。

そうなんですか。。
WSHの標準機能のみでは、その回避できない問題なのでしょうか。。

>SendMessageを使いたければDynaCallなどを利用して関数を呼ぶとか
>SendMessage関数を呼べるCOMを導入するとかしな。

検索していると、DynaCallの文言を時々見かけました。
内容が記述されているところを探して見ます。
ありがとうございました。

457 名前:デフォルトの名無しさん:2005/12/24(土) 11:28:18
run()やexec()を用いてアプリケーションを起動する時に、
アプリへの引数に文字数制限はあるのでしょうか?

458 名前:デフォルトの名無しさん:2005/12/24(土) 11:33:06
>>457
WSHとは関係ない普通のコマンドラインの制限だけだろ。

459 名前:デフォルトの名無しさん:2005/12/25(日) 02:41:44
255

460 名前:デフォルトの名無しさん:2006/01/06(金) 23:26:34
VBSでMSIEのCOMを使用した際の、質問をさせてください。
OSはWindows2000 SP4で、使用したのはWSH ver5.6です

documentオブジェクトからallコレクションを取得したいのですが
document内でname=allを使用したエレメントがあるため

document.all で allコレクションではなくて
そのエレメントが取得されてしまいます
最終的にdocument.all.tagsが使いたいのですが
document.all以外の方法で
全エレメントのコレクションを取得する方法はありますか?

質問スレが見当たらなかったのですが
もっと適切なスレがあれば教えてください。
よろしくお願いいたします。

461 名前:デフォルトの名無しさん:2006/01/07(土) 00:36:51
>>460
これじゃ代わりにはならない?
ttp://msdn.microsoft.com/workshop/author/dhtml/reference/methods/item_9.asp

462 名前:460:2006/01/07(土) 01:11:27
>>461
リンク先を読んだところ、childnodesを辿ればできそうです。
ありがとうございました!


463 名前:デフォルトの名無しさん:2006/01/09(月) 17:17:09
WSHのいい開発環境が何かあれば、教えてください。

464 名前:デフォルトの名無しさん:2006/01/09(月) 17:26:29
メモ帳最強

465 名前:デフォルトの名無しさん:2006/01/09(月) 17:38:28
>>463
おまえが実際に使ってみて"いい開発環境"だと思った物が
おまえにとって"いい開発環境"だ。

俺にとって(・∀・)イイ!!ものが、おまえにとっても(・∀・)イイ!!ものだとは限らないので
具体的なソフト名は伏せておく。

466 名前:デフォルトの名無しさん:2006/01/09(月) 19:35:06
>>463
Microsoft Visual Web Developer 2005 Express Edition

467 名前:デフォルトの名無しさん:2006/01/09(月) 21:19:03
>>465
> おまえが実際に使ってみて"いい開発環境"だと思った物が
> おまえにとって"いい開発環境"だ。

ダウト!! でしょ。

もっといい環境を知ってしまったら、それまでいい環境と思っ
てたものが糞環境になってしまう。

っていう経験はしたことないのか?

まあ、後半は同意だが。

468 名前:デフォルトの名無しさん:2006/01/09(月) 22:05:14
ワロタw
こんなアフォもいるのか

469 名前:デフォルトの名無しさん:2006/01/09(月) 23:28:02
同意

470 名前:デフォルトの名無しさん:2006/01/09(月) 23:45:01
救命胴衣

471 名前:デフォルトの名無しさん:2006/01/11(水) 08:07:39
これは救えない

472 名前:デフォルトの名無しさん:2006/01/11(水) 08:23:16
ホント、467みたいなバカってどこにでも居るのな

473 名前:デフォルトの名無しさん:2006/01/11(水) 08:31:37
467は日本の恥。人間の屑。地球のゴミ。大宇宙の神秘。

474 名前:デフォルトの名無しさん:2006/01/11(水) 12:34:00
ヤバい。>>467ヤバい。まじでヤバイよ、マジ(r


475 名前:デフォルトの名無しさん:2006/01/13(金) 08:59:53
自然数 N が与えられたとき、
1 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは WSH で書くとどうなりますか?

例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。


476 名前:デフォルトの名無しさん:2006/01/13(金) 09:07:30
>>475
何処ににどう並べたいのか知らないけど
普通に乱数使ってやればいいだけの話

それが解らないようだとこの板にくるのは30分早い
まあ、頭のデキ次第では「数年早い」かもしれないがな
予備知識が無くたって、並の知能を持ってれば
この程度のことは30分も調べればわかる

477 名前:デフォルトの名無しさん:2006/01/13(金) 09:50:03
>>476
組み合わせをすべて列挙するのに乱数要るのか・・・?

478 名前:デフォルトの名無しさん:2006/01/13(金) 10:05:26
ごめん、別スレで煮た質問有ったんで勘違いしてた
乱数じゃなくて二進数だな
どっちにしろわけないものだがな

479 名前:デフォルトの名無しさん:2006/01/13(金) 10:07:09
>475
順列を全て書き出したいって事?
「順列 アルゴリズム」で検索すればいろいろヒットすると思うが。
WSHにこだわらなければ↓とか。
http://www.vector.co.jp/soft/winnt/util/se328853.html

480 名前:デフォルトの名無しさん:2006/01/13(金) 12:11:13
では >>478 のプログラムを拝見しましょうか。


481 名前:デフォルトの名無しさん:2006/01/13(金) 12:18:48
で?

482 名前:デフォルトの名無しさん:2006/01/13(金) 12:49:44
定期的に起動するVBSを書いています。
VBSの中でMSIEのCOMを使用してIEを開いているのですが、
その時にウインドウのフォーカス(?)がとられてしまいます。
これを回避する方法はないでしょうか?

OSはWindowsXP SP2です。
Dim objIE
Set objIE = CreateObject("InternetExplorer.application")
objIE.Offline = true
objIE.Navigate LoginURL
Do While objIE.Busy = True
Loop
Do While objIE.readyState <> "4"
Loop

483 名前:デフォルトの名無しさん:2006/01/13(金) 21:10:41
もう一度自分にフォーカスすればいいんじゃない?

484 名前:デフォルトの名無しさん:2006/01/14(土) 05:27:28
Offlineである必要がどうしてもあるなら妥協せざるをえない

485 名前:デフォルトの名無しさん:2006/01/14(土) 15:12:49
>>479
糞ソフトの宣伝乙

486 名前:デフォルトの名無しさん:2006/01/14(土) 17:12:56
>475
基本をちゃんと理解しておけば後は簡単、パズルみたいなもんだ。
分からないところがあったら、こまめに教官に聞きに行け。
授業料払ってるんだから分かるまで何度でも聞きに行け。

487 名前:デフォルトの名無しさん:2006/01/14(土) 18:24:26
>>475
素直に組めばこんなもんかな

Option Explicit

Permutation 9

Private Sub Permutation(N)
WScript.Stdout.WriteLine "N = " & CStr(N)
Dim A(): ReDim A(N - 1)
Dim I: For I = 0 To N - 1: A(I) = I + 1: Next
PermutationSub A, 0, N - 1
End Sub

Private Sub PermutationSub(A, N, M)
If N <= M Then
Dim I
For I = N To M
Swap A(N), A(I):PermutationSub A, N + 1, M: Swap A(N), A(I)
Next
Else
WScript.Stdout.WriteLine Join(A, " ")
End If
End Sub

Private Sub Swap(X, Y)
Dim W: W = X: X = Y: Y = W
End Sub

うちの環境だと、N が 568 以上だとスタックオーバーフローするけどな。

488 名前:デフォルトの名無しさん:2006/01/17(火) 09:04:37
選択した文字を右クリックメニューからWeb検索するものを作る事は可能ですか。WSHで

489 名前:デフォルトの名無しさん:2006/01/17(火) 09:21:14
> 選択した文字を右クリックメニューから
どこで選択した文字を、何の右クリックメニューから検索したいのか知らないけど
選択した文字列をスクリプトで取得出来るならどうにでもなる。
ブラウザ上の右クリックとかなら簡単に出来るし。(具体的な方法はググれ)

490 名前:デフォルトの名無しさん:2006/01/20(金) 19:45:28
何かいい方法がありませんでしょうか?

wshでVBScriptを動かし、
VBScriptのループ内でsqlplusを使用してinsertを繰り返し行いたいとします。

まずVBScriptの始めに
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "sqlplus aaa/bbb@dbname"
を行い、sqlplusを起動、DBコネクトを行います。
その後、sqlplusに対して、コマンド(insert文)を実行させたいのですが、
やり方がわかりません。


491 名前:デフォルトの名無しさん:2006/01/20(金) 19:52:11
オラクルの使い方はDB板で聞けよ。

492 名前:デフォルトの名無しさん:2006/01/20(金) 19:56:42
>>491 DB版で逆のことを言われました。
DBとは直接関係ないので質問の形式を変えます。

wshで起動したDOSプロンプトにコマンドを渡すやりかたはないですか?

493 名前:デフォルトの名無しさん:2006/01/20(金) 19:58:35
だな
wshと言うより、VB構文+DBって感じだし

494 名前:デフォルトの名無しさん:2006/01/20(金) 20:05:34
>>490
sqlplus xxx/xxx@xxx < ファイル とリダイレクトを使うか、
sqlplus xxx/xxx@xxx @ファイル でコマンドをわたせる。
どっちにしろいったん中間ファイルに書き出す必要がある。

495 名前:デフォルトの名無しさん:2006/01/20(金) 20:12:47
>>494
1つのファイルを読み込んで、INSERTを何回も行う仕様なんですよ。
でもSQLローダーではできないんですよ(ちょっとファイル形式が複雑で)。
で、PL/SQLも仕様できない(DBサーバー上にファイルがあるわけではないので)。

なので、VBScriptでファイルを読んで、SQL部分はsqlplus経由で行おうとしてます。
sqlplus使わないでODBCでやるなら簡単なんですけど、事情があって、sqlplus経由でやりたい。

INSERT一回ごとにコネクト開閉するわけにもいかないし、
一旦コネクトしておいて、そこで何度もSQL実行できればいいのですが。。。

496 名前:デフォルトの名無しさん:2006/01/20(金) 20:33:32
>>495
標準入出力をスクリプトから制御したいならこの辺だな。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wslrfexecmethod.asp

497 名前:デフォルトの名無しさん:2006/01/21(土) 11:36:37
↓のように1行ごとにInsert発行せずに
 insert into t1(col1, col2, col3) values ('A', 'B', 'C') 実行
 insert into t1(col1, col2, col3) values ('D', 'E', 'F') 実行
1回の実行で複数件Insertした方がいいのでは?
 insert into t1(col1, col2, col3)
 select 'A', 'B', 'C' from dual
union all
 select 'D', 'E', 'F' from dual 実行

498 名前:デフォルトの名無しさん:2006/01/21(土) 12:12:34
>>497
すでにWSHは何の関係もないね。
ついでなんで答えると無名プロシージャでまとめて送るのが普通。
他のDBでも複数の命令をまとめて送るバッチ送信モードがあるから探してみたらいい。
sqlplus やldrの使い方はoracleスレにいってね。

499 名前:デフォルトの名無しさん:2006/01/21(土) 17:20:36
IEを操作したいと奮闘中です
xxx という名前がついたテキストボックスがあるのですが、
状態によっては hidden になり、入力の必要がない場合があります
xxxがテキストボックスなのかhiddenなのかを判別する方法はありますでしょうか?
よろしくお願いいたします

500 名前:デフォルトの名無しさん:2006/01/21(土) 19:44:00
>>499

<input id="inputText" type="text" />
<input id="inputHidden" type="hidden" />
<script>
alert(inputText.type);   // text
alert(inputHidden.type); // hidden
</script>

501 名前:デフォルトの名無しさん:2006/01/31(火) 11:46:34
IEを立ち上げた時、ほかのアプリやブラウザの陰にならず、IEが必ず見える
ようにするにはどうすればよいでしょうか?

502 名前:デフォルトの名無しさん:2006/01/31(火) 11:59:38
>>501
つ AppActivate

503 名前:488:2006/01/31(火) 14:33:08
IE上で選択した文字が取得できません><getとかヘルプ検索したけど><

504 名前:デフォルトの名無しさん:2006/01/31(火) 14:50:16
>>503
document.selection.createRange().text
かな

505 名前:デフォルトの名無しさん:2006/01/31(火) 22:31:46
IEでコンテンツ上のテキストとかを選択できなくしたいのですが、
できますか?

506 名前:デフォルトの名無しさん:2006/01/31(火) 22:40:50
>>505
<div unselectable="on">……</div>
のようにする。

507 名前:デフォルトの名無しさん:2006/01/31(火) 23:02:59
>>505
そろそろスレ違いですよ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpisdk/dhtml/references/dhtmlrefs.asp


508 名前:デフォルトの名無しさん:2006/02/01(水) 00:15:48
>>506
ありがとうございます

>>507
何のことだかわかりません
誰かと勘違いされてますか?

509 名前:デフォルトの名無しさん:2006/02/01(水) 02:36:21
>>508
ここで聞くことじゃない

510 名前:デフォルトの名無しさん:2006/02/02(木) 23:22:23
wshをこれから使う予定なんですが、エディタなにがいいっすか??

511 名前:デフォルトの名無しさん:2006/02/02(木) 23:26:54
めもてふ

512 名前:デフォルトの名無しさん:2006/02/02(木) 23:28:08
>>510
[スタート メニュー]→[プログラム]→[アクセサリ]→[メモ帳]

513 名前:デフォルトの名無しさん:2006/02/02(木) 23:41:25
WSHって言うからには、窓OSでしか使えないんですよね?

514 名前:デフォルトの名無しさん:2006/02/03(金) 00:17:35
>>513
おぬしががんばって他のOSでインタプリタつくればできるかもしれん。ぞ。

515 名前:デフォルトの名無しさん:2006/02/03(金) 00:31:42
>>510
Microsoft Visual Web Developer 2005 Express Edition

516 名前:デフォルトの名無しさん:2006/02/03(金) 00:43:48
>>510
有料のやつですね。

4千程度なら買ってもいいんですが、無料エディタの中で良いものないでしょうか??
現在terapad使ってるんですが

517 名前:デフォルトの名無しさん:2006/02/03(金) 00:49:08
>>515のは無料
http://www.microsoft.com/japan/msdn/vstudio/express/vwd/

518 名前:デフォルトの名無しさん:2006/02/03(金) 01:57:41
>>517
どこからダウンロードしていいのかわかりません。
どこでしょうか??

519 名前:デフォルトの名無しさん:2006/02/03(金) 03:15:55
そんな餌に俺様が

520 名前:デフォルトの名無しさん:2006/02/03(金) 04:52:04
>>516
俺が良いと感じるものを、お前が使って良いと感じるとは限らない。
結局自分で試さないと「良い物」なんて見つからないわな。

つーかググればすぐ出てくるソフトの名前教えて貰って、落とすところがわからないとか
こいつは、自分で探そうとか試そうとかいう気が全く無いんだな。

以後放置しましょうか。

521 名前:デフォルトの名無しさん:2006/02/03(金) 10:03:35
落とすところがわからないって…
さすがにそこまで来ると、どこか悪いんじゃないかと心配になったり。

522 名前:デフォルトの名無しさん:2006/02/06(月) 19:48:27
それは出来ないんじゃないか?
ライセンスしてくれなかったはず。


523 名前:デフォルトの名無しさん:2006/02/07(火) 08:29:16
はっきりと「頭が悪い」と言わない>>521の優しさに惚れそうでつ

524 名前:デフォルトの名無しさん:2006/02/16(木) 14:59:52
いまVBSでVISIOを操作しようとしているんですが、
対象ファイルが既に起動済みの場合の対処で困っています

起動済みのファイルが既に立ち上がっていた場合
その立ち上がっているファイルを操作するには
どうしたら良いでしょうか?

GetObjectでファイルを指定しても操作できず
Visio.ApplicationもエラーでGETできませんでした

やっぱり起動済みの場合はMsgbox等で警告して
終了してから実行するしかないでしょうか?

携帯からですいませんが、助言をお願いします

525 名前:542:2006/02/16(木) 18:21:39
普通にできました
ただの勘違いでした
スレ汚しすんません

526 名前:デフォルトの名無しさん:2006/02/26(日) 20:17:50
ひつもんです。

現在アクティブなCOMオブジェクトをリアルタイムに
ブラウジングするツールのようなものは無いでしょうか?
できればフリーでダウンロード可能なツールがいいんですが。
とろしくお願いします。

527 名前:52あ6:2006/02/26(日) 20:21:45
すいまえん検索したらこんなのがありましたが

Oleview.exe: OLE/COM Object Viewer
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/oleview-o.asp

これ無料ダウンロードして誰でも使っていいもんでしょうか?

528 名前:52あ6:2006/02/26(日) 20:27:40
すいません。フリーダウンロードってかいてありました。
日本語版は無いんですよね?
おさわがせして失礼しました。

529 名前:デフォルトの名無しさん:2006/02/26(日) 21:17:59
>>528
>日本語版は無いんですよね?
パッチなら
http://hp.vector.co.jp/authors/VA037237/index.html#soft0024
注意:バージョンが合うかどうか不明。

530 名前:デフォルトの名無しさん:2006/02/26(日) 21:21:15

 質問する  →  検索する

    ↑        ↓

 新たな疑問  ←  自己解決


無限ループって怖くね?

531 名前:デフォルトの名無しさん:2006/02/26(日) 21:25:22
>>530
じゃあ、最初にもっと根本的なところの疑問から解決していこうよ。
まず、いい開発ツールってない?
デバッグできる奴がほしいんだけど。

532 名前:デフォルトの名無しさん:2006/02/26(日) 23:25:36
>>531
あるよ


でもこの手のこと言い出す奴って、「Aが出来るツール」って言っても、
Aだけ出来れば満足ってことではなく、今使ってるツールに対する
不満点がAなわけだから、Aが出来るツールを教えても、今まで使ってた
ツールで出来てたBが出来なくなれば、今度はそこに不満を感じるわけで、
教えても虚しい結果に終わるだけだから具体的なソフト名は伏せる。

「いい開発ツール」の「いい(良い)」ってのも、同じものでも人によって評価の変わる
非常に曖昧な表現だし。
まぁ、この板の住人なら最終的には必要な物は自分で作れってことでFAだからな。

533 名前:デフォルトの名無しさん:2006/02/28(火) 12:47:06
WSHからimagemagick使ってるんですが
ttp://images-jp.amazon.com/images/P/B000E6UJXS.01.MZZZZZZZ.jpg
この画像を変換(リサイズ)しようとするとエラー吐いて止まっちゃう。
ほとんどのファイルは大丈夫なんだけど特定のファイルはだめみたい。
これは画像のデータが壊れているということ?

ttp://www.hawk.34sp.com/stdpls/dwsh/dwsh_imagick.html
スクリプトはここのをほぼそのまま使ってるんですが
エラーを吐くのはImagemagickのようです。
エラーの出る条件がよくわかりません。どなたか・・・

534 名前:533:2006/02/28(火) 12:59:09
画像をDLしなおしたらできた
DLの失敗かもしれないので上は無かったことにして下さい

結構頻繁に起きるので解決にならないけど・・・

535 名前:533:2006/02/28(火) 16:34:43
WSHから呼んでいるときにwaitかけてないからエラーがでるのかな・・・
javascriptでwaitってどうやってかけるんだろう

vbs使ってsleep使うしかないのか

</チラシの裏>

536 名前:デフォルトの名無しさん:2006/02/28(火) 20:21:35
<package>
<job id="vbs">
<script language="VBScript">
WScript.Sleep 100
</script>
</job>

<job id="js">
<script language="JScript">
WScript.Sleep(100);
</script>
</job>
</package>


537 名前:デフォルトの名無しさん:2006/03/10(金) 01:02:29
WSHでcmdやnetshのようなシェルプログラムを実行させるにはどうしたらいいでしょうか
例えば、以下のような複数行のコマンドを実行する場合などです。
cd c\temp
temp.exe

538 名前:デフォルトの名無しさん:2006/03/10(金) 05:09:34
>>537
cmd.exeやnetsh.exeのような実行ファイルを実行したいという意味なら、
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsmthrun.asp?frame=true&hidetoc=true

cdしたいという意味ならCurrentDirectoryに値を代入。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wslrfCurrentDirectory.asp?frame=true&hidetoc=true

標準入出力を操作したいというなら、
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wslrfexecmethod.asp?frame=true&hidetoc=true

539 名前:デフォルトの名無しさん:2006/03/11(土) 22:14:27
>>538
知りたかったのは3番目の方法です。
ありがとうございました。

540 名前:http://www.vector.co.jp/soft/win95/util/se072729.html:2006/03/18(土) 21:37:53
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?



541 名前:デフォルトの名無しさん:2006/03/18(土) 22:03:16
マルチもここまで多くのスレで展開されるとある意味感心する。
但しマルチ質問には答えないのが慣わしなんで、知ってるが回答は控えておくことにする。

542 名前:デフォルトの名無しさん:2006/03/27(月) 23:45:04
VBSファイルの置いてあるパスを取得するというか
自分自身のファイルパスを取得するにはどうしたらいいですか

543 名前:デフォルトの名無しさん:2006/03/28(火) 00:08:30
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsproscriptfullname.asp

544 名前:デフォルトの名無しさん:2006/03/29(水) 19:06:08
*.lnkで起動するファイルがあるディレクトリの親ディレクトリを開きたいんだけど、
これをスクリプトでできないですか?
とりあえず、*.lnkファイルをエディタで開いて中身を見てみようとしたけど、これを開くと
リンク先のファイルが開かれて、*.lnk自体の中身を見ることができない、、
フォーマットが分からないとどうしようもない。
というより、スクリプトに渡しても、リンク先のファイルを渡したことになるのかな。
どうにかなりませんか?

545 名前:デフォルトの名無しさん:2006/03/29(水) 19:28:17
TargetPath
ParentFolder

546 名前:デフォルトの名無しさん:2006/03/31(金) 00:00:05
>>544
ファイルの中身を覗きたいならバイナリエディタを使え

547 名前:デフォルトの名無しさん:2006/04/07(金) 21:24:50
>>546
lnkファイルってこんな構造だったの?w
おれずっとエディタで読めると思ってた、勘違いしてたよw
d

548 名前:デフォルトの名無しさん:2006/04/08(土) 23:14:29
Set xh = CreateObject("MSXML2.XMLHTTP")
On Error Resume Next
If Err <> 0 Then
Err.Clear
  Set xh = CreateObject("Microsoft.XMLHTTP")
End If
xh.Open "GET", Url, False
xh.Send
If Err <> 0 Then Exit Function

上記Scriptでxh.Sendを実行してから次のステップに進むまで4秒くらい(URLはyahooやInfoseekなどどのサイトでも)
かかりますがみなさんもそのくらい、時間がかかりますか?

OSはWinXPです。

549 名前:デフォルトの名無しさん:2006/04/09(日) 00:37:23
>>548
Windows板いきな

550 名前:548:2006/04/09(日) 00:41:53
>>549
そうします

551 名前:デフォルトの名無しさん:2006/05/03(水) 16:55:59
スマン、誰かMSXMLのSAX使う方法教えてくれ。
Set reader = CreateObject("MSXML2.SAXXMLReader)
迄は分かるんだが、
reader.contentHandler = ←ここがわからん
reader.parseURL("...")

探し方が悪いのか見つけきれない……orz

552 名前:デフォルトの名無しさん:2006/05/03(水) 17:13:18
> Set reader = CreateObject("MSXML2.SAXXMLReader)
> 迄は分かるんだが、
全然わかってないってことじゃんw
Set reader = CreateObject("〜")
は調べるまでもなくわかることだし。

まあとりあえずリファレンスでも読んでこい。
リファレンス読んで解らないなら、ここで説明しても理解できないだろうし。

553 名前:551:2006/05/03(水) 22:06:15
スマン自己解決……というか「出来ない」ってのが分かった。

>>552
> 全然わかってないってことじゃんw
> まあとりあえずリファレンスでも読んでこい。
説明足らなかった。ゴメン。
サンプルとしてMSDNのJumpStart for Creating a SAX2のVB版とC++版が有ったんだが、IVBSAXContentHandler(ISAXContentHandler)継承(VBはImplements)したクラスをSAXXMLReaderのcontentHandler(putContenthandler())に渡してたのよ。
これWSHでどうやるのかな、と。
勝手に実装したクラス作って渡してみても『型が違う』って怒られるし。

調べてみたら『出来ない』って。しょうがない、DOMでやるか。


554 名前:デフォルトの名無しさん:2006/05/08(月) 02:46:20
夜更けですみません。
WindowsのVersionを調べるのってWSHから可能でしょうか?


555 名前:デフォルトの名無しさん:2006/05/08(月) 05:52:08
>>554
Versionつっても具体的にどーゆーVersion?
95/98/Me/NT/2000/XP/2003 みたいな区別を付けたいの?
ビルド番号やSPを知りたいの?
英語版/日本語版/International版みたいな違いを知りたいの?
質問する時はもっと明確質問してくれないと、困るよ君ぃ。

556 名前:デフォルトの名無しさん:2006/05/08(月) 08:25:04
「困るよ君ぃ」 と言いたいだけなんちゃうかと

557 名前:デフォルトの名無しさん:2006/05/08(月) 10:34:05
「Version」は95/98/Me/NT/2000/XP/2003 みたいな区別
ビルド番号は「ビルド番号」
SPは「サービスパック適用状態」
英語版/日本語版/International版みたいな違いは「言語区分」

558 名前:デフォルトの名無しさん:2006/05/08(月) 10:49:20
で?

559 名前:デフォルトの名無しさん:2006/05/08(月) 10:53:03
「困るよ君ぃ」

560 名前:デフォルトの名無しさん:2006/05/08(月) 14:08:02
違いが判別できればええんとちゃう?

561 名前:デフォルトの名無しさん:2006/05/08(月) 14:49:51
ていうか、100や200も回答があるわけじゃないんだし
たかが、3つや4つなら、それぞれの回答を書いてやれば良いじゃんw

漏れは調べないと分かんないから、そこまでしてやる気はないが

562 名前:554:2006/05/08(月) 18:59:29
すみません。Yahoo検索 - Windows*バージョン*取得で方針が見えてきました。
ExcelVBAからなら、Windowsのバージョンを取得できるみたいなので、
Excelオブジェクトを宣言して使えばとりあえず対応できそうです。

9x系かNT系かで、内部処理を変えたかったもので…。

ちなみに今までは、If WScript.CreateObject("WScript.Network").ComputerName = "〜" Then
で、根気よく対応していました。

わざわざMeに、Excelインストールするのが面倒なので、IEオブジェクトでも、似たのが
なかったか探してみます。

レスありがとうございました。





563 名前:デフォルトの名無しさん:2006/05/08(月) 19:04:06
>>562
> 9x系かNT系かで、内部処理を変えたかったもので…。

そのくらいなら環境変数 ComSpec で判断すればいいと思うけど。

564 名前:デフォルトの名無しさん:2006/05/12(金) 23:23:58
>>529
糞ソフトの宣伝乙

565 名前:562:2006/05/21(日) 11:16:51
>>563
WScript.CreateObject("WScript.Shell").Environment.Item("COMSPEC")
できました。ありがとうございましたー

566 名前:デフォルトの名無しさん:2006/06/02(金) 00:39:07
wshを最近始めた者です。

CreateObject("Scripting.FileSystemObject").GetFolder(パス).SubFolders
からFor Each 文を使用してサブフォルダのリストを取得出来ますが
For Eachを使わずに・・SubFolders.Item(1)のような形で同じようにパスの
取得をすることは可能でしょうか?
ググってみましたが、For Eachの方法しか見つかりませんでした。


567 名前:デフォルトの名無しさん:2006/06/02(金) 01:15:05
コレクションと配列は似ているようで微妙に違うからなぁ
一旦配列に入れてみるとかしか思いつかないや

568 名前:デフォルトの名無しさん:2006/06/02(金) 01:19:22
ちょっと調べたところ、Foldersコレクションのキーはフォルダ名になってる模様

569 名前:566:2006/06/02(金) 01:35:49
ありがとうございます。

自分も検索して
Folders.Item("MyFolder")のようにフォルダ名を入れれば取得出来ることは確認出来た
のですが・・フォルダ名ではなく整数型で取得は出来ないものかと思っています。


570 名前:デフォルトの名無しさん:2006/06/02(金) 01:43:44
できないよ。
やりたいのなら配列に入れ直せ。

571 名前:566:2006/06/02(金) 01:52:14
そうですか
ありがとうございました。

572 名前:デフォルトの名無しさん:2006/06/02(金) 18:33:56
vbsを勉強したいのですが、みんな何の本で勉強しました?
本屋に行ってもイマイチ良さそうなのが無いので

573 名前:デフォルトの名無しさん:2006/06/02(金) 18:42:54
今更 VBS と言うのも……

574 名前:デフォルトの名無しさん:2006/06/02(金) 19:46:55
全部ネットで勉強できた

575 名前:デフォルトの名無しさん:2006/06/02(金) 20:45:06
>>572
vbs ⊂ WSH … って考えたら (ここ "WSH(・∀・)スレッド! " だし)
http://pc8.2ch.net/test/read.cgi/win/1126543183/2-5
大概は
ttp://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe
ttp://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
あたりなのかな?

WSHを始めよう − @IT
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh01/cformwsh01_01.html
なんてのも始まったネ。

576 名前:デフォルトの名無しさん:2006/06/03(土) 12:12:47
>>572
おれはここから始めたよ

@IT:運用 Windows管理者のためのWindows Script Host入門
http://www.atmarkit.co.jp/fwin2k/operation/wsh01/wsh01_01.html

577 名前:デフォルトの名無しさん:2006/06/04(日) 13:06:02
>>575-576
糞サイトの宣伝乙

578 名前:デフォルトの名無しさん:2006/06/04(日) 13:49:16
>>577
内容が理解できない = 糞サイト?

579 名前:デフォルトの名無しさん:2006/06/04(日) 15:00:24
@ITが糞サイトとか言ってる香具師がいるぞ

580 名前:デフォルトの名無しさん:2006/06/04(日) 22:51:43
糞サイトだろ?

581 名前:デフォルトの名無しさん:2006/06/04(日) 23:32:43
@ITは結構他では扱っていない内容もカバーしてるから
俺もあそこの情報は重宝してるが、質については弁護できんな。

582 名前:572:2006/06/05(月) 09:35:25
レス遅れましたが有難うございました。
紹介して頂いたページで勉強してみます

583 名前:デフォルトの名無しさん:2006/06/16(金) 16:38:03
WSHで同じワークグループ内のコンピュータ名を
取得する方法はないのでしょうか?

具体的には、ネットワーク内のあるコンピュータの起動状況を確認して
起動していればネットワークドライブに接続するスクリプトを書きたいのですが・・・

584 名前:デフォルトの名無しさん:2006/06/16(金) 17:33:58
> WSHで同じワークグループ内のコンピュータ名を
> 取得する方法はないのでしょうか?
あるよ。

つ Google

585 名前:デフォルトの名無しさん:2006/06/16(金) 18:49:26
ググっても見つからなかったのですがorz

とりあえずcscriptの方で動かしてます。

586 名前:デフォルトの名無しさん:2006/06/17(土) 10:35:27
http://www.codecomments.com/archive300-2004-7-236167.html

587 名前:デフォルトの名無しさん:2006/06/17(土) 11:53:06

set wbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}")

この行のあるプログラムをcscriptで実行しようとしたとき、(実行者はAdministrator)
Server 2003 では問題出ないのですが、2000 Server 上では


(ソースファイル名)(上の行の番号) SWbemServices: アクセスは拒否されました


というメッセージが出て止まってしまいます。
wbemServices や impersonate で検索してみたのですが、

impersonate が権限を取得出来る可能性が高いので推奨

というくらいのことしか分かりませんでした。

何か解決策をご存知の方はいらっしゃいますでしょうか?



588 名前:デフォルトの名無しさん:2006/06/17(土) 12:02:58
自己レスです

検索してたら

「SeSecurityPrivilegeが割り当てられている必要があります」
「ない場合は、"Access Denied"がアプリケーションに返されます」

という記述が見つかりました
もう少し調べてうまくいったらご報告します



589 名前:デフォルトの名無しさん:2006/06/17(土) 18:12:41
Aフォルダの中にあるファイルとフォルダを全て削除する。
ただしBフォルダ以外。

上記の操作をWSHで可能ですか?
色々調べたんですが、一時的にBフォルダを別の場所に移動
してから一括削除する方法位しか思いつかなくて・・・

590 名前:デフォルトの名無しさん:2006/06/17(土) 18:32:51
>>586
さんくす

591 名前:デフォルトの名無しさん:2006/06/17(土) 18:54:56
>>589
Aフォルダ自体に削除処理を掛けることばかり考えずに
Aフォルダ以下のSubFolders、Filesをループで削除する処理を作って
そのループの中でBフォルダの名前に一致した場合は削除処理を行わないようにすれば良い。

つーか
> 時的にBフォルダを別の場所に移動
> してから一括削除する方法
に何か問題でもあるの?
別パーティションに移動するとかなら移動処理に時間が掛かるだろうが
Bフォルダのパスを2回書き換えるだけで実際には移動せずに済むんだから、
そういう不都合も無いでしょ。いったい何が不満なの?

592 名前:デフォルトの名無しさん:2006/06/17(土) 19:28:36
FAT32なのかもしれん

593 名前:デフォルトの名無しさん:2006/06/17(土) 19:33:13
Win2000をサービスパックとか何も入れずに使っているのですが、
何やらXPだとかサービスパックだとかの場合、ADODBが殺されて使えない、
というような話を聞いたのですが本当なのでしょうか?

ADODBを使ったスクリプトを他人のコンピュータ(特にXP)でも動作させたいのですが、どういう状況なのか教えてくださいませ。

594 名前:デフォルトの名無しさん:2006/06/17(土) 19:42:58
「Win2000をサービスパックとか何も入れずに」

しね

595 名前:デフォルトの名無しさん:2006/06/17(土) 23:17:29
Dim SettingFile1
Set SettingFile1 = 〜
Dim SettingFile2
Set SettingFile2 = 〜
みたいなのを動的に増やしていきたいのですが、
どうすればいいのでしょうか?

596 名前:デフォルトの名無しさん:2006/06/17(土) 23:24:41
配列にする

597 名前:589:2006/06/18(日) 04:42:54
>>591
Bフォルダの容量が大きいので、移動は避けたかったんですよ。
で、教えて頂いた通りにやってみるとできました!

objStartFolder =

ShowSubfolders objFSO.GetFolder(objStartFolder)

Sub ShowSubFolders(Folder)

For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
ShowSubFolders Subfolder
If not objFolder = objStartFolder & "Bフォルダ" Then
objFSO.DeleteFolder(objFolder),true
End If
Next

End Sub

598 名前:デフォルトの名無しさん:2006/06/18(日) 19:49:21
Windows板のスレから移動してきました。質問させてください。

変数に格納されている文字列を元にした名前を持つグローバル関数を定義したいのですが
WSH ではグローバル変数・関数が集まっているオブジェクトって存在するのでしょうか?
(ブラウザでのJavaScript実行環境における window にあたるオブジェクト)

具体的には InternetExplorer のイベントを監視する為に
function observe(s, f) { window["InternetExplorer_On" + s] = f; }
のようなコードを書きたいのです。

Global オブジェクトかな、とも思ったのですが、うちの環境(Windows XP sp2)では
参照しようとするとエラーがでてしまいます。なんで…(´・ω・)
eval を使う手も考えましたが、実行されるのが関数の中なのでグローバルにできません…。

599 名前:デフォルトの名無しさん:2006/06/18(日) 20:11:12
マルチ乙

600 名前:598:2006/06/18(日) 20:28:20
>>599
いえ、マルチとならないよう、向こうのスレで質問を中止する旨を書き込んだのですが
まずかったのでしょうか…。こちらのスレに移動する、という事も書きました。

601 名前:デフォルトの名無しさん:2006/06/18(日) 21:42:38
>>598
代用法はあるが、そのものの方法は無い。

602 名前:デフォルトの名無しさん:2006/06/19(月) 19:03:27
開発環境はメモ帳ですか?

603 名前:デフォルトの名無しさん:2006/06/19(月) 20:36:15
VS2005

604 名前:デフォルトの名無しさん:2006/06/19(月) 23:44:16
おいらはメモ帳派

605 名前:デフォルトの名無しさん:2006/06/20(火) 02:26:33
インターネット上のファイル(http://....../xxx.pdf)のタイムスタンプを調べて、
更新されていればダウンロードし、「ファイル名+日付.pdf」リネームする
するスクリプトを作りたいんですが、他の部分はともかくネット上のファイルに
アクセスする方法がわからないのですが、何かよい方法はあるでしょうか?


606 名前:デフォルトの名無しさん:2006/06/20(火) 03:57:24
取りあえず HTTP で公開されてるファイルには XMLHTTP とか使う。
そもそもそのサーバが最終更新日時をヘッダに含めてくれるのか? とか。
If-Modified-Since ヘッダを使えばできるかもな。

607 名前:605:2006/06/21(水) 00:15:12
>>606
XMLHTTPでなんとかアクセスできるようにはなりましたけど、
タイムスタンプの取得がうまくいきませぬ。

If-Modified-Sinceヘッダに関しては、
ttp://www.su-jine.com/sujine_seo_if-modified-since_checker.php
こんなサイト発見して、目的のサーバが対応してるところまでは
調べれましたが、問題はそのヘッダをどうやって送るかが、わかりませぬ。

もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。
あればできそうなのに・・・。HTTPの仕様に関する資料とか探せばいいのかな?

とにかく助言ありがとうございました。


608 名前:デフォルトの名無しさん:2006/06/21(水) 00:56:28
last_modified = XMLHTTP.getResponseHeader("Last-Modified");

XMLHTTP.setRequestHeader("If-Modified-Since", last_modified);


> もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。

XMLHTTP ヘッダー
でググったら一発で見つかったけど・・・?

609 名前:605:2006/06/21(水) 01:08:36
ぐは!本当だ。申し訳なかとです、修行が足りませなんだ・・・。orz

おかげでなんとか出来そうです。
ありがとうございました。

610 名前:デフォルトの名無しさん:2006/06/24(土) 15:49:45
スクリプトだと実行できてEXEだと実行できないような状態ってありますか?

611 名前:デフォルトの名無しさん:2006/06/24(土) 15:59:39
状態? なんの?

612 名前:デフォルトの名無しさん:2006/06/24(土) 18:15:18
>>594
教えてくれたら死にます。なので教えて下さい。

原因はおそらくADODBがIObjectSafetyをサポートしているのでIEから使えてしまう事が原因だと思いますが、これの対策としては

1. ADODBをIObjectSafety非サポートに変更
2. ADODBのレジストリ登録を削除
3. ADODBのモジュール自体を削除

のいずれかだと思います。MSが取った対策はどれですか?

#・・・しかしスクリプトな人達って疲れる・・・(^^;)

613 名前:デフォルトの名無しさん:2006/06/24(土) 18:17:56
スクリプトもexeの実行だよ。
関連付け設定していれば、スクリプトファイル(コードを書いたファイル)を実行してるように感じるかもしれないが、
その実、Wscript.exeを実行して、スクリプトファイルを渡すという処理が行われている。
exeが実行できなかったら、.vbsや.jsを実行(ダブルクリック、Enter)したって何も起きない。

614 名前:デフォルトの名無しさん:2006/06/24(土) 18:28:19
> 教えてくれたら死にます。なので教えて下さい。
教えたら死ぬという確かな証拠と、
あなたの死後、死んだことを証明するものを提示する手段を明らかにしてください。

>教えてくれたら死にます。
という前提があって
> なので教えて下さい。
という欲求があるのだから、当然前提は明確にしないとね。

615 名前:デフォルトの名無しさん:2006/06/24(土) 21:59:11
>>614
お前みたいなレスは一番(゚听)イラネ

616 名前:デフォルトの名無しさん:2006/06/24(土) 22:02:14
>>615
オマエモナー

617 名前:デフォルトの名無しさん:2006/06/24(土) 22:11:49
>>615
ID出ない板は便利だね( ̄ー ̄)ニヤリッ

618 名前:605:2006/06/25(日) 00:26:49
遅レスでスマソ。
とりあえず、ファイルの更新日時をチェックする部分はできますた。

url = "http://....../xxx.pdf"
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Call objHTTP.Open("GET",Url,False)
objHTTP.send
Last_Modified = objHTTP.getResponseHeader("Last-Modified")

   s = split(Last_Modified)
   strWeekday = s(0)
   strDay = s(1)
   strMonth = s(2)
   strYear = s(3)
   strTime = s(4)

こんな感じで更新日時はゲットできますた。
教えていただいた方にまずは感謝です。
アリガト!(´▽`)

あとはダウンロードするだけですが、
HTMLとかテキストデータをDLする方法はいくつか見かけたのですが、
バイナリファイルのダウンロードの方法はどんな方法があるのでしょうか?

619 名前:デフォルトの名無しさん:2006/06/25(日) 00:32:47
おいおい、それくらいちょっと調べればすぐ出てくるだろ?
てか XMLHTTP だけでも(アップロードだが)バイナリデータのがトップだ。

620 名前:デフォルトの名無しさん:2006/06/25(日) 00:58:49
普通に取ってデコードする

621 名前:605:2006/06/25(日) 01:22:52
>>619
XMLHTTPだけでも〜〜〜
って、ことはXMLHTTPを使えばできるってことですよね?
うーん、.ResponseTextメソッドとか.ResponseBodyメソッドとかを
使うってことですか?

>>620
普通に取ってデコードするってことは、
上記のような方法で取ってきたデータを
なんらかのデコード処理をしたあとでファイルに書き出すということでしょうか?


レスありがとうございました。
まだまだ検索が甘かったようなので、もう一度探しに行っていきます。

622 名前:デフォルトの名無しさん:2006/06/25(日) 23:02:37
>>621
バイナリはADODB.Streamで保存する
別にデコードはいらんだろ

623 名前:デフォルトの名無しさん:2006/06/26(月) 00:05:45
ADODB.Stream使わないで保存できないの?

624 名前:605:2006/06/26(月) 00:28:41
ADOBO.Streemで検索を掛けていたら、
ここにそのまんまな解決方法が載っていました。
http://www.roy.hi-ho.ne.jp/mutaguchi/bbs/list80.shtml

ためしにサンプル通りに作ってみたところ見事ダウンロードできました。うはっ!!

もうあまりにまんまでなぜ見つけられなかったか、
自分の不甲斐なさに涙が出てきました。

レスして頂いた方々へ→本当にありがとうございました。m(__)m

625 名前:612:2006/07/01(土) 20:28:54
私は以下の掲示板で活動してるAK○という者なんですが、教えていただけないでしょうか?

ttp://www.roy.hi-ho.ne.jp/mutaguchi/bbs/index.shtml

別のスレや掲示板で聞き直してもいいのですが、たくさんそういう事をすると検索の時に引っ掛かって邪魔だ、とよく言われるので。

626 名前:デフォルトの名無しさん:2006/07/10(月) 01:40:01
>625
アロンのトコじゃねぇか、ソコの住人の方が詳しいんじゃね?

627 名前:デフォルトの名無しさん:2006/07/29(土) 21:16:12
>>625
糞掲示板の宣伝乙

628 名前:デフォルトの名無しさん:2006/08/02(水) 19:47:22
JScript の Array オブジェクトを、VBArray に変換する方法を教えてください


629 名前:628:2006/08/02(水) 20:12:57
自己解決。
DynWrap Helper にまんまそのとおりのコードがありました。


630 名前:デフォルトの名無しさん:2006/08/15(火) 11:45:30
Microsoft.XMLDOMを利用してxmlファイルを作る場合なのですが
ただ単にappendChildで追加していってSaveすると
<root><item>a</item><item>b</item></root>
というファイルが出来るのですが、これを改行やインデントを入れて
<root>
  <item>a</item>
  <item>b</item>
</root>
とするには、何をすれば良いのですか?
まさか自前で文字列解析するなんてことはないだろうから
XMLDOMのプロパティなりなんなりでこの辺の設定が出来ると思うのですが
具体的にどうすれば良いのか解りません。ご教示お願いします。

631 名前:デフォルトの名無しさん:2006/08/15(火) 15:01:49
>>630
改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。
どうしても整形したいならXSLTで変換かなぁ。勘だけど。

632 名前:デフォルトの名無しさん:2006/08/15(火) 19:37:59
>>631も言ってるようにそこはデータだから勝手に整形しちゃいかん。
やるんだったらこう。
<root
    ><item>a</item
    ><item>b</item
></root>

633 名前:デフォルトの名無しさん:2006/08/15(火) 20:00:52
>>632
それは完全に間違い。

634 名前:デフォルトの名無しさん:2006/08/15(火) 20:52:52
>>633
脊髄反射するな。

635 名前:デフォルトの名無しさん:2006/08/15(火) 23:05:23
>>630
それらしきプロパティはあって、使えるかと思って以前試したけど
それほど簡単ではなかった。

DOMDocument には PreserveWhitespace というプロパティがあって、これが
falseのとき、ドキュメント内の空白は保存時に自動的にインデントされる仕様。

ところが、インデントする対象が "ドキュメント内の空白" なため、
以下のような既存文書を読んだ場合、
<root>
  <item>a</item>
</root>
<root>と<item>の間、</item>と</root>の間は空白扱いなので、
書き込むときも(空白=>インデント変換によって)同様にインデントされるが、
新規に
<root><item>a</item></root>
というデータを作成してsaveしても途中に空白がないので、保存しても
そのままではインデントしてくれない。

仕方がないので、要素をルートから再帰的にたどってタグとタグの間に
テキスト要素がなければ問答無用で1つの空白を挿入するという補助関数
を作って保存前に呼んでた。


636 名前:630:2006/08/16(水) 09:50:58
>>631
> 改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。
> そこはデータだから勝手に整形しちゃいかん。
それは違うと思います。確かに改行や空白はテキスト要素として扱われます。
だから<root>をテキストノードとして扱い、余計な改行や空白が入っては拙い場合は、前者の書き方が正しいと言えますが
<root>がエレメントノードであり、テキスト要素を利用しない場合は、テキスト要素に何が入ろうと間違いも問題もありません。
つまり改行や空白を入れれば、それらもテキスト要素として取得されるという仕様なだけの話であり、
テキスト要素に改行や空白を使ってはいけないなんてことはないので、改行や空白が取得されては困る場合だけ避ければ良いことだと思います。
少なくとも>>630後者の記述は、仕様に沿った正しいXMLファイルとして扱えています。

>>633
間違いでは無いと思いますよ。
>>632>>630後者も、どちらもXMLの仕様には違反していません。
ただ条件付きで>>630後者は、<root>のテキスト要素に改行や空白は入っては拙い場合は不都合があるというだけです。

>>635
ありがとうございます。理想通りに改行&インデントされました。
やはりこういう記述を正式にサポートしてたのですね。


637 名前:デフォルトの名無しさん:2006/08/16(水) 10:54:42
EXEにできない時点で糞

638 名前:デフォルトの名無しさん:2006/08/16(水) 11:06:57
何処の誤爆だ?

639 名前:デフォルトの名無しさん:2006/08/17(木) 05:42:20
EXEにできないヨネ?

640 名前:デフォルトの名無しさん:2006/08/17(木) 11:33:48
なぜEXEにできないと糞なの?
Windowsならどんな環境でも大体は実行できるのに。
コード隠蔽したいってこと?

641 名前:デフォルトの名無しさん:2006/08/17(木) 17:27:39
>>639
http://www.vector.co.jp/soft/win95/prog/se277804.html

642 名前:デフォルトの名無しさん:2006/08/17(木) 17:36:51
できるのかーーー

普通のウインドウも作れる?

643 名前:デフォルトの名無しさん:2006/08/17(木) 17:59:22
HTA使えば余裕

644 名前:デフォルトの名無しさん:2006/08/17(木) 19:42:43
WSHの限界は何処ですか?

645 名前:デフォルトの名無しさん:2006/08/17(木) 19:51:16
COMの限界

646 名前:デフォルトの名無しさん:2006/08/17(木) 19:53:30
exeにしたければJScript.NETでも使ったほうがいいような気もする
コンパイラ jsc.exe はバージョンの新しい順に
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705
あたりにある。
とは行ってもWSHのJScriptはほとんどそのままではコンパイルできないね。

647 名前:デフォルトの名無しさん:2006/08/17(木) 19:56:34
構造体はありますか?

648 名前:デフォルトの名無しさん:2006/08/17(木) 20:04:42
クラスならあります。C#等で定義した構造体は使える。

649 名前:デフォルトの名無しさん:2006/08/21(月) 20:42:48
多分スレ違いだけど適当な場所が無いので教えてください。m(__)m
Aというコンピュータのa.batからBのコンピュータのb.vbsを起動させたい。
b.vbsはあくまでもB自身で起動させたいというのがポイントです。
(Bのメモリ空間で実行したい)
どんなコマンドを書けば実行できますか?
ヒントでもいいから教えてもらえると助かります。

650 名前:デフォルトの名無しさん:2006/08/21(月) 20:46:58
>>649
> どんなコマンドを書けば実行できますか?
普通に。


651 名前:デフォルトの名無しさん:2006/08/21(月) 20:48:37
'普通に。' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

652 名前:デフォルトの名無しさん:2006/08/21(月) 23:02:06
>>649
WshControllerというのがあるらしい。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsconRunningScriptsRemotelyRunningScriptOverThereFromHere.asp
とか

653 名前:デフォルトの名無しさん:2006/08/21(月) 23:20:49
>>652
どうもです。m(__)m
WshControllerでぐぐったらいろいろと事例がでてきました。
研究してみます。

654 名前:デフォルトの名無しさん:2006/08/22(火) 06:40:04
先輩、
WSHでデスクトップのアイコンの座標を取得できますか?

655 名前:デフォルトの名無しさん:2006/08/22(火) 20:11:55
>>654
WScript.exeの機能だけでは出来ませんが、
そういう機能を有するCOMを作れば取得できます。
後のことは、あなたがそのCOMを作るのに使う言語のスレでどうぞ。

COM作れないなら、出来ないってことで諦めるか、勉強して作れるようになりましょう。

656 名前:デフォルトの名無しさん:2006/08/22(火) 23:45:56
COM作れば、そりゃ何でも出来るわな。

657 名前:デフォルトの名無しさん:2006/08/23(水) 00:12:11
COM作れば、億万長者にもなれますか?

658 名前:デフォルトの名無しさん:2006/08/23(水) 06:08:54
COMMAND.COMをつくったゲイツくんはおかねもちになりました。

659 名前:デフォルトの名無しさん:2006/08/24(木) 22:52:51
Excel.Run "Macro1"

660 名前:デフォルトの名無しさん:2006/08/26(土) 19:08:32
>>639
>>641

でも、一旦EXE化してしまうと、そのファイルを直接メモ帳で修正…って作業が、不可能になる。
使いながら、どんどんVersion UPさせて行くようなスクリプトがWSH/VBSは、特に多いから、メンテ上不利かも。

という事で、VBを持っていれば、Shell()関数で、同じフォルダに在るAutoexec.vbs を自動で読みに行くEXEを
作ってしまうと良い感じです。呼び出す時はEXEでありながら、なおかつ、メンテもしやすい環境になる。

Autoexec.vbs には、VBで作ったEXEファイルから、Drag&Dropしたファイルのフルパス情報を渡すようにしとけば、
ファイルとEXEの関連付け設定をした場合にも、実際には、VBS内で定義したアプリケーションで開いてくれる。

テキストファイルをランダムで、メモ帳/EmEditor/TeraPad/秀丸 に送る環境とかも、簡単にできるし、メンテも楽です。


そう言えば、昔、メモ帳トラッパー.exe ってアプリがあったのを思い出した…




661 名前:デフォルトの名無しさん:2006/08/26(土) 19:38:47
>>660
ごめん、そこまでしてEXE化する理由が本当にわかんない。
なぜスクリプトファイルを直に使わないの?

662 名前:デフォルトの名無しさん:2006/08/26(土) 20:25:11
>>661
VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。
>>660は、そういう問題に関しての、回避例として簡単&便利かと思って。

VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。



663 名前:デフォルトの名無しさん:2006/08/26(土) 20:31:45
関連付けは普通にできる。

664 名前:デフォルトの名無しさん:2006/08/26(土) 20:52:59
> VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。
いいえ出来ますよ。君が無知なのはどうでもいいが、勝手に出来ないことにしないように。

> そういう問題に関しての、回避例として簡単&便利かと思って。
わざわざスクリプトのトラッパーなんか作るより、関連付けの仕様を覚えて使いこなす方が
10倍簡単で100倍便利で1000倍クールです。

> VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。
それはスクリプトとして使いこなしてる人が言うと納得できる台詞だが、君レベルの人が言うと滑稽なだけ。

665 名前:デフォルトの名無しさん:2006/08/26(土) 21:10:52
>>663-664 そうは言っても、
Win2K SP4だけど、
ファイルタイプの編集から、アクションを実行するアプリケーションで、
X:\P114.vbs "%1"を入れても、

指定されたアプリケーションが見つかりませんでした。
ファイル名とパスが正しいかどうか確かめてください。

なんて言われるだけだし。
自分の持ってる知識を組合せて実現して行くのが、その人にとっての一番の
解法だと思う。別に俺の方法が間違ってるってわけでもないもんねー

知ってるか知らないかだけで、そんなに居丈高になれる奴のほうが、気がおかしいんじゃないの?


とは言え、ちょっと恥ずかしいから、ググってくるか…
次の話進んでて構わないよ。



666 名前:デフォルトの名無しさん:2006/08/26(土) 21:25:24
>>665
X:\P114.vbs は非実行ファイルだ(アプリケーションでない)から
%SystemRoot%\System32\WScript.exe X:\P114.vbs "%1" %*
のようにしなければならない。

667 名前:デフォルトの名無しさん:2006/08/26(土) 22:05:20
スクリプトファイルを動かしてるインタプリタの存在も知らなかったのか

668 名前:デフォルトの名無しさん:2006/08/26(土) 22:36:15
>>666
めっちゃレスが早いんですが、もしかして、上の人(>>663-664)と同一人物だったりしますか?
人気スレでもないのに、そんなに人が居るわけもないだろうし…

ありがとうございます。検索中&確認中中だったのですが、まだ解法が見つかってなかったので助かりました。
無事動作を確認いたしました。

基本を忘れていました。



>>667 また、そーゆー事を…)



669 名前:デフォルトの名無しさん:2006/09/25(月) 12:05:56
VBScriptってVBなんだから
With Wscript
.echo "hell world!"
End with

っていうのがなんで出来ないのか?と思ってやってみたら出来た。



670 名前:デフォルトの名無しさん:2006/09/25(月) 13:27:37
そういうのはチラシの裏に書け

671 名前:デフォルトの名無しさん:2006/09/25(月) 17:26:19
WshShell,RUNの第二、第三パラメーターのデフォルト値って いくつっすか?
http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_02.html
第三パラメータのデフォルトはFALSEっぽいんだけど、第二がよくわからん。0?


672 名前:デフォルトの名無しさん:2006/09/25(月) 20:31:34
まあ普通に考えると 5 (SW_SHOW) だと思うよ

673 名前:デフォルトの名無しさん:2006/09/26(火) 00:16:52
今ではまったく使い物にならなくなった第1版が大幅改訂するらしい


-----------------------------------------------------------

       『WSHクイックリファレンス 第2版』
                  
             羽山 博 著
            ISBN4-87311-309-1
             定価3,990円

■ロングセラー書の改訂版。最新のWSH 5.6対応に対応して大幅改訂!■

WSH(Windowsスクリプトホスト)を使えば、従来のWindowsバッチファイル
よりも複雑なバッチ処理が可能です。OSレベルで管理されているデータにも
アクセスできるので、システム管理やネットワーク管理にも重宝します。
本書は、WSHの本格的な活用に役立つリファレンスです。Windowsスクリプト
ホストの初歩から応用までを豊富なサンプルとともにていねいに説明します。
最新のWSH5.6対応。

============================================================

674 名前:デフォルトの名無しさん:2006/09/27(水) 12:41:25
HSPで中空扇形を書いて中も塗りつぶしたいのですが、どうすりゃいいっすか?


675 名前:デフォルトの名無しさん:2006/09/27(水) 19:47:33
いろいろなサイトを閲覧して、ローカルPCに溜まったCookieファイルを、VBScriptで定期的に自動消去する処理は、どうすれば良いでしょうか?

ttp://www.happy2-island.com/vbs/cafe02/capter00210.shtml
ファイルの削除を参考にしてみましたが、Cookieファイルの指定がうまくできませんでした。


676 名前:デフォルトの名無しさん:2006/09/27(水) 19:53:47
>675
ブラウザで設定する方が早くね?

677 名前:デフォルトの名無しさん:2006/09/27(水) 19:54:12
うまくできないとは?

678 名前:デフォルトの名無しさん:2006/09/27(水) 22:23:42
別にWSHでやらなくても、既存のソフトが山ほどあるような。
それをタスクスケジューラに登録すればいいじゃない。

679 名前:デフォルトの名無しさん:2006/09/28(木) 03:44:07
http://pc8.2ch.net/test/read.cgi/hp/1018858947/214


680 名前:デフォルトの名無しさん:2006/10/01(日) 14:31:08
台形の面積を求めたいんだけど、

Option Explicit
Dim A, B, C, D
A = InputBox("上底 cm","値を入力してください")
B = InputBox("下底 cm","値を入力してください")
C = InputBox("高さ cm","値を入力してください")
D = (A + B) * C / 2
MsgBox D & " 平方cm"

これだと、(A + B) のところが2桁の数字の左数字と右数字という文字の関係になってしまい、
計算式として認識してくれないんだが、A + B をどう囲えばいい?

681 名前:デフォルトの名無しさん:2006/10/01(日) 14:42:28
CInt とか CCur とか

682 名前:デフォルトの名無しさん:2006/10/01(日) 14:44:38
>>680
A,B,CそれぞれCDbl関数で括れば?

683 名前:デフォルトの名無しさん:2006/10/01(日) 15:01:32
A か B どちらか一方を数値にすればおk

684 名前:デフォルトの名無しさん:2006/10/01(日) 15:20:22
A = CDbl(InputBox("上底 cm","値を入力してください"))

こうすることで、解決できました。
ありがd

685 名前:デフォルトの名無しさん:2006/10/01(日) 23:27:59
例外処理きちんとしようぜ。
IsNumericっていう便利な関数あるんだから。

686 名前:デフォルトの名無しさん:2006/10/02(月) 10:17:57
A=A+0
っていうのでどうでしょ?


687 名前:デフォルトの名無しさん:2006/10/02(月) 10:43:37
洒落で言ってるの?

688 名前:デフォルトの名無しさん:2006/10/02(月) 12:34:41
>>687
どれがしゃれ?


689 名前:デフォルトの名無しさん:2006/10/02(月) 13:10:26
いや、君に聞いてるんだけど。

690 名前:デフォルトの名無しさん:2006/10/02(月) 19:40:26
"って、chr(34)で入れるしかないですか?
"""とか"^""とか"\""とか、だめ?


691 名前:デフォルトの名無しさん:2006/10/02(月) 19:47:59
WScript.Echo('"');

692 名前:デフォルトの名無しさん:2006/10/02(月) 22:06:20
>>690
VBScript の場合は、Chr() 関数を使うしかない。
JScript の場合は、シングルクォーテーションで囲っても良いし
エスケープシーケンスを使って \" と書いても良い。

"\""って発想が出てくる喪前に JScript 。

693 名前:デフォルトの名無しさん:2006/10/02(月) 22:11:47
""""

1 文字列囲い開始
2 ダブルクォーテイションのエスケープ文字
3 ダブルクォーテイション
4 文字列囲い閉じ

694 名前:680:2006/10/03(火) 08:39:28
>>685 IsNumericの存在を始めてしったが、使いこなせないのが鬱 Or=z__
修行に出るわ

695 名前:690:2006/10/03(火) 10:38:54
>>693
さんくす。うまくいきました。
それ、どっかにドキュメントがありますか?


696 名前:デフォルトの名無しさん:2006/10/03(火) 18:34:07
ソースだせやゴルア!ってこと?

697 名前:690:2006/10/03(火) 19:16:06
>>696
そんな言い方はしてないw


698 名前:デフォルトの名無しさん:2006/10/03(火) 19:40:06
>>690
Visual Basic における文字列の基本
ttp://msdn2.microsoft.com/ja-JP/library/ms234766.aspx


699 名前:デフォルトの名無しさん:2006/10/04(水) 08:38:01
SeraphyScriptTools を使って、GUI画面作っているのですが…
http://www.vector.co.jp/soft/win95/prog/se177026.html

CommonDialogオブジェクトの
MultiOpenFileDialog
メソッドで配列を取得するんだけどVBのVariant配列が帰ってくるんです。

それでこれをJScript上で取得したいんだけど、方法を知っている方いらっしゃらないでしょうか?



700 名前:デフォルトの名無しさん:2006/10/04(水) 09:38:03
>>699
ttp://hp.vector.co.jp/authors/VA017626/


701 名前:690:2006/10/04(水) 10:35:54
>>698
だんけ


702 名前:デフォルトの名無しさん:2006/10/04(水) 16:02:23
http://d.hatena.ne.jp/xAloe/20061001


703 名前:デフォルトの名無しさん:2006/10/04(水) 17:09:48
>>699
varName = new VBArray(safeArray)


704 名前:699:2006/10/04(水) 20:24:45
>703
サンキュ! 解決した!

705 名前:デフォルトの名無しさん:2006/10/04(水) 23:31:31
初心者です。初めて質問します。C#からWshを使おうと思っています。

現在、既に開かれているIEのテキストを取得しようと試みています。
そのため、IEのWindowのIEオブジェクトを取得しようと
思っているのですが、その取得方法が分かりません。

Set Shell = Wscript.CreateObject("Shell.Application");
//既に開かれているWindowからIEを探す処理

//IEオブジェクトからテキストを抜き出す処理
DocumentプロパティからIHTMLDocumentを取得するとよい??

大体このような流れだと思うのですが、詳細が分かりません。
どなたかご教授願います。

ちなみにIE6.0.0系を使おうと思っています。

706 名前:デフォルトの名無しさん:2006/10/04(水) 23:55:48
>>705
つSystem.Runtime.InteropServices.Marshal.GetActiveObject
流れはおおよそ間違っていないが、WSHは全く関係しない。

707 名前:デフォルトの名無しさん:2006/10/05(木) 00:08:36
>706
素早い回答、真に有難う御座います。
この方法を使うとC#から直接COMオブジェクトを利用できると思ってイイですか?

708 名前:デフォルトの名無しさん:2006/10/10(火) 00:17:37
>>671
wShell.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
のintWindowStyleのデフォルトを調べてみました。

関連付けのコマンドラインに、%Sを指定すると、ここに、WindowStyleが入ります。

ダブルクリック 1
ドロップ 5
wShell.Run 1
CMD.EXE /C 1
START /MIN 7
START /MAX 3

でした。


709 名前:690:2006/10/12(木) 10:42:56
>>708
ってことは、1ですかね?どうもありがとうございまs


710 名前:デフォルトの名無しさん:2006/10/12(木) 12:23:32
10 ではないだろうか

711 名前:デフォルトの名無しさん:2006/10/13(金) 16:36:50
10じゃなくて1のようです。

712 名前:デフォルトの名無しさん:2006/10/18(水) 00:15:06
WindowsのGUIからではなくコマンドまたはスクリプトを用いて
各インターフェイスの「Microsoft ネットワーク用ファイルとプリンタ共有」
のチェックを外す事は可能でしょうか?
ローカルエリア接続が出来れば結構です。
netshやサービスのコマンドを見てみてもそれらしき、項目はありませんでした。
どなたか教えてくださいm(_ _)m

713 名前:デフォルトの名無しさん:2006/10/18(水) 02:21:10
>>712
Windows XP SP2なら
netsh firewall set service FILEANDPRINT DISABLE
とやればWindowsファイヤウォールの設定によって
同等の効果が得られそうだけど、
スクリプトでやるとしたらWMI使ったりレジストリ操作したりで面倒そう。

714 名前:デフォルトの名無しさん:2006/10/18(水) 21:17:37
>>713
ありがとうございます。
OSはWinXPSP2ですが、各インターフェイスごとというのが難しいようですね。
例えば無線LANでは有効、有線LANでは無効といった使い方をしたいんです。


715 名前:デフォルトの名無しさん:2006/10/21(土) 13:59:22
うろおぼえなのですが、マウスの右クリックと同じ動作をさせるInvokeとかなんとかっていう機能があったような。

あんまり関係ないでしょうか?

716 名前:デフォルトの名無しさん:2006/10/25(水) 01:01:48
wshでセットした変数をバッチスクリプトで使うには
environmentを使えばいいのでしたっけ?

717 名前:デフォルトの名無しさん:2006/10/25(水) 01:38:14
>>673
これってどうなの?

718 名前:デフォルトの名無しさん:2006/10/25(水) 11:10:37
全然ダメ

719 名前:デフォルトの名無しさん:2006/10/25(水) 19:49:07
sendkeysは左右のshiftとctrl(各々個別に)が使い分けられない事を知った。
Sendinputやらkeyeventやらのモノがあるらしいが、どこ見ても難しい;;

ぶっちゃけ↓だけメモ帳にいれて.vbsにすると、実行されるじゃない?
msgBOX "aaaaa"

ま、ここまで簡単でなくとも、も少し簡単な例はないですか?

720 名前:デフォルトの名無しさん:2006/10/26(木) 18:02:16
ようやくHTAの引数の読み込み方が分かった…

721 名前:デフォルトの名無しさん:2006/10/26(木) 18:03:21
シマタ誤爆。

722 名前:デフォルトの名無しさん:2006/10/26(木) 23:46:40
( ´_ゝ`)フーン

723 名前:デフォルトの名無しさん:2006/10/28(土) 21:44:40
>>720
ちなみに、WSHと同じく、Arguments で取得できたりするの?

724 名前:デフォルトの名無しさん:2006/10/28(土) 22:42:40
>>723
資料読めばわかるけど、HTA の設定をするための <HTA:APPLICATION /> タグってのがある。
これに id 属性を設定すると、設定した id を使って
スクリプト中からこのタグを表したオブジェクトにアクセスできるようになる。

<HTA:APPLICATION id="app" applicationname="MyApplication" />

こうすると、例えば JS では app.applicationName で "MyApplication" が参照できる。
んで、このオブジェクトの commandLine プロパティに起動時のコマンドライン文字列が入ってる。
調べた限りでは、引数が取得できるのはこのプロパティを通してのみで、
自動的に Arguments のように配列にわけてくれたりはしない。

725 名前:723:2006/10/29(日) 00:15:11
>>724
丁寧にありがとう。

726 名前:デフォルトの名無しさん:2006/10/29(日) 00:20:36
誤爆っていってんだから紛争地域にいってやれよ
http://pc11.2ch.net/test/read.cgi/tech/1124559962/


727 名前:デフォルトの名無しさん:2006/10/29(日) 13:09:19
いや向こうのスレからネタ拾ってきたんでしょ。
それに紛争している訳でもないし。

728 名前:デフォルトの名無しさん:2006/11/02(木) 00:18:45
外部からVBスクリプトで書かれた関数を呼び出すにはどうしたらよいでしょうか?
例として、
cscript hoge.vbs foo
(hoge.vbsのモジュール的な箇所は実行しつつもfoo関数を呼び出す)

729 名前:デフォルトの名無しさん:2006/11/02(木) 00:25:45
モジュール的な箇所にfoo関数を呼び出すコードを書く

730 名前:デフォルトの名無しさん:2006/11/02(木) 00:27:11
.vbs でなく .wsf にVBSを書くようにして
cscript hoge.wsf //job:foo
のようにする。

731 名前:デフォルトの名無しさん:2006/11/02(木) 00:46:50
コマンドラインの第1引数に少し文字列付け足して、Evalに渡す。


732 名前:デフォルトの名無しさん:2006/11/02(木) 00:49:01
>>729,730
貴重な情報ありがとうございます。
どちらの方法もよさそうなのでとりあえず両方作ってみようと思います。
ありがとうございました。

733 名前:デフォルトの名無しさん:2006/11/02(木) 00:50:37
>>731
引数を渡して内部で関数を呼び出すカンジですよね。
勉強も兼ねているので色々試してみたいと思います。
ありがとうございました。

734 名前:デフォルトの名無しさん:2006/11/02(木) 01:37:53
>>733
完成したら、さらしてね

735 名前:デフォルトの名無しさん:2006/11/03(金) 21:48:05
>>728
VBscriptハッカーズマニュアルの続編の本に、
Executeメソッド内に、他のvbsプログラム(←関数の集まりを入れておく) を実行するコードを書いておくっていう裏技を紹介してた。
これで、vbsから、別のvbs内の関数を使える。

でも、呼び出されるvbsコード内に、不要なコードが入ってると、それも実行されてしまうみたいなので、
>>730 のように、wsfとか、htaから呼び出すのが、基本みたい。




736 名前:デフォルトの名無しさん:2006/11/03(金) 21:55:39
WshShortcut オブジェクトのRelativePathってどう使うんでしょう?
設定は出来ても、参照はできず、実行もできないみたい。


737 名前:デフォルトの名無しさん:2006/11/04(土) 18:42:49
>>736
ちゃんと実装されてないのでは

738 名前:デフォルトの名無しさん:2006/11/04(土) 18:52:42
バッチファイルにJScriptを埋め込む例(※参照)。
バッチファイルの拡張子は .cmd で。

@if (0)==(0) echo off
setlocal
set me=%0
cscript.exe //nologo //e:jscript %me:.cmd=%.cmd %*
goto :eof
@end
// ここからJScript
var args = WScript.Arguments;
for (var i = 0; i < args.length; i++)
    WScript.Echo(i, args(i));


※↓
http://pc11.2ch.net/test/read.cgi/tech/1123842575/100
http://pc11.2ch.net/test/read.cgi/tech/1148485555/72

739 名前:デフォルトの名無しさん:2006/11/04(土) 19:23:08
そんな枯れた情報をいきなり書かれてもねぇw

740 名前:デフォルトの名無しさん:2006/11/04(土) 21:09:03
しかも、情報が劣化してる。変なことせずとも、
CScript.exe //NoLogo /E:JScript "%~f0"
でよい。


741 名前:デフォルトの名無しさん:2006/11/04(土) 21:14:11
あれ、//Eでなくても通るのね。訂正。
CScript.exe //NoLogo //E:JScript "%~f0"


742 名前:デフォルトの名無しさん:2006/11/04(土) 21:30:18
では、こんなのも。バッチでクリップボードを処理する例。

@ECHO OFF
FOR /F "delims=" %%0 IN ('MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') DO ECHO %%0

でも、これ、WSHじゃないな。

743 名前:デフォルトの名無しさん:2006/11/04(土) 21:45:40
FileSystemObject ObjectのGetStandardStreamって日本語版の
Windows Script V5.6 ドキュメント(Script56.CHM)には載ってないよね

744 名前:デフォルトの名無しさん:2006/11/04(土) 21:47:57
MSDNライブラリ参照


745 名前:デフォルトの名無しさん:2006/11/04(土) 21:57:22
MSDN見ても日本語では載ってないから英語版のscript56.chmでいいや

746 名前:デフォルトの名無しさん:2006/11/07(火) 02:01:01
wscript実行時に窓に表示される
バージョン情報と、〜All rights reserved の文字を
表示させないようにすることはできますか?
ご教示ください。

747 名前:746:2006/11/07(火) 02:20:21
すいません。解決しました。
//nologo ですね。

748 名前:デフォルトの名無しさん:2006/11/13(月) 02:26:09

WScript.ShellのRegWriteメソッドで、バイナリ値で「00 00 00 00」を書き込む方法を教えてください。
.regに書き出して結合するとかreg.exeやWMIを使うとかではなくRegWriteでの方法です。
WinXP/WSH5.6


749 名前:デフォルトの名無しさん:2006/11/13(月) 09:10:43
>>748
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\company\\application\\bin_value", 0, "REG_BINARY");


750 名前:748:2006/11/13(月) 17:49:22

>>749
回答ありがとうございます。しかし、それだと「00 00」になるんです。
そして第二引数をCByte(0)にすると、「00」になります。
この板の方なら、同じ0でも、「00 00」と「00 00 00 00」の意味が違うことは
解ってると思いますが、望む結果は「00 00 00 00」なんです。

WMIだとArray(0,0,0,0)を書き込むことで「00 00 00 00」になるんですが
これと同じ結果をRegWriteで行いたいと言うことです。
引き続きよろしくお願い合います。

751 名前:デフォルトの名無しさん:2006/11/13(月) 19:20:09
>>750
やってみれば簡単に理解できると思いますがJScriptなら 4バイトになるぞ。

しかし、CByte()を知ってるのにCLng()を思いつかないとは・・・

752 名前:デフォルトの名無しさん:2006/11/13(月) 21:38:12
イメージ名で指定して、そのプロセスが動いているかどうか判定したいのですが、
wshでできるでしょうか。
できるならその方法を教えていただきたいです。

753 名前:デフォルトの名無しさん:2006/11/13(月) 21:50:21
WMI 使えば出来るな。
Win32_Process

754 名前:752:2006/11/13(月) 22:38:52
ありがとうございます


755 名前:デフォルトの名無しさん:2006/11/15(水) 14:23:49
http://etc3.2ch.net/test/read.cgi/charaneta2/1133239288/

756 名前:デフォルトの名無しさん:2006/11/17(金) 20:55:41
Windows PowerShell Version 1.0

http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx
http://www.microsoft.com/windowsserver2003/technologies/management/powersh
ell/default.mspx

757 名前:デフォルトの名無しさん:2006/11/18(土) 00:22:30
VBscriptもしくはVB6.0でバイナリデータのファイル操作ってできますか?

758 名前:デフォルトの名無しさん:2006/11/18(土) 00:25:41
っOpen

759 名前:デフォルトの名無しさん:2006/11/19(日) 00:20:45
IEを起こして取れますが、遅いので、
Set Document=CreateObject("htmlfile")
Document.write "<input type=text id=xxx>"
Document.all.xxx.value="ほげほげ"
MsgBox Document.all.xxx.scrollWidth
で、文字列の表示幅を取ろうとしたのですが、0しか返って来ません。
"htmlfile"は、ウィンドウを持たないので、〜Widthなどは取れないってことでしょうか?


760 名前:デフォルトの名無しさん:2006/11/19(日) 00:49:40
>>759
<INPUT>エレメントの持つプロパティで、
それっぽいのは offsetWidth かな?
scrollWidthやめて、offsetWidth にしたらどう?


761 名前:デフォルトの名無しさん:2006/11/19(日) 18:13:52
VBscriptで

A=150

Dim B(A)
Dim C(A)
Dim D(A)

というふうに配列宣言時、添え字の数字に変数を使いたいのですが、エラーになります。

解決方法を教えて下さい。

762 名前:デフォルトの名無しさん:2006/11/19(日) 18:33:39
Dim A
A = 150

ReDim B(A)
ReDim C(A)
ReDim D(A)


763 名前:デフォルトの名無しさん:2006/11/19(日) 20:52:54
>>762
俺もそう思ったw

764 名前:761:2006/11/19(日) 21:53:39
>>762
そうやってもエラーになります

765 名前:761:2006/11/19(日) 21:56:40
すいません勘違いでした。無事できました。

766 名前:デフォルトの名無しさん:2006/11/21(火) 22:30:28
StrCnvさえ使えたら

767 名前:デフォルトの名無しさん:2006/11/21(火) 22:49:45
うちではVBSで使ってるよ。>>VBランタイム内のStrCnv

768 名前:デフォルトの名無しさん:2006/11/21(火) 23:24:09
>>767
kwsk

769 名前:デフォルトの名無しさん:2006/11/23(木) 00:32:32
>>766
>StrCnvさえ使えたら
なにがしたいの?なくても困ること特にないけど。

770 名前:デフォルトの名無しさん:2006/11/23(木) 11:45:18
そんなこと言ったらWSH自体使わなくても(r

771 名前:デフォルトの名無しさん:2006/11/23(木) 15:48:49
>>767
VBで、VBの内部オブジェクトを公開するCOMを作ったことあるけど、
MSはそういう使い方保証してないし、開発ライセンスのないひとに
そのCOMを提供するのはどうかなというのと、
どうしても必要ということがなくてやめた。
>>766
VB持ってたら作ってみたら。
EXCELなど持ってたらVBAでも同様のことできるのでは。


772 名前:デフォルトの名無しさん:2006/11/25(土) 19:05:25
直接使えばいいのに

773 名前:デフォルトの名無しさん:2006/11/29(水) 15:52:47
子供の為にPCの起動を監視する(起動したら掲示板に「起動しました」と書き込む)スクリプトを書いているのですが、
レジストリのローカルマシーン(都合があって)の方にスタートアップを登録したのですが、うまく起動しないことがあります。
通常の起動なら大丈夫なのですが、スタートアップだと1/5ぐらいの確立でしか起動してくれないです・・・
xmlhttpを使ってます。

774 名前:デフォルトの名無しさん:2006/11/29(水) 16:21:55
>>773
コード貼り付けてよ

775 名前:デフォルトの名無しさん:2006/11/29(水) 17:02:41
>>773
ネットワークがUPしてないんだろ。1分くらいしてから処理開始しなよ。
あとそれたとえ相手が自分の子供でも犯罪行為だから。

こんな人間がいるとは、リアルで気分悪くなった。

776 名前:デフォルトの名無しさん:2006/11/29(水) 17:20:18
>>773
イベントビューアでログ見れば済む事を
なぜわざわざ掲示板に書かせるんだね?

777 名前:デフォルトの名無しさん:2006/11/29(水) 20:11:20
ヒント: 自分の子供じゃない

778 名前:デフォルトの名無しさん:2006/11/29(水) 20:52:30
ヒント: 子供云々は口実で、本当はストーカー行為目的。

779 名前:デフォルトの名無しさん:2006/11/29(水) 22:25:06
一応WScript.sleep で120000ミリ秒待機するようにしてます
犯罪行為になるならば、HD上にログに残す方法でやるしかないんでしょうね
確かにキーロガーとか仕込めばストーカーですね

780 名前:デフォルトの名無しさん:2006/11/29(水) 22:28:53
だからイベントビューア

781 名前:デフォルトの名無しさん:2006/11/30(木) 18:36:23
きっとお兄さんたちに人気がありそうな容貌をした小学生のお子さんなんだろう
だとしたらそこまでして監視したいという気持ちもわかる

がやっぱ気分悪いな

782 名前:デフォルトの名無しさん:2006/11/30(木) 21:08:54
ここにいるのはお子様ばかりか?
俺はすべてのファイルを監査対象にして、何をいつ触ったかまで細かくフルロギング!
もちろん監査ログは5分おきに携帯へ逐一転送。
万一の場合にはリモートから即座にシャットダウン可能です。
まあ、愛する我が子を危険なインターネットから守るにはこのぐらいして当然ですよね。

783 名前:デフォルトの名無しさん:2006/11/30(木) 21:12:38
>>782
まだまだヒヨっ子だなw

784 名前:デフォルトの名無しさん:2006/11/30(木) 21:44:29
楽しい釣り場でつね

785 名前:デフォルトの名無しさん:2006/11/30(木) 22:06:11
うん。
でも釣る側の俺は楽しいが、
釣られる奴等は悔しがってるんだろうなw

786 名前:デフォルトの名無しさん:2006/12/06(水) 04:02:33
統合アーカイバのKBAってちゃんと動く?

Path = "C:\\DATA\\PROG\\WSH\\KBA\\test.zip"
Set UnZip = CreateObject("KBA.UNZIP")
Result = UnZip.FileCount(Path)
WScript.Echo Result
Result = "" & UnZip.OpenArc(Path)
WScript.Echo Result

こういうのをやると、FileCount()は動くのに、OpenArc()は動かない。
OpenArc()が動かないとファイル情報系のメソッドが全く使えない。

787 名前:786:2006/12/07(木) 02:09:01
ProgIDが"KBA.UNZIP"だからUNZIP32.DLLだけあればいいかと思ったけど違った・・・orz

788 名前:デフォルトの名無しさん:2006/12/15(金) 17:09:58
Windows板で質問して、WSHなら出来そうって事でやってきました。

やりたい事は、
ショートカットなどをダブルクリックするごとに、
 1)タスクバーを自動的に隠す設定にする。
 2)1を解除。
というものです。

WSH無しでもいけそうならお教えいただけるとありがたいです。

ググってみたのですが、WSH関係のサイトにタスクバーについて
の処理というのが見つけられず、困っている次第です。

よろしくおながいします。

789 名前:デフォルトの名無しさん:2006/12/15(金) 17:43:51
SHAppBarMessage 使うアプリを書いてそれを呼び出す

790 名前:デフォルトの名無しさん:2006/12/15(金) 18:01:16
メニューでやってることを、SendKeysでやらせる。
or
レジストリの変更箇所を見つけて、RegWriteで書き換える。+ 即反映の何か。

791 名前:こんな時間まで何やってんだろ俺.wsf:2006/12/16(土) 04:10:35
<job>
<script language="JScript">
function deRLE(src){
return src.replace(/\s/g,"").replace(/(.)\.(.)/g,function($0,$1,$2){
return Array(parseInt($2,35)+(($2<"A")?56:($2<"a")?-6:20)).join($1);});}
</script>
<script language="VBScript">
Set fso=CreateObject("Scripting.FileSystemObject")
path=fso.BuildPath(fso.GetSpecialFolder(2),"SwHide.exe")
Set elm=CreateObject("Microsoft.XMLDOM").createElement("data")
elm.DataType="bin.base64":elm.text=deRLE(getResource("bin"))
With CreateObject("ADODB.Stream")
.Open:.Type=1:.Write elm.NodeTypedValue:.SaveToFile path:.Close
End With
CreateObject("WScript.Shell").Run path,1,True
WScript.Sleep 1000:fso.DeleteFile path
</script>
<resource id="bin">
TVqQAAMA.BEA.B//8AALgA.GQA.syA.C4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm
5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJA.HvsN/Fa9GxlmvRsZZr0bGWqN7slm7RsZZr0
bCWadGxlkwXw5Zp0bGWTBfJlmrRsZZSaWNoa9GxlgA.RBQRQAATAEDADWwgkUA.HOAAAwELA
QgAAAIA.BEA.GBA.CQA.BIA.CBA.BQA.CgAABA.HEA.HBA.CBA.GIAAAQAABAAABA.DEAAAE
A.FBA.MBAgAAA8A.9A.tIAAAEA.hC50ZXh0A.BRQA.CQA.CgA.BQA.PCAAAGAucmRhdGEAAJ
YA.CIA.CIA.BGA.PBAAABALmRhdGEA.BEA.CDA.bQAAAwA.9A.9A.9A.9A.9A.9A.9A.9A.9
A.dIPsJFaLNQggQACNRCQEUGoEx0QkDCQAAADHRCQQA.CP/WD7bIg/H/jVQkBIPhAVKDyQJq
ColMJCz/1moA/xUAIEAAXgA.9A.9A.9A.9A.9A.9A.9A.9A.9A.LXCA.FB4IA.FEwgA.KGog
A.BIAAAVCA.LiiA.BggA.aFwgA.FeCA.FC5AEV4aXRQcm9jZXNzAEtFUk5FTDMyLmRsbAAAd
gBTSEFwcEJhck1lc3NhZ2UAU0hFTEwzMi5kbGwA.9A.9A.9A.9A.9A.9A.9A.h=
</resource>
</job>

792 名前:デフォルトの名無しさん:2006/12/16(土) 04:26:22
>>791 のバイナリ部分も一応書いとくね

#include <windows.h>
#include <shellapi.h>
void WINAPI WinMainCRTStartup()
{
APPBARDATA abData;
abData.cbSize = sizeof(APPBARDATA);
abData.hWnd = NULL;
if (SHAppBarMessage(ABM_GETSTATE, &abData) & ABS_AUTOHIDE) {
abData.lParam = ABS_ALWAYSONTOP;
} else {
abData.lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;
}
SHAppBarMessage(ABM_SETSTATE, &abData);
ExitProcess(0);
}

793 名前:デフォルトの名無しさん:2006/12/16(土) 04:39:04
マジで何やってるんだかw

794 名前:デフォルトの名無しさん:2006/12/16(土) 10:27:55
何これ?

795 名前:デフォルトの名無しさん:2006/12/16(土) 11:30:57
おもしろいけど
実行ファイル生成するんだったら
次回からそれ実行した方がはやいよなww

796 名前:デフォルトの名無しさん:2006/12/16(土) 14:04:03
>>791
せめて.NETかPowerShellにならん?


797 名前:デフォルトの名無しさん:2006/12/16(土) 14:11:46
>>791 5行目訂正
parseInt($2,35) → parseInt($2,36)
それと>>792のコード自体がXPじゃないと動作しないみたいですね。

データがほとんど0(A)だったんで適当にRLE圧縮してみたんだけど
もっとかっこいい圧縮スクリプトって無いかな?かな?

798 名前:デフォルトの名無しさん:2006/12/16(土) 14:14:15
>>796
なぜ、このスレで聞くww

799 名前:デフォルトの名無しさん:2006/12/16(土) 14:20:25

WSCで定数を公開する方法を教えてください。
現在は読み取り専用のプロパティで固定数を返してますが
FileSystemObjectのForReadingやADODB.StreamのadTypeBinaryのように
インスタンスのメンバとしてではなく、そのまま書けば使えるようにしたいのです。



800 名前:799:2006/12/16(土) 14:20:47
▼public要素(公開メンバ)
<public>
  <method name="hoge">
    <parameter name="arg"/>
  </method>
  <property name="foo">
    <get/>
  </property>
  <property name="bar">
  以下略

▼WSCスクリプト
Public Sub hoge(arg)

End Sub
Public Function get_foo
  get_foo = 1
End Function
Public Function get_bar
  get_foo = 2
End Function
以下略

▼呼び出し側スクリプト
Call obj.hoge(obj.foo)


現在こんな感じですが、呼び出し側で
Call obj.hoge(foo) で同じ効果が出せるようにしたいのです。
もちろん呼び出し側で定数宣言しろとかは無しで。
FileSystemObjectやADODB.Streamも宣言無しで定数を使えるので、
それと同じようにしたいのです。

801 名前:デフォルトの名無しさん:2006/12/16(土) 15:59:58
WSC側で、JScriptで、
function xconst(Me){
Me['xxx']=111;
Me['yyy']=222;
}
呼び出し側で、VBScriptで、
wsc.xconst Me
とすれば、xxxやyyyが使えるようになる。
JScriptなら、wsc.xconst(this);


802 名前:799:2006/12/16(土) 16:21:03
>>801
回答ありがとうございます。しかし、そういう事ではなくて、先にも書いたように
FileSystemObjectやADODB.Streamなんかの定数と同じように使いたいんです。例えば
<job>
<reference object="Scripting.FileSystemObject"/>
<script language="VBScript">
WScript.Echo CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.ScriptFullName, ForReading).ReadAll
</script>
</job>
という感じでForReadingが使えるように、呼び出し側のスクリプトで何かするのではなく
reference要素の設定だけで定数を使えるようにしたいのです。
reference要素の設定をしなければFileSystemObjectやADODB.Streamの定数も宣言無しには使えないので、
「FileSystemObjectやADODB.Streamと同じように」というのは「reference要素の設定だけで」という意味で使ってます。

引き続きよろしくお願いします。


803 名前:デフォルトの名無しさん:2006/12/16(土) 16:32:35
>>802
>引き続きよろしくお願いします。
やっぱりな。そう来ると思ったよ。
スレ違い。MSに言え。

804 名前:デフォルトの名無しさん:2006/12/16(土) 16:40:56
wscじゃむりなんじゃね?

つーかFileSystemObjectのForReadingってただの整数で定数じゃないんじゃ?
adTypeBinaryは定数ったってCOMの実装でenumなんでしょ

805 名前:799:2006/12/16(土) 16:51:36
>>803
お手数お掛けしました。
今後は他の方の回答を待ちますので私のことは無視してください。

>>804
リファレンスには定数と書いてあったので、定数だと思い込んでました。
どちらにしてもForReadingと同じ使い方が出来れば良いだけなのですが。

「無理なのでは?」という意見をいただけるのもありがたいのですが、
失礼ながら他の方が知ってる可能性もあるので、もうしばらく待ちます。


806 名前:デフォルトの名無しさん:2006/12/16(土) 16:52:28
可読性にこだわるなら数値のかわりに文字列を使えばいいじゃない。

807 名前:デフォルトの名無しさん:2006/12/16(土) 17:04:50
>>799
無視できるように、コテハン使ってください。
例えば、
「引き続きよろしくお願いします。」
「木に縁(よ)りて魚を求む」

808 名前:デフォルトの名無しさん:2006/12/16(土) 17:12:34
徳川埋蔵金を信じている人に何を言っても無駄ですよ。>みなさん


809 名前:デフォルトの名無しさん:2006/12/16(土) 17:13:11
ハンドルじゃないけど名前欄に799って入れてるんだからこのスレ指定で799という名前を消せばいいじゃん
スレ単位での無視条件設定できない糞専ブラ使ってるとかならそれはそういうソフト選んだ自分の責任だ
というか嫌味なコテ押しつけたいだけか?

810 名前:デフォルトの名無しさん:2006/12/16(土) 17:23:39
過疎スレで熱くなるなよ

811 名前:デフォルトの名無しさん:2006/12/16(土) 17:29:20
いいえ、今後は、でなく、最初から無視したいから、スレッドを超えたコテハンにして。
と言ってるのですよ。参考、検索「引き続きよろしくお願いします。 」
だって、どんな答えもそれは私の求めているものとは違う、というだけなんですよ。
最初から、条件を明示すればよいのに。
「代替方法の提案や出来ないという回答は不要」というふうに。

812 名前:デフォルトの名無しさん:2006/12/16(土) 17:40:27
この子、どうしたんだろう?

813 名前:デフォルトの名無しさん:2006/12/16(土) 18:49:51
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。


って煽って欲しいんじゃない?

814 名前:デフォルトの名無しさん:2006/12/16(土) 18:53:59
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。

815 名前:デフォルトの名無しさん:2006/12/16(土) 20:21:09
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。

816 名前:デフォルトの名無しさん:2006/12/16(土) 20:30:03
次のWSHのネタをどうぞ


817 名前:デフォルトの名無しさん:2006/12/16(土) 20:39:12
WSHで811みたいな根暗で陰気な奴を消す方法を教えてください

818 名前:デフォルトの名無しさん:2006/12/16(土) 21:06:02
そういうCOM作って呼び出しなさい。

819 名前:デフォルトの名無しさん:2006/12/16(土) 21:28:47
自分では上から見下ろし、バカな質問者を叩く側だと思ってたのに
何を間違えたか皆から見下され、叩かれる立場になってしまった811(´・ω・) カワイソス

820 名前:デフォルトの名無しさん:2006/12/16(土) 21:40:07
どこが?上から見下ろし、バカな質問者を叩く側だと見えんけど

821 名前:デフォルトの名無しさん:2006/12/16(土) 21:49:31
最初っから上に居るようには見えないってか

822 名前:デフォルトの名無しさん:2006/12/16(土) 21:59:49
見方がおかしいのかなぁ
http://pc8.2ch.net/test/read.cgi/win/1155040873/103-
と同じ流れだと言ってるんでしょ

823 名前:デフォルトの名無しさん:2006/12/16(土) 22:01:21
なんだ811本人かw

824 名前:デフォルトの名無しさん:2006/12/16(土) 22:03:18
もう諦めろ
お前は玩具側の人間だ

825 名前:デフォルトの名無しさん:2006/12/16(土) 22:07:40
. .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::
   . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
        Λ_Λ . . . .: : : ::: <こんなはずでは・・・・・
       /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
      / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄
       >>811


826 名前:ひとりぼっちのクリスマス:2006/12/16(土) 22:15:38
.: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::☆:::::::+::::::::::::::
  . . : : : ::::/⌒ヽ: ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::..,,::。:+:::::::::::::::::::::::
  . .... ..::::/  <`O:: :: ::: :::::: :::::::::::: : :::::::::::::::::::+,::o;;::・;,:::::::::::::::::::::
     ⊂ニニニ⊃. . .: : : ::: : :: ::::::::: ::::::::::::::::..<;;::・,,::;ゞ;;o;*::.:::::::::::
     /:彡ミ゛ヽ;)ー、. . .: : : :::::: ::::::::::::::::,,;;;<;+::;;;´;*::o*:,,;;ゞ;;::::::::
    ./ /ヽ/ヽ、ヽ  i. . .: : : :::::::: :::::::::::;;;*;;;〇;ゞ;*::;;:<;;;*;:;ゞ;;o;
   / / 。  ヽ ヽ l   :. :. .:: : :: ::<;;;;〇;ゞ;*::o,ゞ ;*;;;;*ゞ;*:o
  ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄     ;;;*;;;〇;ゞ;*::;;;;;*ゞ;*::o, 〇;;; *
      >>811              : : : : : : llllllll : : : : : :
                           田田田


827 名前:デフォルトの名無しさん:2006/12/16(土) 22:18:04
おまえら便乗しすぎw

828 名前:デフォルトの名無しさん:2006/12/16(土) 22:37:03
811の人気に嫉妬

829 名前:デフォルトの名無しさん:2006/12/16(土) 22:41:37
もうWSHと関係ない話は別のところでやってくれ

830 名前:デフォルトの名無しさん:2006/12/16(土) 23:39:12
Public Const get_foo=1
のほうが簡単。

831 名前:デフォルトの名無しさん:2006/12/17(日) 01:05:03
wsfファイルのサイズが500KB超えると開けなくなるみたいだ。残念。

832 名前:デフォルトの名無しさん:2006/12/17(日) 18:37:43
なーおまいら、>>830って通るか?
うちじゃエラーになるんだが


833 名前:マチルダ:2006/12/19(火) 10:37:20
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。

今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
要はProcessID指定で確実にブラウザにSendKeysしたいんです。
よろしくお願いします。

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プロパティから取得できる。


834 名前:デフォルトの名無しさん:2006/12/20(水) 00:44:17
29chがもうまともに動きません。
過去スレのpart1やpart2がほしいのですが、
このスレのミラーサイトないですか・・・?

835 名前:デフォルトの名無しさん:2006/12/20(水) 00:45:27
失敗。ここじゃなかった。Win板の方。

836 名前:デフォルトの名無しさん:2006/12/20(水) 10:48:51
>>833
ttp://pc8.2ch.net/test/read.cgi/win/1155040873/322-325


837 名前:デフォルトの名無しさん:2006/12/20(水) 14:15:22
>>833
Exec("パス\iexplore.exe")
とか?

838 名前:デフォルトの名無しさん:2006/12/20(水) 15:03:38
>>831
ふつー500KBもあれば十分

839 名前:デフォルトの名無しさん:2006/12/20(水) 21:36:04
なんだ、あっちに礼言って、こっちは無視かよ
Exec("パス\iexplore.exe")で新規にプロセス起こさんと
他のIEと同居してうまく行かんだろうに
こっちに戻って来ても、もう知らね

840 名前:デフォルトの名無しさん:2006/12/20(水) 21:53:43
>>839
Exec起動した奴じゃIEオブジェクトとして操作できないから無意味じゃね?

841 名前:デフォルトの名無しさん:2006/12/20(水) 22:01:02
>>840
どうせSendKeysするなら要らないかと省いたが必要なら方法があるでしょ

842 名前:デフォルトの名無しさん:2006/12/20(水) 22:19:40
どっちみちProcessID取得出来てもIEオブジェクトの操作は禁止されてるのに


843 名前:デフォルトの名無しさん:2006/12/21(木) 14:34:50
>>833
そんな別人のフリして答えを聞き出そうとするより普通に聞けばよいのに
それに>>830にも礼言ってレポートしろよな

844 名前:デフォルトの名無しさん:2006/12/21(木) 17:27:04
>>843
そんな自演しなくても良いのに


845 名前:デフォルトの名無しさん:2006/12/21(木) 18:29:42
別人のフリしてないじゃん。
自分で「マルチだ!」って宣言してるし。



あ、マチルダか…

846 名前:デフォルトの名無しさん:2006/12/21(木) 18:47:54
execしてShell.ApplicationのWindows()
もう消えて

847 名前:デフォルトの名無しさん:2006/12/21(木) 21:09:14
>>791
>CreateObject("WScript.Shell").Run path,1,True
>WScript.Sleep 1000:fso.DeleteFile path
この、WScript.Sleep 1000は消し忘れ?
それともfso.DeleteFileがエラーになる恐れがある?

848 名前:デフォルトの名無しさん:2006/12/21(木) 22:51:45
実行中に削除しようとすればエラーになるだろうからね。

849 名前:831:2006/12/22(金) 00:21:10
>>847
すいません。怖かったのでなんとなく入れてるだけです。
外したらエラーになるかどうかは試してもいませんw
>>848
Runの終了まで待っているので基本的にはいらないはずなのです。


その後RLEの代わりにLZSS圧縮してみたけどデータサイズの減少より
スクリプトサイズの増加の方がはるかに多い orz..

850 名前:デフォルトの名無しさん:2006/12/22(金) 21:13:56
>>849
ZIPなら数行で出来そう
http://pc11.2ch.net/test/read.cgi/tech/1124559962/252

851 名前:デフォルトの名無しさん:2006/12/26(火) 16:23:44
>>799
WSC 右クリック タイプライブラリの生成

852 名前:デフォルトの名無しさん:2007/01/03(水) 02:33:30
WSHが人気ものでないのはなぜ?

853 名前:デフォルトの名無しさん:2007/01/03(水) 04:19:59
禿堂
ポップアップがうざいから漏れはほとんど CScript で呼び出してる
WMIと組み合わせたらソコソコ逝けてると思うんだけどね


854 名前:デフォルトの名無しさん:2007/01/03(水) 10:12:52
大半のWindowsのユーザーは「面倒な作業をワンタッチでできるようにする」のに、
自分で作るのではなく、それが出来る既製のソフトを探すからね。

855 名前:デフォルトの名無しさん:2007/01/03(水) 14:43:19
Unixだと自分で作ることの方が多かったな。


856 名前:デフォルトの名無しさん:2007/01/03(水) 19:26:55
実際どこの馬の骨が作ったか判らんフリーツールよりも
企業としては予算とって金払ったソフトの方を有難がったりするよな
本当は後者が馬の骨かも知れないのに


857 名前:デフォルトの名無しさん:2007/01/03(水) 22:37:43
金を払ったら安全って考えてるんじゃないのか?

858 名前:デフォルトの名無しさん:2007/01/04(木) 01:44:51
>>857
まぁ通常、瑕疵担保責任を開発元が請け負ってくれるからなぁ。

859 名前:デフォルトの名無しさん:2007/01/04(木) 01:53:09
WSH から話題が離れすぎだ

860 名前:デフォルトの名無しさん:2007/01/04(木) 02:28:01
元に戻そうよ、みんな


ここは、.netを含んでもいいの?
WSHって.NETも対応していたよね〜


861 名前:デフォルトの名無しさん:2007/01/04(木) 02:57:07
戻そうと言いながら・・・
.NETの話題はここでしてもいいの?


862 名前:デフォルトの名無しさん:2007/01/04(木) 22:35:19
>>858
だがEULAに責任はとらんと書いてある罠。

バグを直すのは義務っぽいがそれで失った損失は補填されない。


863 名前:デフォルトの名無しさん:2007/01/15(月) 01:21:03
アクティブウィンドウ以外にSendKeysする方法ないですか?
なければWSHじゃなくてもいいんですが。

864 名前:デフォルトの名無しさん:2007/01/15(月) 07:35:02
>>863
SendMessage(標準WSHからは使えない)

AutoHotkeyあたりが手軽だと思うがWSH以外の話はスレ違い。

865 名前:863:2007/01/15(月) 10:41:08
うわーすごい
早い時間に詳しい方からレス頂けるなんて
ありがとうございます。

>AutoHotkey
こんなソフトがあったとはもっと早く知っていればorz


866 名前:デフォルトの名無しさん:2007/01/20(土) 23:36:10
>>863
フリーソフトなどが使えない環境では、Wordを使うと
Tasks("電卓").SendWindowMessage(Message, wParam, IParam)
なんてできるらしいので、WordをWSHから駆動するとよいかも

867 名前:デフォルトの名無しさん:2007/01/23(火) 18:58:57
WSFでencodingを指定するには、
<?XML version="version" standalone="DTDflag" encoding="encname" ?>
を使うと思いますが、そうすると、厳密なXMLモードになってしまいます。
構文解析が緩やかなままencodingを指定する方法はありません?


868 名前:デフォルトの名無しさん:2007/01/31(水) 13:53:01
>>866
を使って、コマンドプロンプトのすべて選択やコピー、貼り付けは、でけん?

869 名前:デフォルトの名無しさん:2007/01/31(水) 14:09:21
コマンドプロンプトならそんなことしなくても・・・・・あ、スレ違いか

870 名前:デフォルトの名無しさん:2007/02/02(金) 01:03:59
age失礼します。
教えていただきたいのですが、
WSHを使用してデータベースへ接続するというソースに
OpenDatabase(user/pass,CLng(0))

DbCreateDynaset(クエリー,CLng(12))

のような記述があります。CLngの意味だけを調べると
長整数型の内部処理形式に変換する時に使うものだと記述がありました。

データベースへの接続文字列やクエリーとCLng()はどのように関係しているのでしょうか?

871 名前:デフォルトの名無しさん:2007/02/02(金) 01:11:15
関係ない

872 名前:デフォルトの名無しさん:2007/02/02(金) 01:24:18
>>871
ということは記述不要ということでしょうか?
下記のサイトの中央部あたりにある緑地に記述されたソースでは
>>870のような記述があります。
使い方が間違っている(不要)なのでしょうか?
ttp://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9910/wsh/

873 名前:デフォルトの名無しさん:2007/02/02(金) 01:46:27
WSHと関係ないってことだしょ
そのOracleのCOMオブジェクトのメソッドの仕様なんでしょう
知らんけど。


874 名前:わからんぜ:2007/02/07(水) 18:19:35
HTAとvbsとbatを使って、結構なスクリプトを作ってしまったあとで、
これをネットワーク共有で使おうとしたら、
vbs・・・このファイルを開きますか?
bat&HTA・・・発行元を確認できませんでした・・・
というセキュリティの警告が出ます。
googleってみましたが、ダウンロードしたファイルの云々 と
いったものばかりで、ヒットしません。
この症状は、ダウンロードしたファイルへの保護とは似て非なる
機構だと思うのですが、回避する方法をご存知ありませんか?
cscrit \\cpu\share\test.vbs
cmd.exe \\cpu\share\test.bat
ではOKなのですが、これではソース改変が膨大なことに
なってしまいます。
ちなみにXP−SP2です。 よろしくお願いします

875 名前:デフォルトの名無しさん:2007/02/07(水) 18:43:51 ?2BP(222)
インターネットオプションのセキュリティタブでイントラネットゾーンの設定をいじれ。

876 名前:わからんぜ:2007/02/08(木) 19:29:01
>>875
イントラネットゾーンの設定を変えてみましたがやっぱり警告が出ます(;_;)

877 名前:デフォルトの名無しさん:2007/02/09(金) 14:26:58
信頼済みサイトに登録

878 名前:わからんぜ:2007/02/09(金) 16:19:35
>>875 >>877
うまくいきました(^o^)

設定変更した後にIEを再起動してダメだったのですが
エクスプローラを再起動するとできました orz

879 名前:デフォルトの名無しさん:2007/03/01(木) 03:02:44
あれ???
CScriptだと
WinHttp.WinHttpRequest.5.1
が使えない???

WScriptだと使えるのに。

Microsoft.XmlHttp
だと使えるかと思ったけど
やっぱりCScriptだとおかしい。

WScriptでしか使った事なかったから
気が付かなかったみたいだけど・・・

何だろこれ???

880 名前:デフォルトの名無しさん:2007/03/01(木) 16:35:57
WinHttp.WinHttpRequest.5.1やMicrosoft.XmlHttpは試してないけど
Msxml2.XMLHTTPならCScriptでも使えてる。

881 名前:デフォルトの名無しさん:2007/03/01(木) 23:06:45
使えないとかおかしいとか、そう言う曖昧な表現は良くないな

882 名前:879:2007/03/03(土) 16:17:10
>>880 >>881
普通にOpenしてSendすると、Sendでエラーになる。
Set hr = CreateObject("WinHttp.WinHttpRequest.5.1")
'Set hr = CreateObject("Microsoft.XmlHttp")
'Set hr = CreateObject("Msxml2.XmlHttp")
hr.Open "GET", "http://www.google.co.jp/"
hr.Send
WScript.Echo "End"


[WinHttp.WinHttpRequest.5.1]

test.vbs(5, 1) WinHttp.WinHttpRequest: A connection with the server could not be established

[Microsoft.XmlHttp]
[Msxml2.XmlHttp]

test.vbs(5, 1) msxml3.dll: 指定されたリソースは見つかりません。

*.XmlHttpの場合はエラーになったりならなかったりする。

WScript.exeだと全く正常。

883 名前:デフォルトの名無しさん:2007/03/03(土) 16:31:31
Mcrosoftのダウンロードセンターから
MSXMLの3, 4, 6をDLしてインストールしてから
やってみては?

884 名前:デフォルトの名無しさん:2007/03/03(土) 16:44:01
>>882
うちではwscriptでもcscriptでも一切問題なし。

ところで、なんでMSXML2.ServerXMLHTTPが無いの?俺が一番よく使うのはこれなんだが。

ぶっちゃけ、一時期WinHttp.WinHttpRequestも使ったがMSXML2.ServerXMLHTTPを知ってから
WinHttp.WinHttpRequestを使う機会は無くなった。

それと何故WinHttp.WinHttpRequestだけバージョン入れてる?
うちでは全てバージョン無しで最新バージョンを使用できるようにレジストリを設定してる。
新しいの入れたときに、あちこちに散らばった全スクリプトを修正するより、レジストリをちょいと修正した方が楽だから。

885 名前:デフォルトの名無しさん:2007/03/03(土) 22:36:17
>>884
MSXML2.ServerXMLHTTPって何が違うの?

886 名前:デフォルトの名無しさん:2007/03/03(土) 22:56:39
>>885
違いが解らないなら、君のレベルでは
同じ物と認識していて問題ないってことだ。

気にするな。

887 名前:デフォルトの名無しさん:2007/03/04(日) 00:12:43
なんでそんな喧嘩腰なんだよw

ServerXMLHTTP と XMLHTTP の違いはこの辺を読むとわかる。
http://support.microsoft.com/kb/290761/ja

888 名前:デフォルトの名無しさん:2007/03/04(日) 00:30:47
なんでそんな解り難いとこ紹介するんだよw

889 名前:882:2007/03/04(日) 08:44:03
HTAでもHTMLでも全く正常。
はてはC++(で組んだアプリ)からでも正常。
それをCScript.exeという名前にしても正常。
本物のCScript.exeを別フォルダにコピーしてそれを実行するとエラー。

たぶんマカフィーのせいだと思う。
手動で無効化したのがいけなかったのか・・・orz

>>884
>何故WinHttp.WinHttpRequestだけバージョン入れてる?
>うちでは全てバージョン無しで最新バージョンを使用できるようにレジストリを設定してる。
>新しいの入れたときに、あちこちに散らばった全スクリプトを修正するより、レジストリをちょいと修正した方が楽だから。
他人のPCでそのスクリプト使用できなくならね?

>なんでMSXML2.ServerXMLHTTPが無いの?
知らないから(^_^;
というか、基本的にはMicrosoft.XmlHttpを使うようにしてる。
他人のPCで動かない事態はなるたけ避けたい。
ADODBとかも使いたくないんだけど文字セットだけはどうしようもない。

890 名前:デフォルトの名無しさん:2007/03/04(日) 09:10:06
> 他人のPCでそのスクリプト使用できなくならね?
逆にバージョン入れるとそういうトラブルが起きる。
バージョン書くと、他の環境では指定したバージョンが無いと動かない
バージョン書かないと、他の環境では指定したバージョンが無くても
バージョン違いが入っていれば基本的に動く。

891 名前:889:2007/03/04(日) 09:23:09
うん。
だからMicrosoft.XMLHTTPはバージョン書かない。
でも
WinHttp.WinHttpRequest.5.1
はバージョンなしのProgIDって無いよ?

バージョンなしのProgIDが自動登録されてる場合ってあるの?

892 名前:デフォルトの名無しさん:2007/03/04(日) 09:25:18
ない

893 名前:デフォルトの名無しさん:2007/03/04(日) 14:41:50
ある

894 名前:891:2007/03/04(日) 14:48:40
ドチ?

895 名前:デフォルトの名無しさん:2007/03/04(日) 14:53:39
ないアル

あるナイ


896 名前:デフォルトの名無しさん:2007/03/04(日) 15:03:25
WinHttp.WinHttpRequestは
バージョンなしのProgIDが自動登録され
ない

897 名前:デフォルトの名無しさん:2007/03/04(日) 16:12:18
うちは5.0とバージョン無しはあるけど5.1は無い

898 名前:894:2007/03/04(日) 16:44:18
とりあえず
ActiveXObject('WinHttp.WinHttpRequest')
これでググったら、8,9割が
    WinHttp.WinHttpRequest.5.1
で、あと
    WinHttp.WinHttpRequest.5
が少しあって、
    WinHttp.WinHttpRequest
もわずかにあった。


899 名前:デフォルトの名無しさん:2007/03/04(日) 17:23:04
(CreateObject OR "new ActiveXObject") WinHttp.WinHttpRequest
でググってみると
 WinHttp.WinHttpRequest.5.1 35%
 WinHttp.WinHttpRequest.5  15%
 WinHttp.WinHttpRequest    10%
 複数                40%
って感じだな
5.1を含む物と見れば70%は越えてるだろうが、5.1のみ決め打ちってのはそこまで多くない
まぁバージョン有り無しどっちにしても、他環境で使うこと考えるなら決め打ちはまずいってこったな
884は書き込み内容からして自分の構築した環境のみで使ってるっぽいけど

900 名前:デフォルトの名無しさん:2007/03/05(月) 14:52:25
WSFにして<object classid=を使うか、

Set wShell=CreateObject("WScript.Shell")
progid=wShell.RegRead("HKCR\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\ProgID\")
Set hr = CreateObject(progid)
にすりゃ確実だべ

901 名前:デフォルトの名無しさん:2007/03/06(火) 15:52:26
Windows Media Playerオブジェクトの使用サンプルでいいのないですかね?

902 名前:901:2007/03/06(火) 16:47:24
現在すでに起動してしまっているWMPを操作するのとかは
どうやるんでしょうか?

903 名前:デフォルトの名無しさん:2007/03/06(火) 16:51:17
>>901
MSDNを読め
よんで解らないならお前にはまだ早いってこった
それでもやりたければ精進しろ

904 名前:902:2007/03/06(火) 18:41:34
できませんorz
でも新しいWMPをHTAから埋め込み起動&制御するのはできます。

IEでもInternetExplorer.Applicationからでは
すでに起動しているIEを操作できないですよね?

現在ではShell統合されているから
たまたまできるようになってますが・・・

WMPはすでに起動したプレイヤーの操作ってできるんですか?
勿論SendKeysとかは無しで。

905 名前:デフォルトの名無しさん:2007/03/06(火) 18:42:18
出来るよ

906 名前:904:2007/03/06(火) 22:57:30
もうあきらめました。

907 名前:デフォルトの名無しさん:2007/03/06(火) 23:14:33
そうですか。
身の丈に合わないと感じたら、諦めるのも一つの選択肢ですからね。

908 名前:デフォルトの名無しさん:2007/03/07(水) 16:42:37
このスレなんで過疎ってるかわかりますた。

909 名前:デフォルトの名無しさん:2007/03/07(水) 17:01:26
そうですか。
俺は別に勘違いや間違いでも、本人が納得してるなら構わないと思うので
君が解ったと思い込んで納得してるならそれでいいですよ。

910 名前:デフォルトの名無しさん:2007/03/09(金) 02:49:55
WindowsServer2003 になったら、WSHRemote がエラーを返すようになった。
サンプルの test.vbs は WScript.Echo 1/0 してるだけ。これをリモートWSHとして
叩く。

で、Win2kServer の場合。
Error Number: 0x800A000B
Line: 1
Char: 1
Description: Division by zero
Source: Microsoft VBScript runtime error
Source Text:

おk。

2003鯖。
Error Number: 0x80004005
Line: 0
Char: 0
Description: Execution of the Windows Script Host failed.
Source: Windows Script Host Remote Script
Source Text: Unspecified error

なんでやねーん。ちなみに、エラー出さなくても同じ結果。バグかな。
だれか、なんか知らん???

911 名前:デフォルトの名無しさん:2007/03/15(木) 16:03:48
一応どう分かったか言いましょうか?

能力的にはプログラマにはなれないんだけど
初心者にはプログラマ面していい気になりたい。

なので初心者が多く使うと思われるスクリプトを
重箱の隅をつつくようにして研究し、

素人の初心者に対して
「そんな事も知らないのか」
「やっぱり俺はすげーな」
と虚しい自己満足(本人は虚しいと思ってない模様)に浸る。

家に引きこもって素人相手にいばってないで
ちゃんと仕事でプログラム組みましょうよ?

もっとも使えないんで会社をクビになり
「早期退職」と言い張って
未練たらたらにプログラマのフリしてるのかもしれないですけどね。

912 名前:デフォルトの名無しさん:2007/03/15(木) 16:19:04
ちなみに

自分に自信が無いので
少しでも教えて他人に知識がいけば
自分がいばれなくなるのが不安なので
絶対に人には何も教えません。

プログラマとしては素人+アルファのレベル

人間としてはどうしようもなくチンケ

という具合に理解しましたが、
勘違いしている点を詳しく教えてください。

913 名前:デフォルトの名無しさん:2007/03/15(木) 17:02:03
で?

914 名前:デフォルトの名無しさん:2007/03/15(木) 20:22:50
( ゚Д゚)ポカーン

915 名前:デフォルトの名無しさん:2007/03/16(金) 00:07:28
一瞬何の話かと思ったけど、上を見たらわかった。
質問者の取る態度じゃないな。

916 名前:デフォルトの名無しさん:2007/03/16(金) 01:11:37
回答者はいないけどな。

917 名前:デフォルトの名無しさん:2007/03/16(金) 13:59:35
>>915も質問者
に\100

918 名前:デフォルトの名無しさん:2007/03/16(金) 17:08:38
「で?」?
はぁ?
あなたの番でしょ?

> 909 :デフォルトの名無しさん :2007/03/07(水) 17:01:26
> そうですか。
> 俺は別に勘違いや間違いでも、本人が納得してるなら構わないと思うので
> 君が解ったと思い込んで納得してるならそれでいいですよ。

いつものように初心者いじめを始めてくださいよ?

威勢のいいのは弱いものに対してだけですか?

とことんチンケなんですね。

919 名前:デフォルトの名無しさん:2007/03/16(金) 18:00:58
>>918
http://pie.bbspink.com/sm/
こっちでやれ。

920 名前:918:2007/03/16(金) 18:11:10
最初にカラんだ人に言ってくださいよ?

921 名前:918:2007/03/16(金) 18:12:10
> 909 :デフォルトの名無しさん :2007/03/07(水) 17:01:26
> そうですか。
> 俺は別に勘違いや間違いでも、本人が納得してるなら構わないと思うので
> 君が解ったと思い込んで納得してるならそれでいいですよ。


922 名前:デフォルトの名無しさん:2007/03/19(月) 18:27:34 ?2BP(222)
2chのレスで名無しさんを名指しすることがどれほど愚かなことか分かるまで
ROMっててください。もちろんそのまま帰ってこなくても結構です。

923 名前:デフォルトの名無しさん:2007/03/21(水) 22:23:29
ちょっと試して欲しいことがあるんだけど

<job>
<resource id="data1">""</resource>
<resource id="data2"> </resource>
<resource id="data3"></resource>
<script language="VBScript">
MsgBox getResource("data1")
MsgBox getResource("data2")
MsgBox getResource("data3")
</script>
</job>

を.wsfに保存して実行すると、3つ目のMsgBoxでエラーにならない?
うちでは3つ目だけメモリが不足してるってエラーが出る。(メモリは2GB積んでいて、実行時は1.4GB空き)
実際にresourceの内容を空にするってことはあんまりないけど気になったので。

924 名前:デフォルトの名無しさん:2007/03/21(水) 22:35:05
>>923
エラーにならなかったよ。
WinXP SP2, WSH 5.6

925 名前:デフォルトの名無しさん:2007/03/21(水) 23:23:41
924 と同じ環境だが wscript/cscript 共に出ないな

926 名前:デフォルトの名無しさん:2007/03/21(水) 23:58:36
WSFはいろいろ障害があるよ。


927 名前:デフォルトの名無しさん:2007/03/22(木) 00:06:31
>923
W2k sp4 WSH5.6
3番目でエラーになった。

因みに、メモリーは充分空いているのに、irvineのスクリプトでもメモリー不足のエラーが出るときがある

928 名前:デフォルトの名無しさん:2007/03/24(土) 06:33:24
同じくエラー
Win2kSP4 WSH5.6

929 名前:デフォルトの名無しさん:2007/03/25(日) 00:34:59
>>923
エラーにならなかった
WinXP SP2 WSH5.6

XPだと大丈夫なのか

930 名前:デフォルトの名無しさん:2007/03/25(日) 01:39:12
>>923
エラー出さない@Vista

931 名前:デフォルトの名無しさん:2007/03/29(木) 22:11:54
質問なんだけど
Msxml2.XMLHTTP
とかではクッキーの扱いってどうなってるの?

ちなみに
>>923
エラー無し。XP SP2 WSH5.6

932 名前:931:2007/03/31(土) 05:33:16
御免。自分で調べる

933 名前:デフォルトの名無しさん:2007/04/01(日) 15:21:19
<job>
<script language="jscript">
WScript.Quit(1);
</script>
<script language="vbscript">
MsgBox 1
WScript.Quit 2
</script>
</job>
これも変

934 名前:デフォルトの名無しさん:2007/04/01(日) 19:57:37
3行目のWScript.Quit(1);の後に適当な式などを書けば意図通りになるね。
例えば、
0;
null;
orz;
など。

935 名前:デフォルトの名無しさん:2007/04/01(日) 22:05:20
ほしゅ

936 名前:デフォルトの名無しさん:2007/04/04(水) 17:07:02
.VBSはerr.raiseでもerrorlevel=0なのに.WSFは1になる
変なの


937 名前:デフォルトの名無しさん:2007/04/04(水) 20:39:26
ウェブサイトのページを保存することはできますか?

938 名前:デフォルトの名無しさん:2007/04/04(水) 20:47:50
はい、出来ます。

939 名前:デフォルトの名無しさん:2007/04/05(木) 00:15:24
いえ、それはトムです。

940 名前:デフォルトの名無しさん:2007/04/05(木) 00:46:01
>>937
できないだろ
Y岡様のMHT保存スクリプトを除いては

941 名前:デフォルトの名無しさん:2007/04/05(木) 01:54:09
メールが一つのフォルダに数千保存されていて、それらはMIMEでエンコードされた
状態です。その中からJPEG画像が添付されたメールのみ、添付画像をデコードして
他のフォルダに保存したいのですが、デコードの方法がさっぱりわかりません。
どうしたらいいでしょうか?

942 名前:デフォルトの名無しさん:2007/04/05(木) 11:03:08 ?2BP(222)
Google "base64 デコード wsh"

943 名前:デフォルトの名無しさん:2007/04/05(木) 19:31:57
>>937
そういうツール使うのが楽だと思うが、自分でやるなら
>>791


944 名前:943:2007/04/05(木) 19:35:01
アンカミス
>937>>942

945 名前:デフォルトの名無しさん:2007/04/06(金) 22:43:35
wshから呼び出すshell.applicationなどから出るメッセージボックスが
普通にやると前面に出るのに、wshからMsgBoxした後に呼び出すと、
背面に隠れるのはなんとかなりません?
呼び出しの中から出るのでAppActivateもできないし。。。

946 名前:デフォルトの名無しさん:2007/04/06(金) 23:31:21
PowerShell使おうぜ。

947 名前:デフォルトの名無しさん:2007/04/06(金) 23:47:56
MsgBox出すと駄目な例
Set ie=CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
Do While ie.Busy Or ie.ReadyState<>4
WScript.Sleep 100
Loop
'MsgBox "MsgBox"
ie.Document.parentWindow.alert "aaaaa"


948 名前:デフォルトの名無しさん:2007/04/07(土) 22:47:44
>>946
WSHよりココがいいとかある?

949 名前:デフォルトの名無しさん:2007/04/07(土) 22:57:24
.NET Fxが使えるのは大きいだろ

950 名前:944:2007/04/08(日) 03:16:24
重ね重ねアンカミス
>942>>941
CDE.Messageに食わせるのが簡単そう

951 名前:デフォルトの名無しさん:2007/04/08(日) 10:15:54
プラウザ上の画像をVBSのアイコン上にドロップすると、日時をファイル名にしてとあるディレクトリに保存するスクリプトを作りたいんですがここから先がわかりません
Set objArgs = WScript.Arguments
objArgs.CopyFile objArgs, "C:\hoge\"
ヒントだけでもいいのでお願いします

952 名前:デフォルトの名無しさん:2007/04/08(日) 11:34:06
をいw

953 名前:デフォルトの名無しさん:2007/04/08(日) 11:45:45
Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
datestring = replace(formatdatetime(now,vbShortDate),"/","") & replace(formatdatetime(now,vbShortTime),":","")
fso.CopyFile objArgs(0), "C:\hoge\" & datestring

954 名前:951:2007/04/08(日) 12:42:13
>>953 ありがとうございます(・∀・)
でも贅沢を言わせていただくと
ブラウザ上の画像を直接にドラッグ&ドロップするとエラー「ファイルが見つかりません」が出ます。
一旦デスクトップなどに落としてやるとうまく行くのですが・・・


955 名前:デフォルトの名無しさん:2007/04/08(日) 16:13:58
そりゃそうだろ。D&Dしたものが何なのか考えれば当然の結果だ。
というかD&Dではなく右クリックメニューに「日時をファイル名にしてとあるディレクトリに保存」とか作った方がいいんじゃね?
実行ホストがWSHではなくIEになるから詳しいことはスレ違いだが、言語はVBSが使えるし。

956 名前:デフォルトの名無しさん:2007/04/08(日) 17:36:18
なぜだろう?出来そうなものなのに。

957 名前:デフォルトの名無しさん:2007/04/08(日) 21:35:36
>>956
ヒント:セキュリティゾーンの権限設定


958 名前:デフォルトの名無しさん:2007/04/08(日) 21:41:22
FSOなのに関係する?

959 名前:デフォルトの名無しさん:2007/04/09(月) 15:59:04
VBSの質問です。よろしくお願いします。
ドロップしたものがファイルなのかフォルダなのかで処理を分けたいのですが、
ファイルかフォルダかを判定するのに便利な方法はないでしょうか?

こんな感じで考えてます↓ 
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Arg = WScript.Arguments
For i = 0 to Arg.Count - 1
   if Arg(i) = ※ファイルなら※
      MsgBox("ファイルです")
   else
      MsgBox("フォルダです")
Next

960 名前:デフォルトの名無しさん:2007/04/09(月) 16:07:24
便利も糞も無いよ。普通にFileExists、FolderExists使えばいいだけじゃん。
つーか↓これ見ればすぐわかるだろ。まさか持ってないの?

Windows Script 5.6 ドキュメント ダウンロード (exe 形式; 1.67 MB)
ttp://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe

961 名前:デフォルトの名無しさん:2007/04/11(水) 11:55:26
質問です。
wsh(wmi)でインストールされているwindowsコンポーネントの一覧を出力する方法ありますか
よろしくお願いします。

962 名前:デフォルトの名無しさん:2007/04/11(水) 14:48:28
>>961
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=37378&forum=7

963 名前:デフォルトの名無しさん:2007/04/11(水) 16:34:48
delコマンドのコンパチでゴミ箱に捨てるコマンドラインツールキボンヌ

964 名前:デフォルトの名無しさん:2007/04/11(水) 17:00:23
コマンドラインツールキボンヌ はすれちがいだろ
ここではshell.applicationつかえ


965 名前:デフォルトの名無しさん:2007/04/11(水) 17:18:01
>>964
そういうdel.jsくれ ってことじゃね?

966 名前:デフォルトの名無しさん:2007/04/11(水) 17:22:55
>>965
つくってやれよ

967 名前:デフォルトの名無しさん:2007/04/11(水) 18:48:56
>>963
http://pc11.2ch.net/test/read.cgi/tech/1148485555/810


968 名前:デフォルトの名無しさん:2007/04/13(金) 18:24:08
>>967
数行で作れるものをわざわざ

969 名前:デフォルトの名無しさん:2007/04/13(金) 20:05:42
shell.applicationのsuspendって効かないみたい。
代替方法ありますか?

970 名前:デフォルトの名無しさん:2007/04/13(金) 20:53:58
>>968
もったいぶらずに教えてよ。

971 名前:デフォルトの名無しさん:2007/04/13(金) 23:01:11
>>970
move <targetfile> c:\Recycler

972 名前:デフォルトの名無しさん:2007/04/13(金) 23:08:38
>>971
だからすれちがいだって

>>964 まで分ってるんだから作れるでしょ
>>971 をそのまんまshell.applicationに翻訳するだけ

973 名前:デフォルトの名無しさん:2007/04/13(金) 23:31:48
>>971
ちょっww、いくらなんでもそれはヒドスww

974 名前:デフォルトの名無しさん:2007/04/14(土) 15:36:25
WSC内でsleepする、いい方法ありませんか?Windowsの標準機能で

975 名前:デフォルトの名無しさん:2007/04/14(土) 15:50:09
>974
フツーに WScript.Sleep じゃダメなのか?

976 名前:デフォルトの名無しさん:2007/04/14(土) 15:58:59
WSCの呼び出し元はWSH以外も可としたいので

977 名前:デフォルトの名無しさん:2007/04/14(土) 16:07:59
WSCからWSH実行すればいいんじゃね?

978 名前:デフォルトの名無しさん:2007/04/14(土) 16:23:11
>>977
別ファイルですか
ならpingのほうがいいかな
精度/最小値を調べてみます

979 名前:デフォルトの名無しさん:2007/04/14(土) 16:42:23
最小値/誤差は
pingで0.25秒
wscript.sleepで0.35秒
でした。pingが使えそうですね。
ありがとさん

980 名前:デフォルトの名無しさん:2007/04/15(日) 09:11:16
PPPoEの接続と切断をXPのあのダイアログを開かずにやりたいんですが
どうやればいいですか?

981 名前:デフォルトの名無しさん:2007/04/15(日) 09:44:01
>>980
つ WMI

何を使うかがわかったら、どうやるかくらいは自分で調べようね

982 名前:デフォルトの名無しさん:2007/04/16(月) 13:49:53
新スレ
http://pc11.2ch.net/test/read.cgi/tech/1176698934/

983 名前:デフォルトの名無しさん:2007/04/16(月) 14:59:57
うめ

984 名前:974:2007/04/16(月) 22:04:29
>>981
おー、その手があった。39

985 名前:デフォルトの名無しさん:2007/04/17(火) 00:48:12
>>980
shell.applicationのnamespace(3)


986 名前:デフォルトの名無しさん:2007/04/17(火) 03:00:40
NameSpace(49)

987 名前:デフォルトの名無しさん:2007/04/17(火) 15:43:46
それらだと出るっしょ


全部 最新50
DAT2HTML 0.34bp Converted.