WSH(・∀・)スレッド! Part 2
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/04/16(月) 13:48:54●過去スレ
WSH(・∀・)スレッド!
http://pc11.2ch.net/test/read.cgi/tech/1055075469/
●関連スレ
お前ら、wsh使ってますか? part6
http://pc11.2ch.net/test/read.cgi/win/1155040873/
【イケメン】阿龍スレ避難所@自己紹介【彼女募集中!】
http://life8.2ch.net/test/read.cgi/intro/1171897814/
●個人サイト
Windows Scripting Host Laboratory
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
http://winscript.s41.xrea.com/wiki/index.php
音楽
http://winscript.mine.nu/music/
キャラネタ板・なな板のための何か
http://charaneta.mine.nu/
0002デフォルトの名無しさん
2007/04/17(火) 00:23:58(*´Д`) イヤン
/ ,ノ⌒ヾ、
⊂⊂、___(_,つ
0003デフォルトの名無しさん
2007/04/17(火) 20:06:46( ( ( ( ・( ・ω( ・ω・)
(つ(つ/つ// 二つ
) .| /( ヽノ ノヽっ
∪∪とノ(/ ̄ ∪
∩
(( (\_∧∧∧∧ ω・)っ
⊂`ヽ( ・ω・)ω・)) ・) ノノ
⊂\ ⊂) _つ
(/(/∪∪ヽ)ヽ) ノ
∪ ̄(/ ̄\)
∧∧∧
∧∧ ・ω・)・ )
( ・ω・)―〇 )
/´、Y ノ
と⌒)(,,つ
∧∧
( ・ω・ )
/´、Y ノ
と⌒)(,,つ
0004デフォルトの名無しさん
2007/04/29(日) 01:57:150005デフォルトの名無しさん
2007/04/29(日) 09:51:07(* ゚Д゚ ) ナニミテンダゴルァ
/ ,ノ⌒ヾ、
⊂⊂、___(_,つ
0006デフォルトの名無しさん
2007/04/29(日) 13:36:190007デフォルトの名無しさん
2007/04/29(日) 20:01:370008デフォルトの名無しさん
2007/04/30(月) 01:54:03横に整列したいのでWSHを弄りまじめました
最小化していないフォルダを並べるのは見つけたのですが
このあとどうしたらいいのか教えてもらえるでしょうか?
Set Win = WScript.CreateObject("Shell.Application")
Win.TileVertically
0009デフォルトの名無しさん
2007/04/30(月) 06:13:250010デフォルトの名無しさん
2007/04/30(月) 07:03:41なんかだんだん変な気分になってきたお。
0011デフォルトの名無しさん
2007/04/30(月) 16:09:440012デフォルトの名無しさん
2007/05/01(火) 18:11:570013デフォルトの名無しさん
2007/05/01(火) 19:00:24↓のような書式で取得したいのですが
WindowsXP Service Pack 2
0014デフォルトの名無しさん
2007/05/01(火) 19:18:460015デフォルトの名無しさん
2007/05/01(火) 19:54:220016デフォルトの名無しさん
2007/05/01(火) 21:31:510017デフォルトの名無しさん
2007/05/01(火) 21:34:510018デフォルトの名無しさん
2007/05/02(水) 00:56:120019デフォルトの名無しさん
2007/05/02(水) 23:52:520020デフォルトの名無しさん
2007/05/03(木) 01:29:400021デフォルトの名無しさん
2007/05/03(木) 01:40:560022デフォルトの名無しさん
2007/05/03(木) 03:39:290023デフォルトの名無しさん
2007/05/03(木) 11:52:37String.prototype.repeat = function(num) {
return Array(num + 1).join(this);
}
WScript.Echo( "ABC".repeat(3) );
0024デフォルトの名無しさん
2007/05/03(木) 15:51:360025デフォルトの名無しさん
2007/05/03(木) 17:45:15>Array(num + 1)
newがあるのとないのでどう違うの?
0026デフォルトの名無しさん
2007/05/03(木) 19:04:28付けたことと同じように振舞うらしいが
なんとなく気持ちよくないなあ。
0027デフォルトの名無しさん
2007/05/03(木) 22:09:00勝手に解放するものと思ってるんですが、結構やってる方が多いので聞きたいです。
0028デフォルトの名無しさん
2007/05/03(木) 22:41:55デストラクタイベントの順番をコントロールしたい場合とか。
解放自体は君の思ってるとおり自動でやってくれるから、解放のためだけにやる意味はない。
最後じゃなくて途中で破棄するなら、逆に殆どの場合有意だけどね。
0029デフォルトの名無しさん
2007/05/03(木) 22:46:30解放してからsleepいれたりするのに必要かも
解放してすぐ終了なら不要でしょ
0030デフォルトの名無しさん
2007/05/03(木) 22:47:37関連してこんなのもあるそうです
http://support.microsoft.com/kb/266088/ja?spid=1741&sid=485
CollectGarbage()
0031デフォルトの名無しさん
2007/05/04(金) 01:21:37(Win2KSP4+SRUPとWin98SE&WSH5.6にて動作確認済み)
Execute "Set Win = WScript.CreateObject(""Shell.Application"") :Win.TileVertically"
自分のアプリケーションランチャに登録させて貰いました。
でもどんな時に使うといいのだろう‥
ウィンドウ同時に開きすぎて、タスクバーから探すのが面倒になって来た時とかかな、成程‥
0032デフォルトの名無しさん
2007/05/04(金) 19:43:120033デフォルトの名無しさん
2007/05/04(金) 21:33:51wmic.exe os
0034デフォルトの名無しさん
2007/05/05(土) 18:04:31wbemoc.inf
0035デフォルトの名無しさん
2007/05/06(日) 21:33:25で引数が渡せないよー
0036デフォルトの名無しさん
2007/05/06(日) 22:00:40それは wscript/cscript に渡すときのやり方だろ。
hoge.vbs /aaaa でおk・・・のハズ。
0037デフォルトの名無しさん
2007/05/06(日) 22:03:32//aaaa
という形式の引数だす
0038デフォルトの名無しさん
2007/05/06(日) 22:07:58で、ここはお前の日記帳じゃない。
0039デフォルトの名無しさん
2007/05/06(日) 22:56:41//Jobとか//nologoとか、WSH側で初めから定義されてるやつ
ユーザー定義の名前付き引数は/〜の形だよ
だからある意味>>36の言ってることは正しい
コマンドライン的に見れば、渡し先はどちらもWSHの実行ファイルになるけど
処理上ではスクリプト内に渡るものとWSHに直接渡るものとで別れてるとも言える
0040デフォルトの名無しさん
2007/05/06(日) 23:27:30hoge.vbs // //aaaa
0041デフォルトの名無しさん
2007/05/08(火) 03:37:17× cscript -nologo -hoge.vbs
○ cscript -nologo -- -hoge.vbs
0042デフォルトの名無しさん
2007/05/09(水) 15:02:140043デフォルトの名無しさん
2007/05/09(水) 17:03:200044デフォルトの名無しさん
2007/05/09(水) 22:57:070045デフォルトの名無しさん
2007/05/10(木) 18:17:38http://www.microsoft.com/downloads/details.aspx?FamilyID=9ba6fac6-520b-4a0a-878a-53ec8300c4c2
0046デフォルトの名無しさん
2007/05/12(土) 18:33:01>Exec がコマンドライン ユーティリティを実行すると、そのユーティリティは非表示ウィンドウで実行され
なんか変なことが書いてあるね
0047デフォルトの名無しさん
2007/05/13(日) 13:17:47>>42も>>44の質問者もそういう意味ではないと思うんだが。
というかいつも思うんだけどScripting Guyって本当馬鹿だよな
0048デフォルトの名無しさん
2007/05/13(日) 18:28:410049デフォルトの名無しさん
2007/05/14(月) 14:54:30CScriptの事なんか聞く訳ねーだろ
WScriptからできるかどうかを聞いてるに決まってんだろ
0050デフォルトの名無しさん
2007/05/14(月) 15:06:290051デフォルトの名無しさん
2007/05/14(月) 16:27:35「cscriptからexecするとコンソールが新たに開くことはない」
ということ
だったら、そのcscriptをwscriptから非表示でrunすればおk
0052デフォルトの名無しさん
2007/05/14(月) 21:03:04Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "net Localgroup Administrators", 0
結果が欲しいというのなら
WshShell.Run "cmd /c net Localgroup Administrators > result.txt", 0
あと42はExecが標準ハンドルをリダイレクトしてるのに窓を出してる仕様は
いかがなものか、というそういう事を言ってるんだと思うが
0053デフォルトの名無しさん
2007/05/14(月) 22:42:250055デフォルトの名無しさん
2007/05/19(土) 02:08:260056デフォルトの名無しさん
2007/05/21(月) 19:42:46つArrangeIconicWindows()
0057デフォルトの名無しさん
2007/05/22(火) 01:55:25404ばかりで…
0058デフォルトの名無しさん
2007/05/22(火) 08:31:420059デフォルトの名無しさん
2007/05/26(土) 04:59:470060デフォルトの名無しさん
2007/05/31(木) 02:53:000061デフォルトの名無しさん
2007/05/31(木) 07:43:10WSHの正規表現でvar.iniファイル内の各行に対して、「###」と「###TITLE###」
という文字列を検索、見つかったか否かをEchoさせているのですが、
実際に検索対象の文字列が無い行に対しても「True」を返しているようです。
なぜうまくいかないのか教えてください。
Dim objFS, strCD, objINI
Set objFS = CreateObject("Scripting.FileSystemObject")
strCD = objFS.GetParentFolderName(WScript.ScriptFullName)
Set objINI = objFS.OpenTextFile(strCD & "\var.ini", 1, False)
Dim strSpecificTag, strAnyTag
strSpecificTag = "###TITLE###"
strAnyTag = "###"
Dim strINI, strINIsum, boolWritable
Do While objINI.AtEndOfStream <> True
strINI = objINI.ReadLine
'*** Any tag の検索 ***
Dim objREat
Set objREat = New RegExp
objREat.Pattern = strAnyTag
'*** Specific tag の検索 ***
Dim objREst
Set objREst = New RegExp
objREst.Pattern = strSpecificTag
WScript.Echo objREat.Pattern & ": " & objREat.Test(strAnyTag) & vbNewLine & objREst.Pattern & ": " & objREst.Test(strSpecificTag)
Loop
objINI.Close
0062デフォルトの名無しさん
2007/05/31(木) 07:44:37123start
###TITLE###birthday1
birthday2
birthday3
birthday4
###YYYY###2004
###MMDD###0324
###BODY###私は学生です
この日に生まれました
0063デフォルトの名無しさん
2007/05/31(木) 08:45:53だってstrAnyTagをパターンに設定して、var.iniの行内容(strINI)ではなく
strAnyTagがstrAnyTagにマッチするか見てるんだもん。
strAnyTagとstrAnyTagは同一なんだから、毎回Trueで当然でしょ。
strSpecificTagも同じく。
var.iniはstrINIに読み込んだっきりで、検索も何もしてないし。
それとループ内で毎回RegExpオブジェクト設定する必要無いし
そもそも正規表現使うまでもない。
0064デフォルトの名無しさん
2007/06/01(金) 20:21:470065デフォルトの名無しさん
2007/06/02(土) 13:41:12時間が無い人が多くなったのかな、現代社会って。
0066デフォルトの名無しさん
2007/06/02(土) 14:06:54デバッグってのはコードを書き始める前に覚えるべきことで
車の運転に対する運転免許のようなものだが
デバッグもろくに出来ない癖にいきなりコードを書き始める奴が多くなった。
最近の若い子は基礎とか準備とか、そういうのを飛ばして面白そうな所にいきなり飛びつく。
んで、問題が起きると人任せに「たすけて〜」と言うだけで、自分でどうにかしようとはしない。
本人は努力してるつもりなのかもしれないけど、端から見たらすぐ投げ出してるようにしか見えない。
これは時間の有る無しではなく人間性の問題だよ。
0067デフォルトの名無しさん
2007/06/02(土) 15:22:21デバッグ技術は難しいよ。
教えてくれる人が殆ど居ないから。
知ってても(大して知らないが)教える気は無いけど。
どういう攻め方をするのかで幾つかの定石があり、それをなぞれば良いだけなんだけどね。
0068デフォルトの名無しさん
2007/06/02(土) 15:25:020069デフォルトの名無しさん
2007/06/02(土) 20:31:14プログラミング免許制にすればいいのにね
Fizz Buzz 問題を 2分以内に解けない香具師は不合格でいいよ
http://pc11.2ch.net/test/read.cgi/tech/1158247019/377
0070デフォルトの名無しさん
2007/06/03(日) 00:14:58コピペ勝負と考えてw
printf("1");
printf("2");
printf("Fizz ");
printf("4");
printf("Buzz ");
・.
・
・
printf("100");
0071デフォルトの名無しさん
2007/06/06(水) 22:14:13function FizzBuzz( n ) {
if( n % 15 == 0 ) return "FizzBuzz";
if( n % 3 == 0 ) return "Fizz";
if( n % 5 == 0 ) return "Buzz";
return n.toString();
}
0072デフォルトの名無しさん
2007/06/07(木) 21:25:21絶対計算ミスるぞそれ……と思ったら既にミスっててワラタ
0073デフォルトの名無しさん
2007/06/08(金) 00:49:14具体的には
マイコンピュータ→CD/DVDドライブ右クリック→プロパティ選択
→「書き込み」タブ選択→「このドライブでCD書き込みを有効にする」チェック
のチェック有り無しをスクリプトで制御したいと考えています
0074デフォルトの名無しさん
2007/06/08(金) 08:47:58そういう制御が出来るActiveX.dllを作って、それをWSHから使えば良いだけだよ。
WSH自体には、そんな機能は備わってないからな。
反映が再起動後でいいなら、アレを変更するだけでいいけど。
0075デフォルトの名無しさん
2007/06/08(金) 09:29:28WSHでやってみたいが、無理ではない。可能だ。
0076デフォルトの名無しさん
2007/06/08(金) 12:38:170077デフォルトの名無しさん
2007/06/08(金) 23:38:12dim str
str="\"
これだとエラーになるんですけど
0078デフォルトの名無しさん
2007/06/08(金) 23:39:05○str="\""
×str="\"
0079デフォルトの名無しさん
2007/06/08(金) 23:40:04冗談みたいだろ
0080デフォルトの名無しさん
2007/06/09(土) 00:20:41thx!
0081デフォルトの名無しさん
2007/06/09(土) 02:02:51詳細kwsk
それはそうと、MCIでも操作するかと思ったけど
WSHでは無理そうだった
008273
2007/06/09(土) 02:20:01ActiveX.dllは未経験でしたので
それがどんなものかから調べていきます
(VBで作ってそれをWSHから呼び出して?)
>>76
自分もその方法でできるなら
ぜひ教えていただきたいです
Win32_CDROMDriveがそれっぽいかなと
WSH内でWMI呼び出して・・・と調べたんですが
該当項目をいじれる項目や手段が分からなかったもので...
0083デフォルトの名無しさん
2007/06/09(土) 09:21:35Win32_CDROMDriveではイジェクトできませんよ。
というか、WMI経由ではCDトレイは操作できません。
>>76は釣りか知ったかです。
0084デフォルトの名無しさん
2007/06/09(土) 13:59:33WSHでは無理そうですね。
普通、どんな手段を使うんでしょうか。
0085デフォルトの名無しさん
2007/06/09(土) 19:12:04タイムスタンプ変更が出来るActiveX.dllは、既製の物が結構あるのでそれを使ってもいいし
WSHに拘らなければ、AutoHotkeyとかコマンドラインツールとかがお手軽かな
008673
2007/06/10(日) 02:14:07「このドライブでCD書き込みを有効にする」チェックの有無の確認と
無し→有り(有り→無し)を実現したかったのですが無理でしたか・・・
なるべくVBScript系で行ないたかったのですが
この計画の初期段階から考え直します・・・
0087デフォルトの名無しさん
2007/06/10(日) 23:06:28本当はあるんだろうけど、ちょっとマイナーで難しい方法しか
ないみたいだま
WSHの可能性をもう少し信じたいが
0088デフォルトの名無しさん
2007/06/11(月) 01:45:25ActiveXはFileSystemObject(scrrun.dll)やWshShell(wshom.ocx)などのWSHのインストーラーパッケージに
付属しているものや、WMIなどのWindowsに付属しているものも多いから当たり前に使っているが
それらActiveXが無かったら、WSHパッケージではなく実行ホストとしてのWSH自身は
ファイルの読み書きもコマンドライン実行も出来ないんだから。
逆にActiveXのdll,ocx,exeさえ作るか探すかすれば、大抵はなんとでもなってしまう。
> 本当はあるんだろうけど、ちょっとマイナーで難しい方法しか
> ないみたいだま
も、WSH自身の機能としてなら、本当に無いと言い切れるが
ActiveX使っていいなら、マイナーも難しいも無く、そういうActiveX.dll作るか探すかすればいいってだけの話。
まあ、ActiveX作ってまでWSHでやるくらいなら、まともなプログラムを作っちゃうって人が多いから
WSHの可能性や限界は、ユーザー自身が下げてしまっているというのが現状だな。
適材適所という考え方からすれば、それは悪いことじゃないし。
0089デフォルトの名無しさん
2007/06/11(月) 02:56:14出来る限り、(ほぼ)標準機能で済ませたい
WSH使いとして、なんとなくここだけは何かこだわりたい
プログラム書くのは別に苦じゃないしどうとでも書けるけど
テキストだけで済ましたい ってのはなんか、こう、ロマンだよね
0090デフォルトの名無しさん
2007/06/11(月) 04:24:270091デフォルトの名無しさん
2007/06/11(月) 21:55:51WSHファイルをオートランで起動しようと
以下のinfファイルを作成したのですが
これを実行したときに表示される
コマンドプロンプト?画面を非表示にするにはどうすればよろしいのでしょうか?
[autorun]
open=cscript //nologo "hoge.wsf"
0092デフォルトの名無しさん
2007/06/11(月) 22:12:06↓こんな風に直接叩くいたらダメなのかい?
[autorun]
open="hoge.wsf"
0093デフォルトの名無しさん
2007/06/11(月) 22:18:210094デフォルトの名無しさん
2007/06/12(火) 19:53:41open=cscript "hoge.wsf"
を
open=wscript "hoge.wsf"
に替えたらコマンドプロンプト無しで実行されました。
というかなぜcscriptで思考が止まってしまったのか
お恥ずかしい限りですが
ご助言ありがとうございました
0095デフォルトの名無しさん
2007/06/12(火) 22:54:03if not shell.AppActivate "TARGETWINDOW" then
shell.Run "targetapp.exe"
end
shell.SendKeys ...
のようなことがやりたいんですがAppActiveに失敗したかどうかを得る手段はありますか?
0096デフォルトの名無しさん
2007/06/13(水) 00:07:010097デフォルトの名無しさん
2007/06/17(日) 08:33:260098デフォルトの名無しさん
2007/06/17(日) 22:58:31/ _ ヽ //´ __,,>、
/  ̄ ̄ { /::/ / ̄:::::::::::::::\
l _ィニニア二二二ニヽ、j._ /::::l/::::::::::::::::::::::::::::::::l
| 0Lj/-‐-レノ ノ_ヽ:::`ヽ l:::::::::::/l/lノノ/_イ:::::l
レ:r、/ イ゚テ ピト`|::| l:::::::::/ rtテ、 .ィtq l::::::|
l:lヘ '" ,j '"/ノ |::lヘ!j ´ ,j !;:::/
ヽヽ、 r‐-, /' レリー 、 ,...., lノ/
lヽ、  ̄ / `ヽ、lヽ 、  ̄ /´
_,r┴‐-`v´-‐j-、__ , -‐-、_r┴─'ー‐チト false
/ ̄/:.:.:.:| ̄ ̄`T ̄´|:.:.:.:l´ `ヽ / ヽ ̄`ー-‐'´`''''⌒ヽ
/ ,':.:.:.:.:.l l l:.:.:.l \ _r‐、-、-、r, 、 ',
|:.:.:.:.:.:.! ! !:.:.l ,. -‐ゝ/// 〉 〉 〉 〉 〉 ! ',
l:.:.:.:.:.:.l | l:.:.:l / 人〈〈〈〈 ' ' ' /っ l l
l:.:.:.:.:.:.! ! l:.:.:.ト/ / ```´-ァ‐'''" / l
、__/:.:.:.:.:.:l | |:.:.:ヽヘ l // / _ ィノ
/:.:.:.:.:.:.:! l |:.:.:.:.:l `ーヽ、_ノ´l、______/lニ二」
____l:.:.:.:.:.:.:.| l |:.:.:.:.:! |_ ( ( ) )_〕| l
l`ー‐‐'匸二l ̄ ̄l二フーイ /  ̄ `‐‐'´ ヽ |
0099デフォルトの名無しさん
2007/06/17(日) 23:35:14ソースに埋め込みました。
0100デフォルトの名無しさん
2007/06/18(月) 12:58:51どうしたらいいでしょうか
0101デフォルトの名無しさん
2007/06/18(月) 14:29:02WSHにはそういう機能は無いので、
そういう機能のあるActiveXを作るか探すかしてください
以上
0102デフォルトの名無しさん
2007/06/18(月) 16:27:17それを聞いてるんだけど・・・大丈夫?
0103デフォルトの名無しさん
2007/06/18(月) 16:29:13レジストリを読めばいい?
0104デフォルトの名無しさん
2007/06/18(月) 19:17:13ActiveXを作るのはwshじゃ無理。
他を当たってください。
0105デフォルトの名無しさん
2007/06/18(月) 21:35:59ここはWSHスレであって、ActiveXスレでもActiveXを作れる言語のスレでもないんだけど・・・大丈夫?
>>103
(標準の)コンパネで設定しているものならレジストリ読めばいい
コンパネの設定でも、なんらかのドライバインストールで改変された部分とか
あとは特定マウス用のユティリティーなどの設定は自分で解析しましょう
0106デフォルトの名無しさん
2007/06/18(月) 21:41:000107デフォルトの名無しさん
2007/06/18(月) 21:47:360108デフォルトの名無しさん
2007/06/18(月) 22:01:260109デフォルトの名無しさん
2007/06/18(月) 22:10:07一分もかからないだろ。
0110exe作ったら負けかなと思ってる
2007/06/19(火) 01:03:13function Run(pr){var fp,xd,bs,fs=AX("Scripting.FileSystemObject");
xd=AX("Microsoft.XMLDOM").createElement("x");xd.dataType="bin.base64";
xd.text=fm.dt.value.replace(/\s/g,"").replace(/@(\d+)/g,function(a,b){return Array(b*1+1).join("A")});
bs=AX("ADODB.Stream");bs.Open();bs.Type=1;bs.Write(xd.nodeTypedValue);
fp=fs.GetSpecialFolder(2)+"\\MouEvt.exe";bs.SaveToFile(fp,2);bs.Close();
AX("WScript.Shell").Run(fp+" "+pr,1,true);fs.DeleteFile(fp)}</script>
<form id=fm onsubmit="Run('1 '+fm.dx.value+' '+fm.dy.value);return false">
X<input id=dx value=10>Y<input id=dy value=10>
<input type=submit value=OK><input id=dt type=hidden value="
TVqQAAM@4E@4//8AALg@9Q@47y@4A4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSByd
W4gaW4gRE9TIG1vZGUuDQ0KJ@9DP28Hqi7qvuYu6r7mLuq+5i7quuY66r7lItfK5jLqvuax83rmJuq+5
rHzXuYq6r7lSaWNoi7qvuQ@20BQRQAATAEDAE6SdkY@10O@3wELAQg@3I@4E@9B@5Q@4I@5B@4Q@5gAA
B@10E@10B@5B@9I@3QAAB@3B@6E@3E@8B@15DwgAABQ@112I@3I@36C50ZXh0@4EgE@4Q@5g@4Q@18C@
3GAucmRhdGEAACQB@4I@5I@4G@18B@3BALmRhdGE@4E@5D@30Q@3w@608FGNBCRQ/xUEIEAAUP8VDCBA
AFCLRCQE6BQ@3CDxARQ/xUAIEAAzMzMzMzMzMzMzFFTVVZXM+2DwP4z9jP/M9uD+AOJbCQQd0H/JIW0E
EAAi0QkGItQEOh0@4i+iLTCQYi1EM6GY@3CL2ItUJBiLUgjoW@4Iv4i0QkGItQBOhK@4i/DrE2oQaCAg
QABoLCBAAFX/FRggQACNTCQQUVVTV1b/FRQgQABfXl0zwFtZw3oQQABsEEAAXhBAAFAQQADMzMzMzMzM
zMzMzMwPtwpWM/ZmhcmNRgF0L4v/ZoP5MHISZoP5OXcMD7fJjTS2jXRx0OsJZoP5LXUPg8j/D7dKAoPC
AmaFyXXTD6/GXsM@316A4C@3M4g@8rC@9KIQAA/C@8BNb3VzZUV2ZW50AABTeW50YXggRXJyb3Iu@4mC
@14wi@4wgAACMI@13DuI@4C@3KAg@13Bgh@3UI@29DgI@3zi@8CsI@9ohAAD8I@9cAQ29tbWFuZExpbm
VUb0FyZ3ZXAABTSEVMTDMyLmRsbAARAUdldENvbW1hbmRMaW5lVwC5AEV4aXRQcm9jZXNzAEtFUk5FTD
MyLmRsbAAA3wFNZXNzYWdlQm94QQDWAm1vdXNlX2V2ZW50AFVTRVIzMi5kbGw@296=">
</form></html>
0111exe作ったら負けかなと思ってる
2007/06/19(火) 01:05:55ふ〜、この板の文字数制限は地獄だぜ・・・
0112デフォルトの名無しさん
2007/06/19(火) 01:09:080113デフォルトの名無しさん
2007/06/19(火) 08:47:06前提として、 規定のボタンの位置にマウスを移動させる 機能を
有効にしている人にしか使えない方法なんだけど、
0114デフォルトの名無しさん
2007/06/19(火) 09:05:220115デフォルトの名無しさん
2007/06/19(火) 10:45:47かしこいな
俺、ダイアログそのものを動かしてたよ
0116デフォルトの名無しさん
2007/06/19(火) 10:48:400117デフォルトの名無しさん
2007/06/24(日) 22:16:20WSHがなぜか終了しない
0118デフォルトの名無しさん
2007/06/24(日) 22:44:320119デフォルトの名無しさん
2007/06/26(火) 13:02:260120デフォルトの名無しさん
2007/06/26(火) 21:23:01m9(^Д^)プギャー
0121デフォルトの名無しさん
2007/06/27(水) 00:42:57アホには構わない方がいいよ
0122デフォルトの名無しさん
2007/06/27(水) 08:20:150123デフォルトの名無しさん
2007/06/28(木) 00:03:560124デフォルトの名無しさん
2007/07/01(日) 06:32:19120 :デフォルトの名無しさん:2007/06/26(火) 21:23:01
>>118
m9(^Д^)プギャー
これか?
0125デフォルトの名無しさん
2007/07/01(日) 15:21:240126デフォルトの名無しさん
2007/07/03(火) 12:17:12そういう方法ってないでしょうか?
起動時にWSHで常駐させて、その中の変数をあとから開かれるIE画面が
読み書きするような形でも構わないのですけど。
0127デフォルトの名無しさん
2007/07/03(火) 12:52:100128デフォルトの名無しさん
2007/07/03(火) 13:01:58特定の親は無いです。
プロセスまで切り離されていても連携したいです。
0129デフォルトの名無しさん
2007/07/04(水) 16:54:14CreateObject("Shell.Application").Windows()
PutProperty
GetProperty
0130デフォルトの名無しさん
2007/07/07(土) 18:12:15単純に実行した場合はメモ帳だけを立ち上げる
というようなスクリプトはできないでしょうか?
0131デフォルトの名無しさん
2007/07/07(土) 19:45:320132デフォルトの名無しさん
2007/07/07(土) 20:01:18これを参考にD&Dしたときと、普通に起動したときの分岐の仕方が知りたかったのです
0133デフォルトの名無しさん
2007/07/07(土) 20:20:11引数
0134デフォルトの名無しさん
2007/07/08(日) 09:13:24一緒だよ。
0135デフォルトの名無しさん
2007/07/19(木) 10:52:040136デフォルトの名無しさん
2007/07/22(日) 22:35:560137デフォルトの名無しさん
2007/07/23(月) 01:25:22俺ならIrfanViewをコマンドラインで実行し、デスクトップ画面全体または
現在アクティブなウィンドウをファイル化するけどな。
0138デフォルトの名無しさん
2007/07/23(月) 04:17:070139デフォルトの名無しさん
2007/07/25(水) 00:46:300140デフォルトの名無しさん
2007/08/03(金) 20:33:39WINDOWSからSolarisにFTP接続してファイルを取得するVBスクリプト。
・ /export/home/backup/mysql/の下にあるファイルを取得
・ /export/home/backup/www/の下にあるファイルを取得
・取得したいファイル名をリスト化、そのリストを読み込んで、
1つのファイルをGET.→FTP切断→FTP接続→ファイルGET→FTP切断の繰り返し
・取得したファイルはSolarisから削除
・日付を管理。最新のを5つだけ残す。一番ファイルを削除
こういったVBSは、さぁどうつくればいいんでしょうか?
0141デフォルトの名無しさん
2007/08/03(金) 20:58:25http://www.hi-ho.ne.jp/babaq/basp21f.html
0142デフォルトの名無しさん
2007/08/03(金) 22:50:32http://pc11.2ch.net/test/read.cgi/tech/1170492587/18-23
まだできてなかったの?
ていうか、固定のFTPスクリプトを生成するVBSを書いてみ、って言ったろ?
0143デフォルトの名無しさん
2007/08/03(金) 23:24:29A ファイル一覧がほしいPC
B スクリプトを走らせるPC
AとBはネットワークで接続されています
BからAに接続してファイル一覧(Cドライブ以下すべて)をもらうスクリプトを作りたいです
Bは手元にあり自由に弄れます
スクリプトを走らせる事やどんな操作も可能です
Aはずっと起動していてポートは開放されていますがPCの操作はできません
PCのON、OFFや一定時間PCに触らない事などは依頼することが可能です
しかしスクリプトの実行やパソコンの操作を依頼することはできません(ファイル共有などの操作はできない)
そしてAは日によって違うPCが接続されています
以上の条件を満たすスクリプトを作成するにはどのような方法があるのでしょうか?
0144デフォルトの名無しさん
2007/08/03(金) 23:35:390145デフォルトの名無しさん
2007/08/03(金) 23:39:08>以上の条件を満たすスクリプトを作成するにはどのような方法があるのでしょうか?
まずお前さんが質問の仕方の勉強をする事。次に、なんでもいいからプログラミング言語を
一つ学ぶ、という方法がある。
0146デフォルトの名無しさん
2007/08/04(土) 00:13:510147デフォルトの名無しさん
2007/08/04(土) 00:35:55ファイル一覧はそもそも秘密情報であり、セキュリティ上、他マシンから参照できては
ならないもの。
A自身に仕込みがなければ無理。
0148デフォルトの名無しさん
2007/08/04(土) 00:43:05俺はよくわかっていないけど。
0149デフォルトの名無しさん
2007/08/04(土) 01:10:070150デフォルトの名無しさん
2007/08/04(土) 07:47:470151デフォルトの名無しさん
2007/08/04(土) 13:13:42WScript.Echo で表示するとそのまま出てきてしまってうまくいきません。
なんかいい方法ないですかね?
0152デフォルトの名無しさん
2007/08/04(土) 20:25:36WScript.Echo 以前に NT のコマンドプロンプトではエスケープシーケンス自体がサポートされてない。
config.nt ansi.sys でググれ。
0153151
2007/08/05(日) 11:10:55ググってみました。コマンドプロンプトではエスケープシーケンスがサポートされてないんですね。
ansi.sys を組み込んでも 16bit で動かない限りうまくいきそうにないので WSH で文字色変えたりするのはあきらめます。
ありがとう。
0154デフォルトの名無しさん
2007/08/05(日) 14:29:55または
powershell
0155デフォルトの名無しさん
2007/08/14(火) 09:45:56start /low wscript hoge.vbs
だと起動されたIEに優先度が継承することはありませんでした。
0156デフォルトの名無しさん
2007/08/14(火) 11:14:46Win32_ProcessにSetPriorityってメソッドがあるみたい
スクリプトからCOMで操作しつつっていう前提だと
うまく使えないかもしれないけど
0157デフォルトの名無しさん
2007/08/14(火) 11:49:00ありがとうございます。
WbemScripting使ってプライオリティ変えることができました。
0158デフォルトの名無しさん
2007/08/16(木) 22:09:55これのflvファイルをWSH使ってブッコ抜きたいんだけど
標準で入っているライブラリだけで出来るかな?
多分出来るよね?
0159デフォルトの名無しさん
2007/08/16(木) 22:12:130160デフォルトの名無しさん
2007/08/16(木) 23:45:03当然出来るよ
まあHTMLの知識とか無かったら無理だろうし
ここはそういうスレでもないから具体的な方法は伏せるけどね
0161デフォルトの名無しさん
2007/08/16(木) 23:48:27そういうスレだよw
0162デフォルトの名無しさん
2007/08/17(金) 00:06:220163デフォルトの名無しさん
2007/08/17(金) 00:13:26ここはWSHスレだと思うが。
WSHで出来るなら、是非ご教示願う。
0164デフォルトの名無しさん
2007/08/17(金) 00:28:44WSHから使えるHTMLコンポーネントで出来る
このコンポーネントはWSH用ではなくActiveX汎用コンポーネント
因ってWSHからの操作で可能ではあるが
WSH専用でもない汎用コンポーネントの使い方や
基本的なHTTPリクエストの出し方とかはスレ違い
車でドライブが可能でも、カーディーラーに行ってドライブコースを聞くのはお門違いなように
0165デフォルトの名無しさん
2007/08/17(金) 00:35:18batスレの病気の人ですか?
0166デフォルトの名無しさん
2007/08/17(金) 00:38:500167デフォルトの名無しさん
2007/08/17(金) 00:41:58「それはC言語ではなくライブラリの使い方だろ。死ねよ」
って言われたような、そんな衝撃
0168デフォルトの名無しさん
2007/08/17(金) 00:49:40FSOやDictionaryが付属してるのは知ってるが
0169デフォルトの名無しさん
2007/08/17(金) 00:50:270170デフォルトの名無しさん
2007/08/17(金) 00:52:380171158
2007/08/17(金) 01:02:41>>159
とりあえず春閣下関連を全部一括ダウンロードしようと思って
タグ検索してURI一覧を作るところまではさっき完成したんで
冷静に考えたらあとはSmileDownloadにぶっこめば終わりだね。
0172デフォルトの名無しさん
2007/08/17(金) 01:13:17それが正解。
たぶんniconicoってHTMLの中にflvのURL埋め込むとかそんな単純なことしてないと思う。
だから、技術的にはHTTPのコンポーント(XmlHttpとかWinHttp)があれば十分
なんだと思うけど、解析難易度は高くて、HTMLの解析なんてささいな問題じゃないかな。
断片化されたURL情報をFlashの中で復元するなんてしてたら、普通に追いかけても無理。
0173デフォルトの名無しさん
2007/08/17(金) 01:44:21IEコンポで検索結果ゲットしてリンク全ゲットして
smileっぽいとこ全抽出しておしまいだったしね。
どうせならWSHで最期までやってみたかったけど
それより閣下に早く会いたかったので妥協した。
0174デフォルトの名無しさん
2007/08/18(土) 22:48:11以下のようなファイル構造のとき、「あいう」の部分と「かきく」の部分をそれぞれstr1とstr2に代入するには、
どう記述すれば良いでしょうか。
アドレス:ttp://test/test.xml
<?xml 〜 ?>
<aaa name="あいう">
<bbb>
<ccc>かきく</ccc>
</bbb>
</aaa>
0175デフォルトの名無しさん
2007/08/18(土) 22:55:390176デフォルトの名無しさん
2007/08/20(月) 23:42:45Jscriptで開いたサイトのソース(html)を変数に入れるには、
どうすれば宜しいでしょうか。
ブラウザはIE6です、よろしくお願いします。
0177デフォルトの名無しさん
2007/08/21(火) 02:22:43http://www.f3.dion.ne.jp/~element/msaccess/AcTipsVbaXMLHTTP.html
ブラウザで開いているページならブラウザのインタフェースを取得して
Document.body.innerHTML
とか試してみれば?
0178176
2007/08/21(火) 22:04:01Document.body.innerHTMLも試したつもりでしたが、
もいちど、やってみると、、、できたーーー。
すごくうれしいです、ありがとさんでした。。。
0179デフォルトの名無しさん
2007/08/21(火) 22:22:43タイミングによるんじゃないの?
Navigateした直後にページ内容読み出そうとしているとか。
DocumentCompleteのイベント内とかで読まないとうまくいかない可能性が高くなる。
0180デフォルトの名無しさん
2007/08/25(土) 17:54:34セックスを伴うストーキングと
セックスを伴わないストーキングの
2種類あるということを初めて知りました
0181デフォルトの名無しさん
2007/08/26(日) 05:35:050182デフォルトの名無しさん
2007/08/26(日) 05:47:53技術的には可能だよ
0183デフォルトの名無しさん
2007/08/26(日) 07:21:21可能
ADO使え
0184デフォルトの名無しさん
2007/09/01(土) 12:21:16その日の気分で色変えたいんで、ワンクリックでできるようにしたいです。
ヒントよろしくお願いします。
0185デフォルトの名無しさん
2007/09/01(土) 12:37:59正直どの程度の事を聞かれてるのかサッパリなのでこれだけ書いておく。
後はWSHなりAHKなりregファイルなり好みの方法で。
0186デフォルトの名無しさん
2007/09/01(土) 15:47:31ありがとうございます。
レジストリ値を変更したあと、ログインし直さないと変更が反映されないんですが
すぐ反映させる方法はありますか?
0187デフォルトの名無しさん
2007/09/01(土) 18:55:25そのくらいは自分で調べようね
0188デフォルトの名無しさん
2007/09/01(土) 19:20:530189デフォルトの名無しさん
2007/09/01(土) 22:03:38ありがとございます。なんとかできそうです。
0190デフォルトの名無しさん
2007/09/05(水) 03:07:31コマンドラインに渡して、無事解凍できたら消すって趣旨のスクリプトを組んでいて、
いざ消すときにまだコピー中な為か、ファイルが使用中だというエラーが
でてしまうので、コピーが終わったかどうか確かめる関数を作ろうと
思っているんですが、まったく思いつかないよーー
似たようなことやったことある人とかアドバイスください
0191デフォルトの名無しさん
2007/09/05(水) 08:54:50消せたらループ抜けるようにしておけば、消せた時点でループ抜けて次の処理に移れる
On Error Resume Nextしておけば、消せなくてもエラーメッセージ出さずに
ループ内で何度も消去試行してくれる
あとはアーカイバツールに渡すときに、処理が終わるまで次の処理に移らないようにしておくとかね
どちらもWSHのヘルプに載ってるので、詳しくはそちらを見てね
0192デフォルトの名無しさん
2007/09/07(金) 06:59:490193デフォルトの名無しさん
2007/09/07(金) 08:18:410194デフォルトの名無しさん
2007/09/07(金) 20:47:380195デフォルトの名無しさん
2007/09/07(金) 20:52:190196デフォルトの名無しさん
2007/09/07(金) 21:11:16ってやつだな。
0197デフォルトの名無しさん
2007/09/11(火) 10:56:390198デフォルトの名無しさん
2007/09/11(火) 11:50:510199デフォルトの名無しさん
2007/09/14(金) 18:52:35する例ってどこかにありませんでしょうか?
Scripting.FileSystemObject でopenしたりReadLnしたり
できるんでしょうか?
0200デフォルトの名無しさん
2007/09/15(土) 11:04:560201デフォルトの名無しさん
2007/09/15(土) 11:20:47MSCommを使う
PCに入っていない?そんな時はVB6ランタイムでゴニョゴニョ...
0202199
2007/09/15(土) 18:03:21なるほど。でもVB開発ライセンスが要るみたいですね。
最終的に配布したいので、標準の環境で動かしたかったのですが・・
通信用の外部プログラム作成したほうがいいですね。
0203デフォルトの名無しさん
2007/09/15(土) 22:42:26名前空間 System.IO.PortsのSerialPort クラスあたりを
使うのが楽
0204デフォルトの名無しさん
2007/09/17(月) 00:00:31俺つい昨日まで、MS-DOSの時代に流行ってたLSI-C86試食版という
Cコンパイラを使って、プログラムをメモ帳で書いてたんよ。
長いファイル名をどうにかする必要があるときは、バッチファイルを
書き出すプログラムを書いてからバッチ実行、とかね。
Oh, WSH! なんてこったい、こんな便利なもんが最初からあるのを知らなかったなんて・・・orz
0205デフォルトの名無しさん
2007/09/17(月) 00:22:56LSI-C86試食版で長いファイル名を使えるようにするライブラリがあるのに。
BCCとかVC2005Expressとかただで使えるWindows用コンパイラがいくつもあるのに。
いろんな意味でご苦労さん。
0206デフォルトの名無しさん
2007/09/17(月) 06:39:37右クリック→[送る](SendToフォルダ)経由でファイルやフォルダを引数として渡す場合、
バッチファイルだとOSによって挙動がまちまちでイマイチ使いづらいんだよね。
(特にWin2000以外)
その点、WSHのVer5.0〜5.6だとWin95〜XPまで使い勝手を何とか統一させる事ができる。
(それなりの配慮は必要だが)
0207デフォルトの名無しさん
2007/09/17(月) 09:40:03LSI-C86試食版で頑張っていたおまいは凄すぎ。
昔C言語独学しようと思って初めに手を出したのがそれだったが、
結局Quick-Cに逃げちゃったよ。あれ、独自仕様多すぎね?
0208204
2007/09/18(火) 00:41:36今は、プログラムを書くってのは緊急事態だったりするので
手持ちのツールと知識だけでなんとか乗り切るやり方を続けて
ここまで来てしまったよ。
0209デフォルトの名無しさん
2007/09/19(水) 15:50:37要はHWNDとってきてDirectXにくっつけてスクリプト側でそうさって感じ。
DirectXはCOMだからなんとかならないかな〜と、駄算してる。
ウインドウはIE使ったほうがはやいのかなぁ?
助言お願いします。
0210デフォルトの名無しさん
2007/09/19(水) 17:15:070211デフォルトの名無しさん
2007/09/19(水) 19:39:310212デフォルトの名無しさん
2007/09/19(水) 20:51:42あ、どうりで情報がないわけだ。
レスありがとう。
0213デフォルトの名無しさん
2007/09/19(水) 20:53:58手元のPCを見てみたら、DirectX 7と8しかタイプライブラリがなかった。
ググってもDirectX 9のはなさそうな感じ。
だから7/8はいいけど、DirectX 9をスクリプトから使うのは無理そう。
0214デフォルトの名無しさん
2007/09/19(水) 21:03:46レスサンキュー。
無理とわかったからにはフラッシュを検討してみるよ。
0215デフォルトの名無しさん
2007/09/25(火) 23:01:54懐かしすぎて泣ける(;´Д⊂)
0216デフォルトの名無しさん
2007/09/27(木) 05:54:380217デフォルトの名無しさん
2007/10/09(火) 16:43:01Cマガジンとかに付録でよくついてたな。
0218デフォルトの名無しさん
2007/10/09(火) 19:41:300219171
2007/10/10(水) 08:28:17レジストリの部分で引っかかってしまいました。
(標準)=の所にはどう書けばよいのでしょうか?
WshShell.RegWrite "HKLM\Software\Microsoft\Windws\CurrentVersion\Internet Settings\5.0\User Agent","orz","REG_SZ"
PREとPOSTはOKですが、携帯では使わないんで・・・
0220デフォルトの名無しさん
2007/10/10(水) 08:43:270221デフォルトの名無しさん
2007/10/10(水) 13:13:22WshShell.RegWrite "HKLM\Software\Microsoft\Windws\CurrentVersion\Internet Settings\5.0\User Agent\","orz","REG_SZ"
でおk
0222デフォルトの名無しさん
2007/10/10(水) 21:50:04神降臨です
ありがとうございました
0223デフォルトの名無しさん
2007/10/11(木) 22:20:38IE立ち上げてsendkeysでもこもこと移動させて消していたんですが、
失敗が多い…
どぎゃんすればよかですか?
0224デフォルトの名無しさん
2007/10/11(木) 22:38:26MacOS → 「システムフォルダ:初期設定:Netscape:MagicCookie」
Windows → 「\Program Files\Netscape\Navigator\cookies.txt」
または「\Program Files\Netscape\Users\ユーザ名\cookies.txt」
Internet Explorer
Windows 95 → 「\Windows\Cookies\Windows\Temporary インターネット Files\」
Windows 98 → 「\Windows\Cookie\」
Windows XP → 「\Documents and Settings\ユーザ名\Cookies\」
のあたりのファイルを直接削除すればいいのでは?
0225デフォルトの名無しさん
2007/10/11(木) 22:57:33全部消して良いなら...
var Shell = new ActiveXObject("Shell.Application");
var Cookies = 0x21;
var CookiesFolder = Shell.Namespace(Cookies).Self.Path;
var CookieFilesPath = CookiesFolder + "\\*.txt";
var Fso = new ActiveXObject("Scripting.FileSystemObject");
Fso.DeleteFile(CookieFilesPath);
0226デフォルトの名無しさん
2007/10/15(月) 21:19:28もうしわけなかです。
ありがとうございました
0227デフォルトの名無しさん
2007/10/23(火) 21:30:14var CapicomUtil = new ActiveXObject("CAPICOM.Utilities");
// ↑http://www.microsoft.com/downloads/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6&DisplayLang=ja
var Fso = new ActiveXObject("Scripting.FileSystemObject");
var Stream1 = new ActiveXObject("ADODB.Stream");
var Stream2 = new ActiveXObject("ADODB.Stream");
var StreamType = {Binary: 1, Text: 2};
var ReadSize = 64;
Stream1.Type = Stream2.Type = StreamType.Binary;
function CompareFiles(file1, file2) {
Stream1.Open();
Stream2.Open();
Stream1.LoadFromFile(file1);
Stream2.LoadFromFile(file2);
var rc = true;
while (! Stream1.EOS) {
if (CapicomUtil.BinaryToHex(Stream1.Read(ReadSize))
!= CapicomUtil.BinaryToHex(Stream2.Read(ReadSize))) {
rc = false;
break;
}
}
Stream1.Close();
Stream2.Close();
return rc;
}
/* つづく...
0228デフォルトの名無しさん
2007/10/23(火) 21:31:31function GetFileLists(folder) {
var lists = {};
for (files = new Enumerator(Fso.GetFolder(folder).files); ! files.atEnd(); files.moveNext()) {
var file = files.item();
var size = file.Size;
if (! (size in lists))
lists[size] = [];
lists[size].push(file.Name);
}
return lists;
}
function CompareFileList(folder, list) {
var len = list.length;
folder += "\\";
for (var i = 0; i < len; i++)
for (var j = i + 1; j < len; j++)
if (CompareFiles(folder + list[i], folder + list[j]))
WScript.Echo(list[i] + " == " + list[j]);
}
var folder = ".";
var lists = GetFileLists(folder);
for (var i in lists)
CompareFileList(folder, lists[i]);
/* End of File */
関数名等が変ですが(^ω^;)
0229デフォルトの名無しさん
2007/10/24(水) 08:30:050230デフォルトの名無しさん
2007/10/25(木) 18:55:180231デフォルトの名無しさん
2007/10/27(土) 04:32:11新たに開いた子IEのオブジェクトを得るにはどうしたら良いでしょうか?
0232sage
2007/10/27(土) 10:52:08.NetFrameWorkってwshから使えるの?
0233デフォルトの名無しさん
2007/10/27(土) 12:34:50204ではないが、.NetFrameworkとWSHは別物
ただし、.NetFrameworkの提供するクラスライブラリのいくつかは
COMインタフェースが公開されているので、それらのクラスに
ついてはWSHからでもCOM経由で利用することはできる
0234デフォルトの名無しさん
2007/10/27(土) 13:41:49ShellのWindowsメソッドで列挙してParentが元のと一致するの、と言うのを考えてみたが
泥臭いので検証もしていない
0235デフォルトの名無しさん
2007/10/27(土) 15:14:390236デフォルトの名無しさん
2007/10/27(土) 22:09:400237デフォルトの名無しさん
2007/10/27(土) 22:15:180238デフォルトの名無しさん
2007/10/27(土) 22:30:35たいしたものは使えんよ。
PowerShellなら.NETもWin32APIも使い放題だわ
0239デフォルトの名無しさん
2007/10/27(土) 22:46:03NewWindow3 Event
0240デフォルトの名無しさん
2007/10/28(日) 21:48:45BeforeNavigate2でCancelして別のIEでNaviagte
0241デフォルトの名無しさん
2007/10/29(月) 19:42:35Set objShell = CreateObject("WScript.Shell")
objShell.Run "\\hogehoge\hoge.adp /cmd Hello,World"
イメージとしてはこういう感じかなぁと思いコードを組んでいますが引数を渡す段階まで至っていません。
エラーは出ないのですが、引数がCommand$で受け取れないという状況です。
Accessをフルパスで指定する必要があるのかと思い
objShell.Run """C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE"" ""\\hogehoge\hoge.adp /cmd Hello,World"""
2行目を上記のように変更してみましたが、こちらはHello,Worldまでがファイル名と認識されてしまい、実行できません。
ローカルでなら
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" C:\hogehoge\hoge.adp /cmd Hello,World
というショートカットを作成する事でAccessに引数を渡すところまでは行っているのですが。
ただ、フルパスで指定するってのは、人によっては環境も違うわけで…
Officeのインストールパスを探す環境変数って無いですよねぇ
出来れば3行目の方向性で、こうすればいいよとかアドバイスを頂けませんでしょうか
0242デフォルトの名無しさん
2007/10/29(月) 19:57:44""\\hogehoge\hoge.adp /cmd Hello,World"" の前後の""は要らないのでは。
MSACCESS.EXEのフルパスは
objShell.RegRead "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE"
または
objShell.RegRead "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE\Path" & "MSACCESS.EXE"
で取得できます(上は8.3形式となる)。
0243デフォルトの名無しさん
2007/10/29(月) 21:09:110244デフォルトの名無しさん
2007/10/29(月) 21:23:50runしたらその情報が自動的に使われるのでは?
0245デフォルトの名無しさん
2007/10/29(月) 22:04:02Runの仕様上はそうだから、RegReadする必要がないと言えばないですよ
0246デフォルトの名無しさん
2007/10/30(火) 01:51:30でも、ローカルでコマンドライン引数渡そうとしたらフルパス必要、と。
結局、WebからWSH使って引数渡すにはどうすればいいんだろ?
0247デフォルトの名無しさん
2007/10/30(火) 02:39:140248デフォルトの名無しさん
2007/10/30(火) 04:34:440249241
2007/10/30(火) 14:17:39>>242さんの意見を参考に組んでみた所、引数を渡せる事を確認しました。
Set objShell = CreateObject("WScript.Shell")
strFile = "\\hoge\hoge.adp"
strPath = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE\Path") & "MSACCESS.EXE"
objShell.Run """" & strPath & """ """ & strFile & """ /cmd hoge"
どうも、引数を渡したい場合にはACCESSのフルパスを省略出来ないようで。
単純に実行したいだけならADPファイルのフルパスのみで可能でしたが。
なかなか難産でしたが、ようやく先に進めます。
ありがとうございました。
0250デフォルトの名無しさん
2007/10/30(火) 15:51:100251デフォルトの名無しさん
2007/10/31(水) 20:27:520252デフォルトの名無しさん
2007/10/31(水) 22:00:10スレッドってもんを正しく認識できてる?
0253デフォルトの名無しさん
2007/11/01(木) 09:13:48こういう子には
>>251
1年勉強して出直しなさい
ということで
0254デフォルトの名無しさん
2007/11/02(金) 14:43:430255デフォルトの名無しさん
2007/11/11(日) 00:27:43たとえば、tabボタンやカーソルキーを押した場合を考えています。
0256255
2007/11/11(日) 00:36:14想定しているのは、while(true){...}のなかに処理が入ったときに、
コンソール上からタブボタンを押すと、while(true)からぬけるようなものです。
0257デフォルトの名無しさん
2007/11/11(日) 02:30:40WSH(wscript.exe,cscript.exe)を2つ実行して、一方をフラグ的に使えば擬似的に出来ないことも無いが
君が想定してる通りのことはWSHだけでは無理。
COMを自作するって手もあるけど、だったら普通のアプリ作った方がいいだろ。
あとは君が想定してる通りのことを出来るスクリプト言語に乗り換えるとかね。
スレ違いだから具体的な紹介や説明は伏せるけど。
0258デフォルトの名無しさん
2007/11/11(日) 04:33:32http://pc11.2ch.net/test/read.cgi/tech/1124559962/370-376
0259デフォルトの名無しさん
2007/11/11(日) 10:24:32それ、HTAの場合だよね?
0260デフォルトの名無しさん
2007/11/11(日) 20:53:360261デフォルトの名無しさん
2007/11/14(水) 16:29:16ie.document.getElementByID('foo')[0] はエラーになるんだね。
0262デフォルトの名無しさん
2007/11/14(水) 17:29:550263デフォルトの名無しさん
2007/11/14(水) 19:16:230264デフォルトの名無しさん
2007/11/16(金) 20:00:56>http://www.imagemagick.org/script/binary-releases.php から
>ImageMagick-6.3.6-10-Q16-windows-dll.exe (32bit版XP等の場合)を
>ダウンロードしてインストール。インストールの過程で
>□ Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH
>のチェックを入れてください。
↑のインストールをしました。
その状態で、
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var stream = fs.CreateTextFile("chintama.txt");
with(stream) {
Write("...");
Close();
}
を、a.jsファイルに書いてダブルクリックするとうまく動作しました。
これは↑をインストールしたから動作したのでしょうか?
あるいは、XPsp2の環境のみでも動作するのでしょうか?
0265デフォルトの名無しさん
2007/11/16(金) 20:54:370266デフォルトの名無しさん
2007/11/16(金) 22:49:07レスありがとうございます。
では、JScript、Windows Script 5.6で記述したWSHも、OS標準ですか?
0267デフォルトの名無しさん
2007/11/16(金) 22:55:00まあWSH標準のオブジェクト群でできることはそんなにないけど
0268デフォルトの名無しさん
2007/11/16(金) 23:05:08どうもです。
では、
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var stream = fs.CreateTextFile("chintama.txt");
with(stream) {
Write("...");
Close();
}
これの、1行目、2行目の変数を使わず、全部、with() のカッコの中に押し込めるとすると、どう書けばいいですか?
0269デフォルトの名無しさん
2007/11/16(金) 23:10:160270デフォルトの名無しさん
2007/11/16(金) 23:15:39ImageMagickのImageMagickObject OLE Controlをインストールすると
new ActiveXObject("ImageMagickObject.MagickImage.1");
が使えるようになってWSHからImageMagickの機能が使えるようになるわけだわさ
0271デフォルトの名無しさん
2007/11/16(金) 23:50:42WScript.Echo(f.DateLastModified==f.DateLastModified);
なぜ、false(0)?
0272デフォルトの名無しさん
2007/11/17(土) 00:04:51f.DateLastModifiedをDateオブジェクトにしてやればいいのです
var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d = new Date(f.DateLastModified);
WScript.Echo(d == d);
0273271
2007/11/17(土) 00:09:49ども、でも
var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d1 = new Date(f.DateLastModified);
var d2 = new Date(f.DateLastModified);
WScript.Echo(d1 == d2);
がやっぱ変
0274272
2007/11/17(土) 00:18:08あ、>>272の比較だとポインタが等しいかどうか比較しているようなものか。
これでokかな
var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d1 = new Date(f.DateLastModified);
var d2 = new Date(f.DateLastModified);
WScript.Echo(d1.valueOf() == d2.valueOf());
0277271
2007/11/17(土) 17:41:07や
WScript.Echo((f.DateLastModified>=f.DateLastModified)&&(f.DateLastModified<=f.DateLastModified));
もおk。算術比較はいいみたい。==は算術比較じゃないようで。
0278デフォルトの名無しさん
2007/11/17(土) 19:22:14毎回日付をラップした新規オブジェクトを返してくるみたいだな。
比較の処理はWin32のVarCmpあたりを使ってるのかも。
FileSystemObjectとか、返すオブジェクトの詳細が書かれていないので結構困る。
0279デフォルトの名無しさん
2007/11/17(土) 19:34:11var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d = f.DateLastModified | 0;
WScript.Echo(d);
0280271
2007/11/18(日) 00:01:07WScript.Echo(Number(f.DateLastModified));
ところが、
WScript.Echo(Date(f.DateLastModified));
が変。ずれる。なんでだろ?
0281デフォルトの名無しさん
2007/11/18(日) 01:27:31new無しのは、単に現在日時返ってきてるっぽいな。
JScriptのDateとは違う表記方法だし、メソッドもエラーが出るところを見ると、
VBScript用のDate関数を呼び出してしまっている気がする。
0283デフォルトの名無しさん
2007/11/20(火) 20:04:29Numberは型だけどDateはオブジェクトだから
0284デフォルトの名無しさん
2007/11/21(水) 04:53:30ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov04/hey1102.mspx
に書かれている事がどうも嘘っぽいんだけど…
ここに書かれている方法で、Temporary Internet Files を削除出来たって人居る?
Cookieの削除は、Temporary Internet Files に在る、Cookie:username@... を削除しないと駄目みたい。
0285デフォルトの名無しさん
2007/11/21(水) 15:58:49Temporary Internet Files\Content.IE5\ 以下の話してる?
0286デフォルトの名無しさん
2007/11/21(水) 16:33:08ブラウザ終了してないと駄目だよ
0287デフォルトの名無しさん
2007/11/21(水) 19:11:21コピペのままでは動かない、バグ探しのクイズだと思えばいいのよ。
0288デフォルトの名無しさん
2007/11/21(水) 19:48:38JSに書き換えて使ってる
0289デフォルトの名無しさん
2007/11/21(水) 19:53:24Const TEMPORARY_INTERNET_FILES = &H20&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TEMPORARY_INTERNET_FILES)
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objFolderItem In objFolder.Items
objFSO.DeleteFile objFolderItem.Path
Next
試してないけど
0290デフォルトの名無しさん
2007/11/21(水) 20:02:12objFSO.DeleteFolder
の間違いじゃないの
0291デフォルトの名無しさん
2007/11/21(水) 20:46:42ブラウザを終了させてやってみました。
>>285
Content.IE5 というフォルダが出来ていて、IEを起動すると
まるでゾンビの如く復活しています。
0292デフォルトの名無しさん
2007/11/21(水) 21:12:05さてはdesktop.ini消しちゃったねww
[.ShellClassInfo]
UICLSID={7BD29E00-76C1-11CF-9DD0-00A0C9034933}
2000は知らないけどMe以降ならこんなのは?
Const TEMPORARY_INTERNET_FILES = &H20&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TEMPORARY_INTERNET_FILES)
objFolder.Items().InvokeVerbEx "delete"
0293デフォルトの名無しさん
2007/11/21(水) 22:02:13有難う御座います。
綺麗サッパリと消えてくれました。
0294デフォルトの名無しさん
2007/11/22(木) 03:25:17この警告を出さずに実行させる方法は無いでしょうか?
0295デフォルトの名無しさん
2007/11/22(木) 15:33:500296デフォルトの名無しさん
2007/11/24(土) 15:23:030297デフォルトの名無しさん
2007/11/24(土) 17:33:510298デフォルトの名無しさん
2007/11/26(月) 18:28:52アクティベートしないで、ウィンドウの有無だけ調べるにはどうすればよいでしょう?
0299デフォルトの名無しさん
2007/11/26(月) 20:16:40そういう機能のCOM作ればOKだよ
ウィンドウタイトルではなくプロセス名での有無を調べるならWMIで出来るけど
WMIもWSHの機能ではなく外部のCOMなので、使い方とかはここでは聞かないでね
というかググれは簡単に解るし
0300デフォルトの名無しさん
2007/11/26(月) 23:46:57氏ね、ググれ厨!クソレス増やすな!
0301デフォルトの名無しさん
2007/11/26(月) 23:52:560302デフォルトの名無しさん
2007/11/26(月) 23:56:300303デフォルトの名無しさん
2007/11/27(火) 01:07:530304デフォルトの名無しさん
2007/11/27(火) 09:09:220305デフォルトの名無しさん
2007/11/27(火) 10:16:24どうすればいい?
0306デフォルトの名無しさん
2007/11/27(火) 11:16:54はさみを作り給うた
0307デフォルトの名無しさん
2007/11/27(火) 14:33:36wordを使う
0308デフォルトの名無しさん
2007/11/27(火) 16:55:280309デフォルトの名無しさん
2007/11/27(火) 16:59:49http://pc11.2ch.net/test/read.cgi/tech/1178281991/752-754
0310デフォルトの名無しさん
2007/11/27(火) 19:52:09こういうのはスレ違いだろ? >>299
0311デフォルトの名無しさん
2007/11/28(水) 00:21:12nullが返って来る。
0312デフォルトの名無しさん
2007/11/28(水) 23:40:19C言語のsystem()みたいな同期型のプログラム実行関数を書きたいんだけど、
WshExecオブジェクトのStdErr, StdOutを少しずつ読みながら、
Statusプロパティが0以外になるまで待つ、
よりもストレートで標準的なやり方ってありますか?
できればプログラムの終了コードも取得したいです。
あと、本当はjsファイルダブルクリックでwscript.exeに
起動されたときは、コンソール立ち上げて、
WshShellのStdIn/Out/Errをどうにかしてコンソールに結び付けたい・・・
Windowsしかインストールしてないような
他人のマシンでも動くスクリプトを書きたいのでjscript試し始めたけど、
標準入出力の扱いが異様に面倒・・・
0313デフォルトの名無しさん
2007/11/28(水) 23:54:220314デフォルトの名無しさん
2007/11/29(木) 00:01:360315デフォルトの名無しさん
2007/11/29(木) 00:21:42自分をcscriptで再起動
0316デフォルトの名無しさん
2007/11/29(木) 00:28:05system()ならRun()でしょ
>>312の2
jscriptだろうがvbscriptだろうが、
標準入出力はwshやfsoなのだから変わらんけど?
0317デフォルトの名無しさん
2007/11/29(木) 00:36:45Workgroupのコンピュータでドメインユーザを使って
ADの認証を取りたいのですが、なにか良い方法ありますか?
認証はKerberosでもNTLMでもいいです。
WorkGroupのコンピュータは、ADのDCに名前解決できています。
(DNS,lmhosts両方とも)
OSは2000とXPProです。
0318デフォルトの名無しさん
2007/11/29(木) 01:30:17同じようなこと考えてた。
スクリプト終了後にコンソールがすぐ消えて、経過が見えんなあ・・・と思ったけど、
cmd /k cscript ...
で解決した。
>>316
連続してプログラムをRunする度に別のコンソールが立ち上がるのがイヤ。
1つのプログラムが終ると、その分のコンソールが消えて、
stdout/errの経過が見れないの困る・・・
なので、WshExecのStdOut/Errを読んで、Echoに横流ししてる。
けど、stdout/errが入り乱れてるときにちゃんとリアルタイムに出力できるか疑問。
あと、プログラムの終了コードが取れない。
0319デフォルトの名無しさん
2007/11/29(木) 01:57:300320デフォルトの名無しさん
2007/11/29(木) 02:08:50基本でしたw
tnx
0321デフォルトの名無しさん
2007/11/29(木) 02:22:16runas /user:ドメイン名\ユーザー名 hogehoge.exe
0322デフォルトの名無しさん
2007/11/29(木) 23:37:30明日試してみます。
もちろん、321さんは実験済みなんですよね?
0323デフォルトの名無しさん
2007/11/29(木) 23:44:240324デフォルトの名無しさん
2007/11/29(木) 23:53:110325デフォルトの名無しさん
2007/11/30(金) 19:01:46取れるよ。
>Statusプロパティが0以外になるまで待つ、
してる?
0326デフォルトの名無しさん
2007/11/30(金) 20:40:19試してみました。
書いていただいた「コマンドライン」では動きませんでした。
でも他の方法で解決できました。
本当にありがとうございました。
0327デフォルトの名無しさん
2007/12/01(土) 02:35:35もう二度と来んな!
0328デフォルトの名無しさん
2007/12/01(土) 02:37:04その「他の方法」とやらを書く気は全く無い訳だな
0329デフォルトの名無しさん
2007/12/01(土) 05:44:51書きに戻ってくる必要もないよ
興味ないから
0330デフォルトの名無しさん
2007/12/01(土) 12:31:11ExitCodeプロパティの存在に気付かなかった。
最初読んでた本と適当にググったサイトでスルーされてたので・・・
とりあえずこのスレで得た成果をまとめてみた。
var shell = new ActiveXObject("WScript.Shell");
function system(cmd) {
var e = shell.Exec("cmd /c " + cmd + " 2>&1");
while (!e.StdOut.AtEndOfStream) {
WScript.Echo(e.StdOut.ReadLine());
}
while (e.Status == 0) {
WScript.Sleep(50);
}
return e.ExitCode;
}
0331デフォルトの名無しさん
2007/12/01(土) 15:20:48は
WScript.StdOut.Write(e.StdOut.Read(1));
のほうがいいよ
0332デフォルトの名無しさん
2007/12/01(土) 16:45:060333デフォルトの名無しさん
2007/12/01(土) 17:09:39たしかに、
checking...(長い処理) done<改行>
みたいな出力するプログラム起動したときカッコ悪かった。
1バイトずつってのが引っかかったけど、別に体感速度変わらんな。
0334デフォルトの名無しさん
2007/12/02(日) 01:13:430335デフォルトの名無しさん
2007/12/02(日) 21:19:06A >>292
なぜかQAの順序が逆ですな。>>292はエスパーかな?
0336デフォルトの名無しさん
2007/12/02(日) 21:31:52>>292を実行したら警告ダイアログが出た奴が質問してるだけ。
環境依存か知らんが。
0337デフォルトの名無しさん
2007/12/02(日) 22:31:07JScriptで,,にすると怒られる
0338デフォルトの名無しさん
2007/12/03(月) 03:11:230339デフォルトの名無しさん
2007/12/03(月) 09:12:27WSH(VBS)のコンパイラってないですかね?
http://www.vector.co.jp/soft/dl/win95/prog/se277804.html
これしか見当たりませんが、これにしてもなぜだか動作しないんです。
ほかに知っている方が見えましたらお願いいたします
0340デフォルトの名無しさん
2007/12/03(月) 10:23:32コンパイルしたいなら実行ファイル生成用のプログラム言語か
スクリプト言語の中でも元からコンパイルを想定して作られたもの使いましょう
つまりお門違いってもんです
0341デフォルトの名無しさん
2007/12/03(月) 10:36:12msscript.ocx を忘れてるだけだと思われ
0342デフォルトの名無しさん
2007/12/03(月) 12:25:150343デフォルトの名無しさん
2007/12/03(月) 12:44:31"MakeExe"
http://www.vector.co.jp/soft/winnt/prog/se389017.html
WMIのイベント系メソッドには弱いらしいけど
ttp://maglog.jp/pueblo-del-script/Article11074.html
因みにどこかで暗号化も出来るとか言ってる人もいるらしいけど、
(作者のブログにも説明あったけど)暗号化はされない。
0344デフォルトの名無しさん
2007/12/03(月) 14:45:090345デフォルトの名無しさん
2007/12/03(月) 16:19:240346デフォルトの名無しさん
2007/12/03(月) 17:43:460347デフォルトの名無しさん
2007/12/03(月) 18:14:110348デフォルトの名無しさん
2007/12/03(月) 20:53:140349デフォルトの名無しさん
2007/12/03(月) 23:07:150350デフォルトの名無しさん
2007/12/03(月) 23:22:190351デフォルトの名無しさん
2007/12/03(月) 23:44:59,null,
0352デフォルトの名無しさん
2007/12/03(月) 23:49:25sc.language="vbscript.encode"
sc.addcode unescape("%23@%7E%5ENQAAAA%3D%3Dhko8K6%2CEx%7F/1Cw%7F%60E%5D%21%26T*y%5DE2TcW%5DE2T*vuE2%21*%25Y%3B2%21*brb@%23@%26ug0AAA%3D%3D%5E%23%7E@")
解読できる?
0353デフォルトの名無しさん
2007/12/04(火) 00:22:340354339
2007/12/04(火) 05:40:22まあインタプリタの方が管理しやすいですが、
EXEだとタスクマネージャーで強制停止できたり、
知り合いに渡すのに環境を選ばなくなりますからね
>341
インストール中にはねられてしまいました
フリーのコンパイラは複数あって損はないですので調べてみます。
>342
環境に左右されにくくなるかな?と思ったわけです
>343
ダウソしました、ありがとうございました。
その他みなさんありがとうございました
0355デフォルトの名無しさん
2007/12/04(火) 09:49:29スクリプトだって出来る、WSHのスクリプトエンジンはexeなんだから
ついでに言うと、うちの環境では、vbs,js,wsfなどを右クリックすると「このスクリプトを強制終了する」って項目がある
この項目を選択した際に実行されるものもwshで作った
あと、多重実行すると既に実行されてるものを強制終了するって仕組みのスクリプトも作ったことがある
やり方次第で停止、終了:に関しては全然困らなくなる
タスクマネージャーだと複数のWScript.exeが実行されてるときにどれがどれだか解らないとか言うかも知れないが
それだってどうにでもなる問題だし
> 知り合いに渡すのに環境を選ばなくなりますからね
環境選ばないと言ってもJavaとかじゃなければWindows限定なわけだし
Windows限定ならWSH(VBS)が動かないのはWin95のノーマルと個人ではほとんど使われてないNTの4以前くらいだ
あとはCOMのバージョンが違うくらいだが、それはCOMを使用するexeだって同じ事だし
0356デフォルトの名無しさん
2007/12/04(火) 18:05:190357デフォルトの名無しさん
2007/12/04(火) 19:13:510358デフォルトの名無しさん
2007/12/04(火) 19:17:480359デフォルトの名無しさん
2007/12/04(火) 20:19:12どうしたの?
0360デフォルトの名無しさん
2007/12/04(火) 20:38:300361デフォルトの名無しさん
2007/12/04(火) 20:55:320362デフォルトの名無しさん
2007/12/04(火) 21:12:34いや cscript.exe がいっぱいタスクにならんで
どれが殺したい相手なのかわからなくなるんだよ
0363デフォルトの名無しさん
2007/12/04(火) 21:25:45> どれが殺したい相手なのかわからなくなるんだよ
そんなの実行時引数が見られるタスク管理ソフト(タスクマネージャ代替ソフト)を使えば一発解決
WSHのオプションスイッチやスクリプトへの引数が無ければ「プロセス名:cscript.exe 実行時引数:スクリプトパス」になってる
実行時引数はWMIでも取得出来るから、俺のはスクリプトのパスを渡す(右クリックから強制終了選択)と
実行時引数にそのパス含むWSHプロセスを殺すようにしてるだけ
多重起動で自殺スクリプトも仕組みは同じ
cscript.exeがいっぱいあるだけでなく、実行しているスクリプトまで同じでどれがどれだか解らないなんてのは
スクリプトの設計段階での問題
0364339
2007/12/04(火) 21:33:46環境と言うのはBASP21やセンドキーで日本語を送る為のライブラリ環境の事です。
VBSやらない人に複数のライブラリのインストールを強制するのは酷ですからね。
あと、プログラミング自体はしょぼいPCの時代にやっていただけですので、
(懐かしのMSXやX68000でアセンブラとベーシックをかじった程度ですが)
バックグラウンドでプログラムを動かしつづけるのは何だかもったいないような気がするんですよ
これは個人的な感覚ですので,気にしないで下さい
0365デフォルトの名無しさん
2007/12/04(火) 21:35:30cscript hoge.vbs fuga hige
みたいなのも区別できますか?
0366デフォルトの名無しさん
2007/12/04(火) 21:36:52もしよろしければそのツールが公開されているURLを教えて頂けませんか?
0367デフォルトの名無しさん
2007/12/04(火) 21:37:380368デフォルトの名無しさん
2007/12/04(火) 22:08:35特定のスクリプトからしか使わないなら、インストール(レジストリへの登録)無しに使う方法もあるけどな
> みたいなのも区別できますか?
当然 禿げ と 髭 だって実行時引数なんだから区別できるよ
>363では"WSHのオプションスイッチやスクリプトへの引数が無ければ"の例を書いたが、細かく書けば
「プロセス名:cscript.exe 実行時引数:WSHのオプションスイッチ スクリプトパス スクリプトへの引数」だよ
プロセス名:cscript 実行時引数://nologo hoge.vbs fuga hage
> ツールが公開されているURLを教えて頂けませんか?
スレ違い、自分で探すかソフト紹介スレでも行け
WMI使って特定のスクリプトを実行しているWSHプロセス殺す方法ならスレ違いじゃないから
要望が有れば教えてもいいが、今から用事があるんで早くても明日になる
この板に来る奴ならそれまで待つよりググった方が早いと思うがな
0369デフォルトの名無しさん
2007/12/04(火) 22:15:10与えられた
オプションスイッチ スクリプトパス スクリプトへの引数
の順序が違ってても区別できますか?
0370デフォルトの名無しさん
2007/12/04(火) 23:27:36ProcessExplorerとか?
0371デフォルトの名無しさん
2007/12/05(水) 09:10:14区別できるよ
コマンドライン文字列 を丸々見ることは可能だし
0372デフォルトの名無しさん
2007/12/05(水) 21:59:30コンパイルすればライブラリいらなくなるの?マジかよ
0373デフォルトの名無しさん
2007/12/05(水) 22:10:24ソースに取り込めばライブラリファイル(dll=ダイナミックリンクライブラリ)は不要になるけど
それはCなどのまともな言語を使うかスクリプト言語を使うかって場合の話で
スクリプトそのものとスクリプトをコンパイルしたものの差にはならないよな
0374デフォルトの名無しさん
2007/12/06(木) 00:02:22バカ。元発言嫁よ。
”そういうコンパイラはありませんか?”って質問だよ。
0375デフォルトの名無しさん
2007/12/06(木) 06:37:39CreateObject("Excel.Application")とかやってるスクリプトも
ExcelをインストールしてないPCで利用可能に
やべーすげー俺にも教えて
0376デフォルトの名無しさん
2007/12/11(火) 19:44:45explorerからだとwscript.exe
で起動されるようにはどうすればできますでしょうか?
0377デフォルトの名無しさん
2007/12/11(火) 20:10:140378デフォルトの名無しさん
2007/12/11(火) 20:56:05そんな事を考えるよりは素直にコマンドラインから cscript //nologo ***.vbs で
起動する習慣をつけておくほうが良いと思う。
またはvbsファイルをcscript.exeに関連付け、wscript.exeへのショートカットをSendToフォルダに入れておき、
エクスプローラでファイルを右クリック→送る→wscript.exeを起動させるとか。
あと、そこまで考えてるなら、ついでにvbsファイル内で以下のような条件文をつける手法も
覚えておくほうが良いかも。
If Right(UCase(WScript.Fullname),12) = "\CSCRIPT.EXE" Then
WScript.Echo("このファイルはCSCRIPT.EXEから起動されました")
Else
WScript.Echo("このファイルはWSCRIPT.EXEから起動されました")
End If
0379デフォルトの名無しさん
2007/12/11(火) 21:13:14コマンドプロンプトでファイル名叩くとエクスプローラーの関連付けで
起動するのは仕様で無理なんジャマイカ?
難しそうだから、ScriptingGuyに聞いてみたら?
>>378
彼が何を考えて、そうしたいのかわからないんだから、素直にやり方は
ないと答えるか、スルーするのが吉。
0380デフォルトの名無しさん
2007/12/11(火) 22:07:030381デフォルトの名無しさん
2007/12/11(火) 22:18:05kwsk
0382デフォルトの名無しさん
2007/12/12(水) 00:20:36同じコンソールにcscript.exeで起動し直すのが問題だな
0383デフォルトの名無しさん
2007/12/12(水) 00:28:430384デフォルトの名無しさん
2007/12/12(水) 08:55:28>cmd.exeから起動されたかどうかは区別できるので
kwsk
0385デフォルトの名無しさん
2007/12/12(水) 08:58:59>>384
kwskはGoogleで
0386デフォルトの名無しさん
2007/12/12(水) 09:16:570387デフォルトの名無しさん
2007/12/12(水) 17:04:44Googleの検索キーワードをkwsk
0388デフォルトの名無しさん
2007/12/12(水) 20:54:28>>380>>382>>385は性格が悪いので教えてくれるわけがない。
0389デフォルトの名無しさん
2007/12/12(水) 21:46:40それとも388も性格悪い仲間なの?
0390384=388
2007/12/12(水) 22:04:43性格はとてもいいんだけど、387と同じで検索キーすらわからないんだが。
わかれば、すぐ教えるが、残念ながらこれ以上調べてもわからなさそう。
0391デフォルトの名無しさん
2007/12/12(水) 22:49:07Win32_Process とかじゃねーの?
0392390
2007/12/12(水) 23:10:04.NET系ならGetCurrentProcessを使って自分自身のプロセスを調べ、
さらに親プロセスがcmd.exeである事を判別する、って方法でいけそうだけど。
>>391
自分自身の実行パスをWMIで調べて、そこから親プロセスを割り出す、
って出来そうだけど、同じスクリプトが複数走ってるとアウトのような希ガス。
0393デフォルトの名無しさん
2007/12/12(水) 23:11:58set swl = wscript.createobject("wbemscripting.swbemlocator")
set s = swl.connectserver
set rs = s.execquery("select * from win32_process where caption='cscript.exe' or caption='wscript.exe'")
p = -1
for each r in rs
if instr(1, r.commandline, scriptname) then
wscript.echo r.caption
p = r.parentprocessid
end if
next
set rs = s.execquery("select * from win32_process where processid=" & p)
for each r in rs
wscript.echo r.caption
next
'ttp://d.hatena.ne.jp/Ratso/20070313/p1
0394デフォルトの名無しさん
2007/12/12(水) 23:14:32同じスクリプトが複数走ってるとアウトのような希ガス
0395デフォルトの名無しさん
2007/12/12(水) 23:18:35リンク貼り間違えてた
ttp://www.geocities.jp/maru3128/wmi.html
0397デフォルトの名無しさん
2007/12/12(水) 23:26:240398デフォルトの名無しさん
2007/12/12(水) 23:29:200399デフォルトの名無しさん
2007/12/12(水) 23:30:150400デフォルトの名無しさん
2007/12/12(水) 23:32:170401デフォルトの名無しさん
2007/12/12(水) 23:36:140402デフォルトの名無しさん
2007/12/12(水) 23:39:070403デフォルトの名無しさん
2007/12/13(木) 00:04:350404デフォルトの名無しさん
2007/12/13(木) 00:04:48子プロセスを起動してその親プロセスIDを取るのか
スゲー力技
0405デフォルトの名無しさん
2007/12/13(木) 00:08:44'子の親(=自分)を調べる方法でgetpid()を作ってるサイトがあったので
'そちらを参考(丸写しともいう)にして >>302 を改良
'ttp://www.vector.co.jp/soft/winnt/util/se420729.html
'ttp://www.vector.co.jp/soft/winnt/util/se383755.html
set swl = wscript.createobject("wbemscripting.swbemlocator")
set s = swl.connectserver
set rs = s.execquery("select * from win32_process where processid=" & getpid())
for each r in rs
wscript.echo r.caption
p = r.parentprocessid
set prs = s.execquery("select * from win32_process where processid=" & p)
for each g in prs
wscript.echo g.caption
next
next
function getpid()
set ws = createobject("wscript.shell")
set e = ws.exec("mshta.exe -")
p = e.processid
set o = getobject("winmgmts:root\cimv2")
set ps = o.execquery("select * from win32_process where processid=" & p)
if ps.count <> 1 then
e.terminate
err.raise 9
end if
for each p in ps
getpid=p.parentprocessid
next
e.terminate
end function
0406デフォルトの名無しさん
2007/12/13(木) 00:13:160407デフォルトの名無しさん
2007/12/13(木) 00:13:35cscriptで起動しなおしたって別ウィンドウが開くだけだ
0408デフォルトの名無しさん
2007/12/13(木) 00:29:410409デフォルトの名無しさん
2007/12/13(木) 00:31:33だから、まずできるところまでやってんだろ。
よくいるんだよな。自分では何もしないで人のしてる事にケチをつける奴。
0410デフォルトの名無しさん
2007/12/13(木) 00:33:07すげーな。そんな方法思いもよらなかった。
0411デフォルトの名無しさん
2007/12/13(木) 01:46:48Cドライブのカレントディレクトリが =C: という変数に入ってるなら cmd
無ければ explorer から起動したとみなす。
かなり乱暴なやりかただけど。Win XP 以外でうまくいくかどうかわワカラン。
Dim WshShell,Environment
Set WshShell = WScript.CreateObject("WScript.Shell")
Set Environment = WshShell.Environment("PROCESS")
If Environment("=C:") = "" Then
MsgBox "エクスプローラから起動されました"
Else
MsgBox "コマンドプロンプトから起動されました"
End if
0412デフォルトの名無しさん
2007/12/13(木) 06:07:15も使えそうだね
消されてたらだめかな
0413デフォルトの名無しさん
2007/12/13(木) 06:09:08DドライブにOS入れててCドライブが無い変態さんもいるかも知れない
0414デフォルトの名無しさん
2007/12/13(木) 19:02:270415デフォルトの名無しさん
2007/12/14(金) 06:45:12おいらの悩みを聞いてください
replaceで " の入っている文章を置換したんですがどうすれば良いんでしょうか
具ぐってもサンプルコードばかりで解決策が見つかりません
0416デフォルトの名無しさん
2007/12/14(金) 07:01:340417デフォルトの名無しさん
2007/12/14(金) 17:43:490418デフォルトの名無しさん
2007/12/14(金) 17:47:370419デフォルトの名無しさん
2007/12/14(金) 20:45:55"" の中に " を書きたいときは "" と書く。(C言語の \" のようなもの)
つまり、
s = "今日は""楽しい""遠足"
s = Replace(s, """", "うんこ")
となる。
0420デフォルトの名無しさん
2007/12/14(金) 23:00:32その仕様自体は知っているのだけれど、
スクリプトのヘルプには何故かその記述が見当たらなかったような……
0421デフォルトの名無しさん
2007/12/15(土) 02:30:04INSERT INTO MYBOOKS SET ID=1, TITLE='What''s the vbScript';
としなきゃならない。
0422デフォルトの名無しさん
2007/12/15(土) 10:28:15"""それは言えないな"""
"""こ、この不自然な二重引用符は何でもないんだからね"""
0423デフォルトの名無しさん
2007/12/15(土) 16:09:35なんでそんなもんがいるんだ?
0424デフォルトの名無しさん
2007/12/15(土) 18:46:31'に挟まれた'を挟み込む'ではなくて文字列の'にするため
0425デフォルトの名無しさん
2007/12/15(土) 22:02:40ついでに野暮なツッコミをしておくと、>>424の書き方だと
シングルクォーテーション("'")を単なる文字として読ませる工夫をしていないので
「に挟まれた」を挟み込む「ではなくて文字列の」にするため
と読めてしまうな。
0426デフォルトの名無しさん
2007/12/15(土) 22:06:50JavaScript では "\x22"、VBScript では Chr(34) と書く方法もある。
(ダブルクォーテーションの場合ね)
0427デフォルトの名無しさん
2007/12/15(土) 22:52:180428デフォルトの名無しさん
2007/12/16(日) 13:48:010429デフォルトの名無しさん
2007/12/16(日) 13:54:46ヤメレ キショクワルイ
0430デフォルトの名無しさん
2007/12/17(月) 06:03:14''か""""かChr(34) でOKって事ですね
陳宮ベリーマッチでした
0431デフォルトの名無しさん
2007/12/17(月) 16:31:390432デフォルトの名無しさん
2007/12/17(月) 19:32:56a = "おまいは""アホ""か!"
でもこんな書き方する人もいるの?
Const vbQuote = """"
b = "おまいは" & vbQuote & "アホ" & vbQuote & "か!"
ダサ・・・
0433デフォルトの名無しさん
2007/12/19(水) 01:27:400434デフォルトの名無しさん
2007/12/19(水) 03:35:020435デフォルトの名無しさん
2007/12/19(水) 08:57:540436デフォルトの名無しさん
2007/12/19(水) 16:23:23一覧で全部体当たりする
0437デフォルトの名無しさん
2007/12/19(水) 16:47:09vbsやjsでは無理だろ
0438デフォルトの名無しさん
2007/12/19(水) 20:45:570439デフォルトの名無しさん
2007/12/19(水) 21:20:530440デフォルトの名無しさん
2007/12/19(水) 21:58:41問題のあることやっててゴメンナサイ
0441デフォルトの名無しさん
2007/12/19(水) 23:23:270442デフォルトの名無しさん
2007/12/20(木) 00:08:25可読性??wara
「"」の読み方も知らんの?ダサ〜〜w
おしえてあげよっか〜〜〜〜?
やだよ〜〜ん。おまいの熊度が気に入らないから教えてあげんよ〜〜だ。
0443デフォルトの名無しさん
2007/12/20(木) 01:10:50要約:KY
0444デフォルトの名無しさん
2007/12/20(木) 01:11:320445デフォルトの名無しさん
2007/12/20(木) 01:47:30自分専用スクリプトなら、適当にレジストリエディタでProgIDをでっち上げればいいw。
0446デフォルトの名無しさん
2007/12/20(木) 02:04:590447デフォルトの名無しさん
2007/12/20(木) 11:52:430448デフォルトの名無しさん
2007/12/20(木) 19:35:47で。「"」 の読み方はわかんのかい?
0449デフォルトの名無しさん
2007/12/20(木) 19:51:05queue:/new:classid or progid
0450デフォルトの名無しさん
2007/12/21(金) 18:49:10ftpのコマンドを書いたファイルを読み込ませているのですが、うまく処理できません。
コメントを切り替えて下記10通りのパターンで試してみたのですが、
一つ目のRun以外動作していないようです。
ftpもできないしログも吐かないし、エラーも出ません。
その後のEchoは表示されます。
------------------
Dim objShl
Set objShl=Wscript.CreateObject("WScript.Shell")
objShl.Run "ftp -s:crp.ftp", 0, true
'objShl.Run "ftp -s:crp.ftp > ftp.log", 0, true '×
'objShl.Run "ftp -s:crp.ftp >> ftp.log", 0, true '×
'objShl.Run "ftp -s:crp.ftp > ftp.log", 1, true '×
'objShl.Run "ftp -s:crp.ftp > C:\db\wsh\ftp.log", 0, true '×
'objShl.Run "ftp -s:crp.ftp >> C:\db\wsh\ftp.log", 0, true '×
'objShl.Run "ftp -s:C:\db\wsh\crp.ftp >> C:\db\wsh\ftp.log", 0, true '×
'objShl.Run "ftp -s:C:\db\wsh\crp.ftp > C:\db\wsh\ftp.log", 0, true '×
'objShl.Run "ftp -s:/db/wsh/crp.ftp >> /db/wsh/ftp.log", 0, true '×
'objShl.Run "ftp -s:/db/wsh/crp.ftp > /db/wsh/ftp.log", 0, true '×
WScript.Echo "完了"
------------------
OSはWindows2003 Serverです。
上記をコマンドプロンプトで実行すると、ftpもログも正しく処理できています。
違っているところや、別の対処方法等教えてください。
よろしくおねがいします。
0451デフォルトの名無しさん
2007/12/21(金) 18:54:120453デフォルトの名無しさん
2007/12/21(金) 23:29:390454デフォルトの名無しさん
2007/12/28(金) 13:37:03著名確認画面で止まるのを自動で進みたいんですが。
0455デフォルトの名無しさん
2007/12/28(金) 16:24:02マウスクリックするだけじゃん。
どんだけズボラなんだよ。
スクリプト書く方がはるかに手間がかかるよw
なんて冗談はさておき、たぶん、自分のPCなら自分で
マウスをクリックすればいいだけな話だが
キミやりたいのは、不特定多数の他人のPCにインストールしたい
ということなんだろ?
たぶん sendkeys って命令を使えばいいんだと思う。
(誰か詳しいひとがフォローしてくれるはず)
それはそれとして、いったい何のための署名なのか。よく考えて欲しい。
システムに深刻な障害を与える可能性のあるソフトを
何の確認もせずに自動インストールできてしまう機能がOSに
備わっていたら?それはセキュリティーホールだよね。
ウイルス作成ハッカーの格好の餌食じゃん。
0456デフォルトの名無しさん
2007/12/28(金) 18:41:26>それはそれとして、いったい何のための署名なのか。よく考えて欲しい。
親切で言ってるとは思うが、余計なお世話だろ。
>>454
出す情報少な杉。ダイアログを自動で操作したいだけなら455の言うとおり
ウインドウハンドルを取得してsendkeys使えばいい。
0457デフォルトの名無しさん
2007/12/28(金) 20:18:55SendKeysは知っていますが・・・
それから、著名確認を無効にする事がWindowsでは出来ますよ。
貴方の言うように著名確認が無いならそれはセキュリティホールだというなら、どうして
そのような機能がWindowsについているのでしょうか?
>>456
すみません。携帯電話からだったのでつい・・・・。
今度はPCから書いています。 確かにSendKeysを使えば良いのでしょうが、確認ダイアログ
が出るかどうかが分からないとか、 AutoHotKeyの IfWinExist みたいな 指定したタイトルの
ウィンドウが存在するかどうかチェックとか、そういった事はWSHでは出来ないのかなぁと。
要するに、SendKeysだとAppActivateと組み合わせても、タイミングによってはユーザの介入
によって上手くいかない可能性もあるので、そういった不安要素を取り除いて確実なスクリプト
にしたいなぁと思ったのですが、無理っぽいですねぇ・・・・
マニュアルを "存在するか" とか "ドライバ" とか 色々検索してみたのですが、どうも
なさそうでした・・・・。
0458デフォルトの名無しさん
2007/12/28(金) 20:36:01本筋とは関係ないが、「著名」じゃなくて「署名」だよ。
0459デフォルトの名無しさん
2007/12/28(金) 21:23:03ずっと「ちょめい」と読んでいたんだろうね。
0460456
2007/12/28(金) 21:27:53突っ込みどころが多杉。
>>455がsendkeys出したのは、情報小出しのおまえが悪いんだろ。
それに対して礼も言わずにバカにしたようなレスはどーなのよ。
携帯電話なんてそっちの事情はしらねーんだよ。
>AutoHotKeyの IfWinExist みたいな 指定したタイトルの
できるが、「確認ダイアログが出るかどうかが分からない」って事じゃ
使いようがないだろ。
ある程度知ってる人ならスマートな解決方法がわからないまでも、この流れで
2種類の解決方法が思い浮かぶだろうな。
ブチむかついたので、以上。
0461デフォルトの名無しさん
2007/12/28(金) 21:27:59うっはw 指摘ありがとうございます。
超恥ずかしいOTL オレバカす・・・・・
それはそうと、スクリプトはどんなコンピュータで実行されるか分からないじゃないですか?
ハードウェアのインストールウィザードで一旦止まりますが、要はユーザがそれを見て
よく分からずに「インストール停止」を選べないように、出てきた瞬間にインストールを選択
させてインストールしたいのです。
最悪かなり重いマシンで実行する事を想定すると Wscript.Sleep 10000で10秒ぐらいは待って
それから objWshShell.SendKeys "{Left}" Wscript.Sleep 100 objWshShell.SendKeys "{Enter}"
ってやらないと、まだハードウェアのインストールウィザードが出てきてないのに
SendKeysしてしまうと失敗しますよね。
ではそのように作ったスクリプトを高速なマシンで実行した場合はどうなるか・・・
ハードウェアのインストールウィザードは出ているのにしばらく停止したまま。その間にユーザが
インストール停止を選択してしまうかもしれない。そうでなくても無駄に待ち時間が長いのは問題。
だから、出てきたらすぐインストールを選択させたいんです。無駄な待ち時間をなくしたい。
そうするにはどうすればいいのでしょうか?
AutoHotKeyだと IfWinExist タイトル で そのタイトルが存在するかどうかチェックとか
そういった事が出来たのですが、WSHではどうするのかなぁと。
存在しないタイトルを objWshShell.AppActivate タイトル ってやってアクティブにしようとして
存在しないのだから多分 Falseが帰ってくるから、それがTrueになるまで1秒ずつ実行するような
無限ループでも作ればいいのでしょうか?こんな感じ
Do While objWshShell.AppActivate("ハードウェアのインストール") <> True
Wscript.Sleep 1000
Loop
しかしこうするとなんらかの原因で永遠にAppActivateするプログラムが立ち上がってこなかったら
無限ループに陥ってしまうし・・・どうしたらいいんでしょう?
0462461
2007/12/28(金) 21:35:15すみませんでした。 ただ、署名を無効にするオプションが存在するのに署名無視でインストール
なんて出来るとセキュリティホールでしょ?って言っていたので、それはおかしいなと思って
レスしたまでです。で、携帯電話からってのは確かに、貴方には知る由もありません。申し訳ございませんでした。
>できるが、「確認ダイアログが出るかどうかが分からない」って事じゃ
方法をぜひご教示願えませんか?
>ある程度知ってる人ならスマートな解決方法がわからないまでも、この流れで
>2種類の解決方法が思い浮かぶだろうな。
向学のために2種類の解決方法とスマートな解決方法をご教示願えませんか?
>ブチむかついた
"ブチ"って、山口県辺りの人ですか?
0463デフォルトの名無しさん
2007/12/28(金) 22:14:01>無限ループに陥ってしまうし・・・どうしたらいいんでしょう?
有限ループにする
0464461
2007/12/28(金) 23:48:48なるほど・・・
i = 0
Do While objWshShell.AppActivate("ハードウェアのインストール") <> True
WScript.Sleep 1000
i = i + 1
If i >= 10 Then
WScript.Popup "エラー!ドライバのインストールに失敗しました", 5
WScript.Quit
End If
Loop
こんな感じですかね。。。
それともう1つ聞きたいのですが、指定した名前のドライバがきちんとインストールされているか
どうかIfで分岐する事はできませんか?
もう具体的に出した方が分かりやすいと思いますので言いますが UltraVNC のVNC Hook Driver
のインストールをしたいのです。 もしインストールされてなければインストールを実行(全自動)
インストールされていればインストールはせずにスクリプトを終了させる
といった分岐です。
0465デフォルトの名無しさん
2007/12/29(土) 11:38:430466デフォルトの名無しさん
2007/12/29(土) 15:19:42「署名を無効にするオプションが存在する」 なら、無効にしとけばいいじゃん!頭悪っ
0467デフォルトの名無しさん
2007/12/29(土) 15:29:010469デフォルトの名無しさん
2007/12/30(日) 01:12:430470デフォルトの名無しさん
2007/12/30(日) 08:43:10日本語の乱れ?
0471デフォルトの名無しさん
2007/12/30(日) 08:53:40お前は萌えを知らんのか?
0472デフォルトの名無しさん
2007/12/30(日) 10:27:000473デフォルトの名無しさん
2007/12/30(日) 12:37:18Windowsの自動操作を行えると主張するが
AppActivate+SendKeysはWindowの基本設計とは完全に矛盾しており
システムのクラッシャーになりかねない
OLE対応アプリ/機能以外は操作できないというのは
実質WSHには自動操作はできないという事を示している
0474デフォルトの名無しさん
2007/12/30(日) 13:34:25決して「Windowsアプリケーションの」とは言っていない。
0475デフォルトの名無しさん
2007/12/30(日) 13:37:55上にもあるようにセキュリティに関わることだから、
自動化に制約がかかるのは勘弁してやれ。
0476デフォルトの名無しさん
2007/12/30(日) 15:00:30Windowsってなんなの?って感じ。
0477デフォルトの名無しさん
2007/12/30(日) 17:56:400478デフォルトの名無しさん
2007/12/30(日) 20:31:53使えているひともいるみたいで、環境依存なの?
ttp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=53250;id=excel
0479デフォルトの名無しさん
2007/12/30(日) 20:33:11COPY *.TXT A:\
と同等の機能をVBSで書いてみろよ。
適材適所で使い分けの出来ないヤツは役に立たん。
0480デフォルトの名無しさん
2007/12/30(日) 22:51:01既知の問題で、(おそらく)環境依存で、原因不明で、解決法無し(不明)です
スレ違いなので詳しくは書きませんが代用法もあるわけですし
問題が起きるようならキッパリ諦めてください
0481デフォルトの名無しさん
2007/12/31(月) 04:06:48Option Explicit
Dim objFSO
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "*.txt" "A:\"
Set objFSO = Nothing
こんな感じでしょうか?
0482デフォルトの名無しさん
2007/12/31(月) 04:49:23どこソースなんかね
タイピング増やしたくない俺は滅多に使わないんだが
0483デフォルトの名無しさん
2007/12/31(月) 05:15:550484デフォルトの名無しさん
2007/12/31(月) 05:16:47object.CreateObject(strProgID[,strPrefix])
object
WScript オブジェクトです。
って書かれてるわけだが
0485デフォルトの名無しさん
2007/12/31(月) 05:19:200486デフォルトの名無しさん
2007/12/31(月) 05:26:43大元は一緒でラップの仕方が違うだけだし
0487デフォルトの名無しさん
2007/12/31(月) 05:42:27サーバサイドはServer.CreateObject()
って記述してる
0488デフォルトの名無しさん
2007/12/31(月) 09:02:11それはまた全然別の話だよw
0489デフォルトの名無しさん
2007/12/31(月) 16:43:29ブッブーーッ!はいダメ。
無理すんな。素直にバッチファイル書けよ。
0490デフォルトの名無しさん
2007/12/31(月) 18:28:020491デフォルトの名無しさん
2007/12/31(月) 18:49:49なぜダメか一人でずっと悩んでろ!
0492デフォルトの名無しさん
2007/12/31(月) 18:56:410493デフォルトの名無しさん
2007/12/31(月) 20:43:42"*.txt" と "A:\" の間にカンマがないのがダメってこと?
0494デフォルトの名無しさん
2007/12/31(月) 20:54:130495デフォルトの名無しさん
2007/12/31(月) 21:11:400496デフォルトの名無しさん
2007/12/31(月) 22:14:000497デフォルトの名無しさん
2008/01/01(火) 00:29:29WScript.Shellという名前からしてWSH専用だろ
0498デフォルトの名無しさん
2008/01/01(火) 00:32:29勘違いしてたに1票
0499481
2008/01/01(火) 01:18:11objFSO.CopyFile "*.txt", "A:\"
↑こうですね・・・・。。。
0500デフォルトの名無しさん
2008/01/01(火) 02:35:000501デフォルトの名無しさん
2008/01/01(火) 13:01:20はいそのとおり。
バッチなら COPY *.TXT A:\ で済む、バイトの女の子さえミスしようがない超超超簡単なことさえ
WSHで書くとミスっちゃうだろ?
ミスの確立が増える。そういうこと。
だから、WSHがあればBATはいらない、などとイキガッテないでさ、適材適所で使い分けれ。
それにしても、超〜〜思うツボだな。わざとミスってくれたのかと思ったよ。
天然だったんだねw
0502デフォルトの名無しさん
2008/01/01(火) 13:08:200503デフォルトの名無しさん
2008/01/01(火) 13:10:06狙って書いてるのか?w
0504デフォルトの名無しさん
2008/01/01(火) 13:20:230505デフォルトの名無しさん
2008/01/01(火) 14:11:33かんじで かくと みすっちゃう だろ?
いきがって ないで ひらがなで かけ。
0506481
2008/01/01(火) 14:35:00はい、今回WSHで書いて、確かにBatで書いた方が良い場面もある事を痛感しました。
WSHとBatを混合させると言うのはどうなんでしょうか?
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Exec "copyFile.bat"
みたいな。でもこうすると処理が複雑になったときにbatとWSHと行き来するような事になると
なんかバグが出てきそう・・・。その時修正が大変じゃないですかねぇ・・・。
それに出来れば1つのスクリプトファイルで済ませたいし・・・
>>505
ワラタw
0507デフォルトの名無しさん
2008/01/01(火) 15:02:00ネット初心者?
0508デフォルトの名無しさん
2008/01/01(火) 16:08:59それはこういうやつだろ。「確立」は単なる間違い。
>>506
バッチファイル内のCALLで他のバッチファイルを呼んだ方が解り易いかと。
基本バッチファイルで、足りない機能をWSHでフォローって感じで
書いていけばいいんじゃないかな。
無論、内部・外部コマンドが殆ど不必要なら、直接WSHで書いてしまえばいいし。
0509デフォルトの名無しさん
2008/01/01(火) 17:08:23リンク先の代替法はSendKeys使っててもひとつやね
VBSファイル作って呼び出すのが確実
0510デフォルトの名無しさん
2008/01/01(火) 20:18:13おもしろい発想だけど、たとえばC言語でこんな・・・
main()
{
system("MKDIR \"C:\\Program Files\\MyApp\"")
system("COPY *.* \"C:\\Program Files\\MyApp\"");
system("ECHO インストールが完了しました。||PAUSE");
}
こんなの書いて、「オレ、C言語でプログラムかいたおw。スゴイでそ!」
なんて言ったら笑われるだけ。他の言語でも同じこと。
0511デフォルトの名無しさん
2008/01/01(火) 21:54:49C言語でプログラム書いたというのは事実なわけだが
0512デフォルトの名無しさん
2008/01/01(火) 22:43:120513デフォルトの名無しさん
2008/01/02(水) 01:32:04WScript.Echo(@if (@_Win32) 'Y' @else 'N' @end);
はできても、
WScript.Echo(@_Win32);
はできない
0514デフォルトの名無しさん
2008/01/02(水) 01:37:340515デフォルトの名無しさん
2008/01/02(水) 02:13:13@変数は、JScript コードでは使えませんよ。
@setや@ifの中でしか使えない仕様です。
>>514
プログラム板で有名な基地害さんじゃありませんかw
0516デフォルトの名無しさん
2008/01/02(水) 02:53:29@_win32じゃね?
>>514
それ見ていつも思うけど
誘導先が書いてないんじゃ無意味なレスじゃね?
0517デフォルトの名無しさん
2008/01/02(水) 05:05:500518デフォルトの名無しさん
2008/01/02(水) 12:01:50ちょwwwwそれはないですwwwww さすがにそれはひどい・・・・。
0519デフォルトの名無しさん
2008/01/02(水) 15:06:440520デフォルトの名無しさん
2008/01/02(水) 15:10:570521デフォルトの名無しさん
2008/01/02(水) 19:17:49いや、その構文を使うのはわかるけど、 If の後に書く内容ですよ。
どういう風に書いて真偽を返させればいいのかが全く検討がつきません。
If ドライバがインストールされている Then
MsgBox ドライバインストールされてるよ〜
Else
MsgBox ドライバインストールされてないよ〜
End If
の"ドライバがインストールされている" と言う判定をどう書けばいいのかをお聞きしています。
0522デフォルトの名無しさん
2008/01/02(水) 19:27:25レジストリでも覗いとけ。それ以上はこのスレの範囲外。
0523デフォルトの名無しさん
2008/01/02(水) 20:45:49・置換リストを作って置換したい。
・CUIでもいい。
これらを実行したい場合は、WSHで出来ますか?
0524デフォルトの名無しさん
2008/01/02(水) 21:27:49WSHとCOM(標準のものだけで事足りる)で出来ますよ
0525デフォルトの名無しさん
2008/01/02(水) 22:11:300526デフォルトの名無しさん
2008/01/02(水) 22:30:03COMとはCOMMAND.COMのことですか?
>>525
win2kは未対応のようで、うちでは使えません。
0527デフォルトの名無しさん
2008/01/03(木) 05:08:06ActiveXって言う人いるよね。
もちろんActiveXが何かは殆どわかってない人が多い
0528デフォルトの名無しさん
2008/01/03(木) 12:46:440529デフォルトの名無しさん
2008/01/03(木) 16:09:38win2kではCMD.EXEだな
0530デフォルトの名無しさん
2008/01/03(木) 16:22:51win2kでも誤魔化せば使えるらしい
0531デフォルトの名無しさん
2008/01/03(木) 16:38:060532デフォルトの名無しさん
2008/01/03(木) 16:57:36そういうボケはいらん
COMコンポーネントだろ
0533デフォルトの名無しさん
2008/01/03(木) 17:05:17具体的なProgIDを書け
しらんなら書くな
0534デフォルトの名無しさん
2008/01/03(木) 17:32:010535デフォルトの名無しさん
2008/01/03(木) 17:40:10っていうかググればADODB.Stream使うってすぐ出て来るよね。
0536デフォルトの名無しさん
2008/01/03(木) 17:42:030537デフォルトの名無しさん
2008/01/03(木) 18:18:04俺は面倒臭がりだからC#で書くけど。
0538デフォルトの名無しさん
2008/01/03(木) 20:22:49レジストリを覗く・・・それぐらいしか手が無いとは・・・・OTL
0539デフォルトの名無しさん
2008/01/03(木) 20:55:40WSHはそういうもの
痒いところに手を伸ばすにはダルシムレベルの修行が必要
0540デフォルトの名無しさん
2008/01/03(木) 22:37:300541デフォルトの名無しさん
2008/01/04(金) 00:19:040542デフォルトの名無しさん
2008/01/04(金) 03:12:15別にWSHがそうだから、
とかいう問題じゃなくね?
0543デフォルトの名無しさん
2008/01/04(金) 10:01:01僕にもその方法を教えてください
0544デフォルトの名無しさん
2008/01/04(金) 11:46:400545デフォルトの名無しさん
2008/01/04(金) 14:37:11Windowsのタスクスケジューラでアイドル時検出試してみたのですが
とりあえず1分アイドル時間が続いたら hoge と表示してpauseしてそれから終わらせるスクリプト
をスケジュール登録してみたのですが、 負荷が小さい処理、例えばメモ帳に文字列を
打ち込んでいたり、こうやって2chを見たりしていると、操作しているからアイドルではないのですが
CPUから見るとアイドル状態なので、スケジュールが実行されてしまいます。
やりたい事は パソコンを切るのをしょっちゅう忘れる愚息のパソコンに仕込む事による
省エネ対策です。 1時間以上パソコンを全く触ってないならshutdownさせると。
しかし先ほど述べたように1時間以上2chを見てたりネットサーフィンしている状態だと
操作しているにも関わらずアイドル検出されてしまってシャットダウンされてしまうのでダメです。
MSNメッセンジャの「退席中」表示みたいな、指定時間全くマウスもキーボードも操作しなかったとき
(Inputが全く無い時)にスクリプトを発動させたいのですが、WSHでアイドル時間を取得できませんか?
0546デフォルトの名無しさん
2008/01/04(金) 14:40:420547デフォルトの名無しさん
2008/01/04(金) 14:41:160548デフォルトの名無しさん
2008/01/04(金) 15:08:21電源オプションのプロパティ ウィンドウを見てみましたが、シャットダウンがありません。
まぁ休止状態で代用してもいいかな?とは思いますが
システム休止状態 の所の 1時間後 にすると、アイドル時間(CPUがアイドルではなく
ユーザによるマウスやキー入力が一切無いアイドル)が1時間経ったら勝手に休止になる
のでしょうか?スレチ?
0549デフォルトの名無しさん
2008/01/04(金) 15:13:03放置してみましたが、休止状態になりませんでした。
これじゃダメなようです・・・・
0550デフォルトの名無しさん
2008/01/05(土) 00:38:59休止状態でOK
0551デフォルトの名無しさん
2008/01/05(土) 02:46:070552デフォルトの名無しさん
2008/01/05(土) 02:49:110553デフォルトの名無しさん
2008/01/05(土) 20:52:09WSH HTML 等で検索してみたのですが、イマイチそういうことを紹介しているページが
見つかりません。
もしくは.vbsファイルの内容をテキストコピーして、 HTMLファイル内に貼り付けて
そのコードを実行させるとかそういうことは出来ませんか?
0554デフォルトの名無しさん
2008/01/05(土) 21:02:44とエスパーしてみる。
0555デフォルトの名無しさん
2008/01/05(土) 21:09:43JScript同様、script要素の中に書けるぞ。現状ではIE限定になるが。
0556デフォルトの名無しさん
2008/01/05(土) 22:39:110557デフォルトの名無しさん
2008/01/05(土) 22:48:54<script language="VBScript">
<!--
MsgBox "ハロー"
<--!
</script>
↑みたいな感じでHTMLで実行させる事についての詳細が知りたいのですが、
>>556が言っているように出来ないのでしょうか?
ブラウザでそういうことしたいならJava Scriptとか書くしかないのでしょうか?
でも >>555はできるって言っているし、どういうことなのん???
0558デフォルトの名無しさん
2008/01/05(土) 22:57:030559デフォルトの名無しさん
2008/01/05(土) 23:03:41>WSH(拡張子.vbs)
このあたりに勘違いを感じる
0560デフォルトの名無しさん
2008/01/05(土) 23:47:11それくらいは555に書いてあるとおり可能。languageよりtype使えな。
>>556
ネットワーク上に置いてあれば、
FileSystemObjectなどはセキュリティゾーンに従って制限を受ける。
JScriptで自由に使えたXMLHTTPなどはVBScriptでも同様に使える。
いずれにせよWSHは関係なくスレ違い。よそ行け。
0561デフォルトの名無しさん
2008/01/06(日) 03:55:36が、実際にHTMLでVBScriptが使用される事はまず無い。
VBとVBSも当然違うので
VBSの話がまともに扱われるのは
ここかお前らスレかHTAスレぐらいのものだろう
WSHもIEもHTAもスクリプトが実装されているモジュールは
完全に同一の物。
WSHのマニュアル、と言われているものも実際には
必ずしもWSHのマニュアルではなくWindowsスクリプト、
についてのマニュアル
0562デフォルトの名無しさん
2008/01/06(日) 05:30:060563デフォルトの名無しさん
2008/01/06(日) 09:31:30VBScript HTML で検索したらいいと思うよ。
既に言われてるようにWSHは関係ないので
WSH HTML では見つからないでしょ。
0564デフォルトの名無しさん
2008/01/06(日) 12:34:40kimochi ii
0565デフォルトの名無しさん
2008/01/06(日) 19:45:03指定したレジストリキー以下の"名前"を全てフルパスで返して欲しいのですが
どのように記述すれば良いのでしょうか?
Set objShell = WScript.CreateObject("WScript.Shell")
ret = objShell.RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEO\*")
のようにしても、VIDEO\ 以下の名前の部分のパスは帰ってきませんでした。(何も帰ってこない)
かといって 最後の * を削除しても結果は同じで何も帰ってきませんでした。
On Error Resume Nextを上のほうに書いてあるからエラーにはなりませんが・・・。
やりたい事は、それによってフルパスが得られるなら、For Each文で全てのデータを覗いて
指定した文字列が含まれているかどうかをInStr関数等で検索すると言う事です。
よろしくお願いします。
0566デフォルトの名無しさん
2008/01/06(日) 19:53:22ワイルドカード使えるなんて何処に書いてある?
ワイルドカードは使えないのが基本で、使えるメソッドにはその旨書いてある物だ
勝手に都合の良い仕様を妄想するな
君のやりたいことを実現するにはWMIを使えば良い
但し、ここはWSHのスレであって汎用コンポーネントのスレではないので後は自分で調べること
と言っても情報は腐るほどあるからググれば簡単に解決するけど
0567デフォルトの名無しさん
2008/01/06(日) 19:59:33WSH厨ってなんでそんなに偉そうなんだ?
そのくせ関係ないスレに聞かれても無いスクリプト張りまくったりして気持ち悪いな。
0568デフォルトの名無しさん
2008/01/06(日) 20:04:29どうせ使うんだから
0569デフォルトの名無しさん
2008/01/06(日) 20:08:500570567
2008/01/06(日) 20:14:40回答なら566で十分だろ?
俺はただ566が気持ち悪いって書きたかっただけだ。
同類にされたかないね!
0571デフォルトの名無しさん
2008/01/06(日) 20:26:490572デフォルトの名無しさん
2008/01/06(日) 20:34:23教えられる側はその代償に回答をもらう。
いいんじゃね?
モレだったら表面上では偉そうな態度取らんが、それは人それぞれ。
0573デフォルトの名無しさん
2008/01/06(日) 20:39:56恥ずかしくならない?
0574デフォルトの名無しさん
2008/01/06(日) 22:12:33モレは恥だと思うから、
>モレだったら表面上では偉そうな態度取らんが、それは人それぞれ。
って事ね。
0575デフォルトの名無しさん
2008/01/06(日) 22:13:470576デフォルトの名無しさん
2008/01/06(日) 22:25:42そういうの偉そうに書いちゃうのは恥ずかしくないの?
0577565
2008/01/06(日) 23:12:00申し訳ありません。
一応自己解決したので参考までに私がとった手段を書いておきますね。
WMIと言うのは一応調べてみたのですが、イマイチよく分からなかったので
WScript.CreateObject("WScript.Shell").Exec を使って
reg.exe を呼び出す事で処理しました。
reg query キー
とやると、指定したキー内の"名前", "種類", "データ"が全て列挙されるので
1行1行InStr関数にかけて目的のレジストリデータが存在するかどうかを調べる手段を
取りました。一瞬コマンドプロンプトの画面が立ち上がってくるのがちょっと気になりますが
これなら私にもかけました。
アドバイス下さった方、ありがとうございました。
0578デフォルトの名無しさん
2008/01/06(日) 23:24:39楽しそうだね。
0579デフォルトの名無しさん
2008/01/07(月) 00:07:34http://msdn2.microsoft.com/en-us/library/aa393664(VS.85).aspx
http://www.microsoft.com/japan/technet/scriptcenter/scripts/os/registry/default.mspx
0580デフォルトの名無しさん
2008/01/07(月) 12:33:33出てこなくする方法もあるけど
それが出ないのが気に入らないっていうひともいるだろうね
0581デフォルトの名無しさん
2008/01/07(月) 13:08:42おお、そうなんですか?参考までに出てこないようにする方法を教えて頂けませんか?
IEの場合は
objIE.Visible = False
すれば見えなくなりますが、コマンドプロンプトの場合どうするんだろう・・・
0582デフォルトの名無しさん
2008/01/07(月) 16:36:530583デフォルトの名無しさん
2008/01/08(火) 01:46:31どれをハズれと言ってるのかよくわからんのだが
まああれだ。
MSがいくら宣伝しても
VBSを使ってる人間は少数派。
というかもはや滅亡の道を歩んでおる
VBS < 壁 < javascript
.NET < 壁 < java
パワーシェル < 壁 < Perlなど
って事だ。
将来性を考えるんなら>>557もVBSはスルーして
JSにしときな
0584デフォルトの名無しさん
2008/01/08(火) 02:24:01たまにByRef受け取りなパラメータもあったりするし。
0585デフォルトの名無しさん
2008/01/08(火) 04:32:21c:\test\test
というように同じフォルダ名で入れ子になっている環境で、
explorer上でc:\test\testを切り取り、c:\test内で貼り付けて上書きすると
二つのフォルダ内容が融合されますが、これをfsoで実現しようとしています。
Moveは移動先に同名アイテムが存在していてはダメということなので、
まずc:\test\testの中身を先にc:\testに移動させ、
c:\test\testが空になったら削除する。
この際に、
c:\test\test\foo.txt
c:\test\foo.txt
というように移動先のフォルダに同名ファイルが存在した場合、
まずc:\test\foo.txtを削除し、c:\test\test\foo.txtをc:\test\foo.txtに移動させる。
さらに同名フォルダの場合はそれぞれについて再帰的に処理していく。
というような手順を踏まなければならないのでしょうか?
もっとシンプルな方法があるなら教えてくれませんか?
0586デフォルトの名無しさん
2008/01/08(火) 05:09:32質問は日本語でおねがいします
0587デフォルトの名無しさん
2008/01/08(火) 07:09:211TGBIT ガッガッガッガッドガガッガッ!!!!!
>z/':y★r” ドガガガガガッ ∴ ∧変∧
ル%#*゚∀)___。 \从/ _ _ _☆_ _★∴*.`Д´)/
ノハ つ∞【〔ロ=:(∈(二(@ >‐― ‐★‐―☆∵*;:*; /
∧★∧
(*゚∀゚)φ――・ ・― ― ―・・― ・・―→ (モールスでガッ!)
0589604
2008/01/08(火) 07:49:080590デフォルトの名無しさん
2008/01/08(火) 08:23:31残念ながらハズレです
0591585
2008/01/08(火) 13:46:21(´・ω・`)
>>588
なんでですかねー? >Moveの上書きパラ
CopyFolderの場合はあくまでCopyなので、後でコピー元を削除するとしても、
一時的に同一アイテムが階層違いで存在してしまうことになってしまいます。
この方法だとサイズの大きいアイテムのときに問題が出てきます。
となると、移動先の同名アイテムを先に削除してから移動させる、
という選択肢しかなくなってしまうと思うんです。
しかしそれがどう考えても複雑な処理になってしまう。
みなさんどうやってるんですか?
0592デフォルトの名無しさん
2008/01/08(火) 14:18:12Move には無い。
どこか抜けてるところが、いかにもマイクロソフトらしい。
0593デフォルトの名無しさん
2008/01/08(火) 14:31:420594デフォルトの名無しさん
2008/01/08(火) 15:01:03ShellオブジェクトのFolderオブジェクトを使えばできた。
以下、"F:\temp\test\test"を"F:\temp\test"へ上書きするサンプル。
Set objShell=Wscript.CreateObject("Shell.Application")
set objFol = objShell.NameSpace("f:\temp")
call objFol.MoveHere("f:\temp\test\test", &H10)
0595585
2008/01/08(火) 15:54:53動作確認できました。
ありがとうございますm(_ _)m
しかしこのMoveHereって移動エラー発生時点で処理が中断されるっぽいですね。
スキップさせるにはやっぱり自分で書くしかないですね。
MoveHere.VBS
http://www.vector.co.jp/soft/winnt/util/se377243.html
けっこうみんな苦労してるっぽい
http://www.roy.hi-ho.ne.jp/mutaguchi/bbs/list121.shtml
0596デフォルトの名無しさん
2008/01/08(火) 16:15:45FolderItemオブジェクトのInvokeVerb使って、
"切り取り(&T)"して"貼り付け(&P)"という手もあると思いますが・・・。
まあ、エラーが出れば止まるのは同じでしょうね。
0597デフォルトの名無しさん
2008/01/08(火) 16:46:240598デフォルトの名無しさん
2008/01/08(火) 16:52:30if folderexists then deletefolder
movefolder
がいいんじゃないの
on error使ってもいいけど
0599585
2008/01/08(火) 17:26:35それって裏でMoveHereが動いてるのでは?
>>597
そのようですね。いろいろ実験してると分かりました。
>>598
それだとフォルダとフォルダのマージにはならないような。
移動先のかぶってないファイルも削除されてしまう。
0600デフォルトの名無しさん
2008/01/08(火) 17:29:090601デフォルトの名無しさん
2008/01/08(火) 21:50:28> さらに同名フォルダの場合はそれぞれについて再帰的に処理していく。
ファイル名とフォルダ名が同じだったらどうするんだろ
0602デフォルトの名無しさん
2008/01/08(火) 21:58:050603デフォルトの名無しさん
2008/01/08(火) 22:24:300604585
2008/01/09(水) 06:53:12そのへんは考えてあります。
MoveHereの標準動作を見ると
移動先に同名アイテムがない → 移動
移動元:ファイル → 移動先:ファイル → コピー先削除 → 移動
移動元:ファイル → 移動先:フォルダ → エラー(中断)
移動元:フォルダ → 移動先:ファイル → エラー(中断)
移動元:フォルダ → 移動先:フォルダ → マージ(再起処理へ)
ということみたいですが、
ファイル-フォルダ、フォルダ-ファイルの場合の中断は問題があるので
ダイアログでも出すか、スキップするかで対応。
0605デフォルトの名無しさん
2008/01/09(水) 16:41:28var objFSO = new ActiveXObject("Scripting.FileSystemObject");
WScript.Echo((objFSO.DriveExists("\\\\Server\\SharedDocs")).toString());;
というスクリプトをcronNTで動かした場合、falseになります。
0606デフォルトの名無しさん
2008/01/09(水) 18:12:050607デフォルトの名無しさん
2008/01/09(水) 20:35:09それ、cronNTじゃない環境では動くの?
0608デフォルトの名無しさん
2008/01/09(水) 23:44:50ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/jsmthdriveexists.asp
>>607
コピペミスで2行目に ; が1個余分に付いてしまったorz
foo.js というファイル名で保存して、コマンドプロンプトから cscript で実行させれば動きます。
共有フォルダに置いてあるDLL(AutoItX3.dll等)を regsvr32 した後、スクリプト中で
ActiveXObject() して使おうと思い、コマンドプロンプトからの動作確認ではうまく動いたので
cronNT に起動スケジュールを書いておいたら動いてはくれず、色々と調べていたら
共有フォルダへのアクセスに失敗している事が分った次第です。
もし、cronNT が原因で他の類似ソフトでは再現しない問題なら他に良い物が有れば
それに乗り換えようとも思ってます。
ただ、VMware Player の中で動かしている都合
(無料版はディスクイメージの容量を後から大きくするツールが付属しない)で、
しかも既に残り容量にも余裕が全く無い為、
Windows Services for UNIX Version
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=896C9688-601B-44F1-81A4-02878FF11778#Overview
の様なのでは無く、もっと軽い物でないと無理です。
0609デフォルトの名無しさん
2008/01/10(木) 01:57:32他のActive Script実行環境でやるとどうなるか試してみろ。
0610デフォルトの名無しさん
2008/01/10(木) 09:00:52ちょっとかなりスレ違いっぽいが
cronNTサービスのプロパティを開いて
ログオンをローカルシステムアカウントから自分のアカウントに変えてみて
0611デフォルトの名無しさん
2008/01/10(木) 11:28:47それをBというディレクトリにmoveしますが途中で終了してしまい
a,b,cまでしかmoveされませんでした
その後もう一度AをBにmoveしたところ上書きしますか?と聞かれたので
「はい」で最後まで完了したのですがBのナカミを見たところ
d,eしかありませんでした
あるOSで実際に起こった出来事です
0612デフォルトの名無しさん
2008/01/10(木) 13:53:180613デフォルトの名無しさん
2008/01/10(木) 15:46:01「それ」 とは何か。具体的に書け。
0614デフォルトの名無しさん
2008/01/10(木) 16:54:33単数形だから「Aというディレクトリ」じゃね
0615デフォルトの名無しさん
2008/01/10(木) 17:24:00最初のmoveにより、ディレクトリAからファイルa,b,cが消えた。
その状態でディレクトリAを再びmoveさせれば、ディレクトリBにファイルd,eしかないのも別におかしくないだろ。
0616デフォルトの名無しさん
2008/01/10(木) 20:57:58ディレクトリを移動(上書き)というのはディレクトリ自体の移動ではなく中身の移動のことだし。
中身の移動であるという観点から見れば、上書きが発生すること自体おかしな話だわな。
0617デフォルトの名無しさん
2008/01/10(木) 21:32:01Aというディレクトリを move せずに
a,b,c,d,e というファイルを move すればよかったんだよ。
「それ」 が A なのか a,b,c,d,e なのかで結果が違ったんだね。
0618デフォルトの名無しさん
2008/01/10(木) 21:57:150619デフォルトの名無しさん
2008/01/11(金) 17:16:430620デフォルトの名無しさん
2008/01/11(金) 20:19:27ご愁傷さま
0621デフォルトの名無しさん
2008/01/11(金) 20:56:54を JScript に移植したくて以下のように書きましたが、実行すると
xxx.js(4, 1) SWbemServicesEx: 無効なクエリです。
というエラーで止まってしまいます。
どこが間違っているでしょうか?
var strComputer = ".";
var objWMIService = GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2");
var colMonitoredEvents = objWMIService.ExecNotificationQuery(
"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " +
"Targetinstance ISA 'CIM_DirectoryContainsFile' and " +
"TargetInstance.GroupComponent= " +
"'Win32_Directory.Name=\"c:\\\\scripts\"'");
while (true)
{
var objLatestEvent = colMonitoredEvents.NextEvent;
WScript.Echo(objLatestEvent.TargetInstance.PartComponent);
}
0622デフォルトの名無しさん
2008/01/11(金) 20:58:28次から気を付けようなw
0623デフォルトの名無しさん
2008/01/11(金) 20:59:57ここが間違ってる
var colMonitoredEvents = objWMIService.ExecNotificationQuery(
"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " +
"Targetinstance ISA 'CIM_DirectoryContainsFile' and " +
"TargetInstance.GroupComponent= " +
"'Win32_Directory.Name=\"c:\\\\scripts\"'");
0624621
2008/01/11(金) 21:09:46すみません、書き方が悪かったです。
どこが間違ってるかはエラーメッセージが教えてくれているのでわかってました。
どう直せばいいんでしょうか?
0625デフォルトの名無しさん
2008/01/11(金) 21:41:29他人に投げるな〜〜
0626デフォルトの名無しさん
2008/01/11(金) 21:42:52"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE "
+ "Targetinstance ISA 'CIM_DirectoryContainsFile' and "
+ "TargetInstance.GroupComponent= "
+ "'Win32_Directory.Name=\"c:\\\\\\\\scripts\"'");
0627デフォルトの名無しさん
2008/01/11(金) 22:38:220629デフォルトの名無しさん
2008/01/18(金) 06:33:04上記でエラーがでます。
おそらく、ファイルが必要だと思うのですが、
それはどうやったら手に入りますか?
0630デフォルトの名無しさん
2008/01/18(金) 07:29:28とりあえずエラーの内容書いてみ
0631デフォルトの名無しさん
2008/01/18(金) 21:42:53MSからダウンロードに決まってるだろ
0632デフォルトの名無しさん
2008/01/18(金) 22:22:490633デフォルトの名無しさん
2008/01/19(土) 09:49:15fread,fwriteとかseekのメソッドを提供してるクラスって無いの?
0634デフォルトの名無しさん
2008/01/19(土) 09:59:08ADODB.Stream
0635デフォルトの名無しさん
2008/01/19(土) 15:46:30デカイ動画ファイルの 最初の数バイトだけ 読み込んで処理したいけど
ファイル全体を読み込んでしまうため時間がかかってしょうがない。
何か良い手は無いですか?
0636デフォルトの名無しさん
2008/01/19(土) 16:18:250637デフォルトの名無しさん
2008/01/19(土) 22:25:520638デフォルトの名無しさん
2008/01/20(日) 01:04:11自分の殻に閉じこもる現実逃避型。
0639デフォルトの名無しさん
2008/01/20(日) 01:25:310640デフォルトの名無しさん
2008/01/20(日) 17:01:360641デフォルトの名無しさん
2008/01/20(日) 22:13:180642デフォルトの名無しさん
2008/01/20(日) 22:46:520643デフォルトの名無しさん
2008/01/20(日) 23:24:23COMコンポーネントのインストールは不可なんて馬鹿げたことを言い出すような低レベルな奴など相手にするな
こんなこと言い出すのは、嫌レジストリ厨とか"インストール"の意味を分かってない奴とか、相当な初心者の類だが、
もし"客先"ってのが会社なら、そんな奴がシステム管理においての権限を持ってるなんてゾッとしないねw
まあそれ以前にWSHスクリプトを外注する会社ってのもアレだけどw
0644デフォルトの名無しさん
2008/01/20(日) 23:37:160645デフォルトの名無しさん
2008/01/21(月) 00:12:460646デフォルトの名無しさん
2008/01/21(月) 00:14:43> デカイ動画ファイルの 最初の数バイトだけ 読み込んで処理したいけど
とのことだ。
バイナリは無理だろ。
0647デフォルトの名無しさん
2008/01/21(月) 00:15:200648デフォルトの名無しさん
2008/01/21(月) 01:28:090649デフォルトの名無しさん
2008/01/21(月) 01:50:38何が?
0650デフォルトの名無しさん
2008/01/21(月) 01:55:190651デフォルトの名無しさん
2008/01/21(月) 04:47:120652デフォルトの名無しさん
2008/01/21(月) 10:21:140653デフォルトの名無しさん
2008/01/21(月) 16:21:140654デフォルトの名無しさん
2008/01/21(月) 16:36:190655デフォルトの名無しさん
2008/01/23(水) 01:59:200656デフォルトの名無しさん
2008/01/23(水) 02:11:42ショートカット作って、ショートカットのアイコン変えるとか
0657デフォルトの名無しさん
2008/01/24(木) 21:41:26なければ作ればいいんじゃね
0658sage
2008/01/31(木) 00:57:142.(1)のURLのHTMLに含まれるjavascriptを解析して
自動で実行したい
WSHで1.はできると思うのですが、2はできますでしょうか?
できるのであればヒントを教えていただけぬか
0659デフォルトの名無しさん
2008/01/31(木) 00:59:050660デフォルトの名無しさん
2008/02/01(金) 20:30:46WSHShell の Run メソッドでアプリを起動して使おうとしているんですが、
普通にアイコンをダブルクリックして起動した場合と挙動が違って困っています。
とりあえずわかったことは、そのアプリは ¥Document and Settings¥ユーザ名¥
Application Data¥アプリ名 以下に一時ファイルを作るんですが、WSH から
起動した場合ファイルが生成されないようです。
WSH の場合でもちゃんと走るようになる為には何か別途設定がいるのでしょうか?
今は基本的に WSHShell.Run(アプリのバス, 4, True) を呼んでるだけです。
0661デフォルトの名無しさん
2008/02/01(金) 21:42:20カレントディレクトリを設定しろ
設定仕方はWSHヘルプに載ってるので嫁
0662デフォルトの名無しさん
2008/02/02(土) 07:34:31どうもです。
>WSHヘルプ
すみません、実はこれが何を指すのか分からん程度なんですがw
>カレントディレクトリを設定しろ
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wslrfcurrentdirectory.asp
によると CurrentDirectory というプロパティがあるそうなのでこれを適宜セット
する、で正解ですか?
で、できたらどんな値にセットするかも教えていただけると助かるのですが...
もしかしたらWSHヘルプというものにそれが書いてあるんでしょうか。
逆に考えると、普通にダブルクリックで起動したアプリではカレントディレクトリが
適宜セットされているから動く、ということでしょうか? もしそうなら一体どんな値になって
いる? という疑問がわきますが...
0663デフォルトの名無しさん
2008/02/02(土) 08:38:110664デフォルトの名無しさん
2008/02/02(土) 09:38:400665デフォルトの名無しさん
2008/02/02(土) 11:10:49動きませんよねぇ。なんか代替のメソッド無いですかね?
0666デフォルトの名無しさん
2008/02/02(土) 13:14:22Win2Kでも、WSH5.6なら、("Wscript.Shell").CurrentDirectryが使える。
インストール直後のバージョンは、どうだったかな‥
古いWSHでも、("Wscript.Shell").Run """ショートカットファイル.lnk""",,False なら
問題ない。False設定しか使えなくなっちゃうけども。
Wscript.ScriptFullName のほうは今回無関係ですかね。
0667デフォルトの名無しさん
2008/02/02(土) 16:33:340668デフォルトの名無しさん
2008/02/03(日) 02:07:270669デフォルトの名無しさん
2008/02/03(日) 02:20:080670デフォルトの名無しさん
2008/02/03(日) 03:43:53それです。教えてください。
0671デフォルトの名無しさん
2008/02/03(日) 17:41:540672デフォルトの名無しさん
2008/02/03(日) 18:09:400674デフォルトの名無しさん
2008/02/06(水) 16:53:29現在、VBSCriptで各ディレクトリのアクセス権限を
テキストに書き出す仕組みを作成しています。
コマンドは下記のようになっております。
CACLS <ディレクトリ名> >> <出力ファイル>
ディレクトリ名、出力ファイル名はパラメータとして受け取り、
文字列を結合してWshShell.Runに渡しております。 ・・・【1】
ここで問題なのですが、【1】の文字列をコピペして
DOSプロンプトで実行すると、正しく出力がされているのですが、
WshShell.Runにて実行すると、正しく出力されません。
この部分のコードは下記のようになっております。----------*
Command = "CACLS " & DIRName & " > " & ExportFileName
objShell.Run Command ' WShellオブジェクトは生成済み
--------------------------------------------------------*
恐れ入りますが、どなたかこのような現象を経験されておりましたら、
解決策の指南のほどよろしくお願いいたします。
0675デフォルトの名無しさん
2008/02/06(水) 18:26:05ソース全部貼るべき
「・・・【1】」って違う場所に書いてない?
0676デフォルトの名無しさん
2008/02/06(水) 18:27:44とはどうなるのだ?
0677デフォルトの名無しさん
2008/02/06(水) 19:11:25Command = "CACLS %cd% > out.txt"
objShell.Run Command
これで試してみたけど、うまくいかないね。
Command = "cmd /c cacls〜
ではうまくいくけど。
0678デフォルトの名無しさん
2008/02/06(水) 20:04:100679デフォルトの名無しさん
2008/02/06(水) 21:50:010680デフォルトの名無しさん
2008/02/07(木) 06:34:500681674
2008/02/07(木) 09:15:53>>WshShell.Runにて実行すると、正しく出力されません。
>とはどうなるのだ?
パラメータ無しで実行したCACLSのように、ヘルプが表示されます。
経過ですが、
>>677さんの"cmd /c cacls〜"で試してみたところ、うまくいきました。
大変お世話になりました。
0682デフォルトの名無しさん
2008/02/08(金) 12:25:55Windowsタクススケジューラで設定した引数が渡ってこない(WScript.Arguments.Count = 0)のです。
同じパス(コマンドライン)で作ったショートカットを実行すると引数が渡ってくる(WScript.Arguments.Count > 0 )のです。
実際に試した記述は、「c:\test.vbs abc」と「c:\test.vbs "abc"」と「"c:\test.vbs abc"」です。
何か特別な記述方法などあるのでしょうか?
先輩方、よろしくご教授ください。
0683デフォルトの名無しさん
2008/02/08(金) 13:36:440684デフォルトの名無しさん
2008/02/08(金) 15:31:490685デフォルトの名無しさん
2008/02/08(金) 21:29:01どこを直せばよいか教えてください。
var strArgument = new Array();
if ( WScript.Arguments.count() == 0 ) {
WScript.Echo ("コマンドライン引数が指定されていません。");
}
else {
for ( strArgument in WScript.Arguments ) {
WScript.echo ( strArgument[i] );
}
}
0686685
2008/02/08(金) 21:37:42ファイルをドロップすると何も表示されません。
スクリプトエラーも出ないので困っています。
0687デフォルトの名無しさん
2008/02/08(金) 22:03:460688デフォルトの名無しさん
2008/02/08(金) 22:04:54if ( WScript.Arguments.count() == 0 ) {
WScript.Echo ("コマンドライン引数が指定されていません。");
}
else {
WScript.Echo ("コマンドライン引数が指定されました。");
}
0689デフォルトの名無しさん
2008/02/08(金) 22:18:40WScript.echo ( strArgument[i] );
}
これ、なにしてるの?
0690デフォルトの名無しさん
2008/02/08(金) 22:42:40var strArgument = new Array();
これ、なにしてるの?
0691デフォルトの名無しさん
2008/02/08(金) 22:52:480692デフォルトの名無しさん
2008/02/08(金) 23:25:21// var strArgument = new Array();
if ( WScript.Arguments.count() == 0 ) {
WScript.Echo ("コマンドライン引数が指定されていません。");
} else {
for (i = 0; i < WScript.Arguments.length; i++ ) {
WScript.echo ( WScript.Arguments(i) );
}
}
.vbsファイルしか作った事がないけど、なんとなく.jsファイルはこれで動くんじゃないかなぁと・・?
0693デフォルトの名無しさん
2008/02/08(金) 23:56:38> if ( WScript.Arguments.count() == 0 ) {
count はメソッドじゃなくプロパティ。
0694デフォルトの名無しさん
2008/02/09(土) 00:10:28えー?
0695685
2008/02/09(土) 00:12:24動きました。ありがとうございます。
只今WSHをJScriptで書こうと、vbsのスクリプトを翻訳しながら勉強中です。
でもJSのサンプルコードが少なくて困ってました。
今回は元コードに配列を使っているように見えたので、それらしく書き換えたけど動きませんでした。
なんでここまで違いが出るのか、まだ理解してませんw
↓元のサンプルコード
Option Explicit
Dim strArgument
If WScript.Arguments.Count = 0 Then
WScript.Echo "コマンドライン引数が指定されていません。"
Else
For Each strArgument In WScript.Arguments
WScript.Echo strArgument
Next
End If
0696デフォルトの名無しさん
2008/02/09(土) 00:28:24実際にはいろいろな書き方ができるので、余計に混乱してるのかも。
元のスクリプトになるべく忠実に対応させるなら、以下のような書き方もできる。
if (WScript.Arguments.length == 0) {
WScript.Echo("コマンドライン引数が指定されていません。");
}
else {
var e = new Enumerator(WScript.Arguments);
for (; !e.atEnd(); e.moveNext()) {
WScript.Echo(e.item());
}
}
0697デフォルトの名無しさん
2008/02/09(土) 00:31:07すっきり
0698デフォルトの名無しさん
2008/02/09(土) 00:41:48なぜ?遅いのに。いろいろ細かいことにうるさいのに。などなど
0699デフォルトの名無しさん
2008/02/09(土) 01:35:29ゲイツはBASIC長者
java には裁判で負けた恨みが有る
0700デフォルトの名無しさん
2008/02/09(土) 09:13:38JavaScript(JScript)のある意味変態的な言語仕様に慣れてしまったら戻れない。
0701デフォルトの名無しさん
2008/02/09(土) 14:37:22変態
0702693
2008/02/09(土) 15:58:20> >>693
> えー?
といわれてMSDN見てきた。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsobjWshArguments.asp
プロパティとメソッド、両方あるな……。
ふだんはJScriptで length 使うか Enumerator にして扱ってるんで、
確認不足で適当に書いてしまった。スマソ
0703デフォルトの名無しさん
2008/02/09(土) 16:38:49プロパティを見るとメソッドになってて、メソッドしかないような
0704デフォルトの名無しさん
2008/02/09(土) 17:18:480705デフォルトの名無しさん
2008/02/09(土) 17:22:03WScript.Echo(Count());
WScript.Echo(length);
WScript.Echo(Count); // エラー
}
0706デフォルトの名無しさん
2008/02/09(土) 20:48:58データ取得できたらコールバック関数を呼びたいんですが。
接続できなかった場合とかタイムアウトになるまで
他の処理ができない
0707685
2008/02/09(土) 23:10:36また教えてください。
var objFso = new ActiveXObject("Scripting.FileSystemObject");
var objFile = objFso.OpenTextFile("testdirlist.txt", 8, true);
var path String();
objArgs = WScript.Arguments;
for (i = 0; i < objArgs.length; i++)
{
path = path + objArgs(i) + "\n";
}
//WScript.Echo(path);//←働く
objFile.WriteLine(path);//←働かない
objFile.Close();
0708685
2008/02/09(土) 23:13:59○var path = String();
0709デフォルトの名無しさん
2008/02/09(土) 23:46:550710デフォルトの名無しさん
2008/02/10(日) 00:18:19で
0712デフォルトの名無しさん
2008/02/11(月) 12:28:54Set foo = WScript.CreateObject("WScript.Shell")
foo.CurrentDirectory =
と言った.CurrentDirectoryプロパティはWSH 5.6(WinXP)以降の環境でしか動作しません。
もちろんWin2kのWSHをバージョンアップすれば動くのですが、それは手間がかかる為
やらずに解決したいと思っています。
やりたい事は、WSHスクリプトファイル(仮にhoge.vbs)と同じ階層に scriptと言うフォルダがあり、
そのフォルダの中に var.bat と言うファイルがあるとして
Set objShell = WScript.CreateObject("WScript.Shell")
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(".")
objShell.Run f.path & "\script\var.bat"
等として、他のフォルダ内の実行ファイルを実行したいのです。
しかし実際にコレをやると、指定されたファイルが見つかりません とエラーが表示されて実行できません。
確かにファイルは存在しますし、WScript.Echo f.path & "\script\var.bat" とかやってパスを確認しても
正しいパスです。
なので、カレントディレクトリを実行ファイルのある場所に移動しないと実行できないのかなと
考え、CurrentDirectoryを変更する方法を考えているのですが・・・
普通に考えてCurrentDirectoryを変更せずとも実行できるはずですよねぇ・・アドバイス頂けませんか?
0713デフォルトの名無しさん
2008/02/11(月) 12:37:490714デフォルトの名無しさん
2008/02/11(月) 14:26:29レスありがとうございます。
strDrv = strCurrent & "driver\install.bat"
↑これで、カレントディレクトリ\driver\install.bat がstrDrv に入ります。
その後
objWshShell.Run strDrv
で、今までは出来ませんでした。なのでこれを" " で囲みます
objWshShell.Run "strDrv"
しかしこうすると、strDrvと言う文字列を起動しようとしてしまい、strDrvが変数として扱われず
単なる文字列として扱われるため動作しません。
objWshShell.Run ""strDrv""
として、"をエスケープしてみてもだめ〜 とか考えてたら
strDrv = strCurrent & "driver\install.bat"
strDrv = """" & strDrv & """"
WScript.Echo strDrv
objWshShell.Run strDrv
これでいけました。最初の"が文字列の開始、 中2つの"が 文字列としての純粋な"を表し
(""で"を単なる文字列としてエスケープ)、最後の"が文字列の終了を表すダブルクォート・・・
結局 """" となり、非常に分かりにくいというか、混乱する形になったのですが、こんなもんなんでしょうか?
0715デフォルトの名無しさん
2008/02/11(月) 14:47:540716デフォルトの名無しさん
2008/02/11(月) 16:13:45Python がお勧め
0717デフォルトの名無しさん
2008/02/11(月) 16:15:220718デフォルトの名無しさん
2008/02/11(月) 17:42:26>objShell.Run f.path & "\script\var.bat"
objShell.Run ".\script\var.bat"
0719デフォルトの名無しさん
2008/02/11(月) 18:10:32>>712
0720デフォルトの名無しさん
2008/02/11(月) 23:38:48C言語やjavaだって "\"" みたいな、「たいへん分かりにくい混乱する表記」
になるから、こんなもんです。
もし、コードをスッキリさせたかったら、
Const QQ = """"
strDrv = QQ & strDrv & QQ
もしくは
strDrv = Q( strDrv )
Function Q(ByVal str)
Return """" & str &""""
End Function
みたいな方法がありますよ。(自分は後者をよくつかう)
0721デフォルトの名無しさん
2008/02/12(火) 01:25:320722デフォルトの名無しさん
2008/02/12(火) 07:40:180723デフォルトの名無しさん
2008/02/12(火) 16:41:250724デフォルトの名無しさん
2008/02/12(火) 16:56:37コードはイメージです
0725デフォルトの名無しさん
2008/02/12(火) 20:18:12実際のコードとは異なる場合があります。
0726デフォルトの名無しさん
2008/02/12(火) 20:24:57使えない
0727デフォルトの名無しさん
2008/02/12(火) 23:32:480728デフォルトの名無しさん
2008/02/12(火) 23:43:080729デフォルトの名無しさん
2008/02/13(水) 00:07:38vbsでプログラムを組んでいるのですが、vbs親プログラムからvbs子プログラムを
起動は出来ないのでしょうか?
〜〜〜〜〜vbs親プログラム内〜〜〜〜〜〜〜〜〜
Set objWshShell = WScript.CreateObject("WScript.Shell")
strCmdLine = "sub_program.vbs str01 str02 "
objWshShell.Exec(strCmdLine)
この記述で「sub_program.vbs」を引数2つ与えて起動できると思うのですが出来ません。
尚、コマンドプロンプトで[sub_program.vbs str01 str02]実行すると正常に起動します
修正点がありましたらお教えいただけないでしょうか。
0730デフォルトの名無しさん
2008/02/13(水) 00:16:04strCmdLine = "cscript sub_program.vbs str01 str02 "
または
strCmdLine = "wscript sub_program.vbs str01 str02 "
と記述する必要がある。
コマンドプロンプトでは、"たまたま" cscriptまたはwscriptが省略できる。
0732デフォルトの名無しさん
2008/02/13(水) 07:49:150733デフォルトの名無しさん
2008/02/13(水) 08:13:260734デフォルトの名無しさん
2008/02/13(水) 09:19:400735デフォルトの名無しさん
2008/02/13(水) 16:36:06strCmdLine = "sub_program.vbs str01 str02 "
objWshShell.Run(strCmdLine)
0736デフォルトの名無しさん
2008/02/13(水) 21:57:32おまえ、何も解ってないな
0737デフォルトの名無しさん
2008/02/14(木) 00:12:080738デフォルトの名無しさん
2008/02/15(金) 21:53:59var d = fso.GetDrive(fso.GetDriveName("Q:\\"));
if(d.IsReady){ ...
とやってDVD-ROMドライブが準備できているかどうか調べているのですが、
DVDを入れて認識している最中にIsReadyが実行されるとウィンドウズ自体が数秒止まってしまいます
バックグラウンドで動かしていてもフォアグラウンドアプリまで停止してしまうので困っているのですが
これを回避するにはどうしたらいいのでしょうか?
0739デフォルトの名無しさん
2008/02/15(金) 22:14:090740デフォルトの名無しさん
2008/02/16(土) 06:37:35再生:654,421 | コメント:123,256 | マイリスト:20,510
http://www.nicovideo.jp/watch/sm354359
凄い勢いで踊るドアラ
再生:482,525 | コメント:28,129 | マイリスト:17,837
http://www.nicovideo.jp/watch/sm1489303
ドアラが異端になった経緯
再生:424,284 | コメント:36,521 | マイリスト:9,417
http://www.nicovideo.jp/watch/sm378355
ドアラーズブートキャンプ
再生:241,338 | コメント:18,996 | マイリスト:7,229
http://www.nicovideo.jp/watch/sm409082
0741デフォルトの名無しさん
2008/02/16(土) 13:36:40ドライブ認識動作中にエクスプローラとかでドライブにアクセスしても凍るから
アクセスするタイミング悪いと凍るのは仕様じゃね?
>>739
Shell.ApplicationにIsReadyはないけどな
0742デフォルトの名無しさん
2008/02/16(土) 17:20:400743デフォルトの名無しさん
2008/02/18(月) 16:30:09Function プロシージャが戻り値を返すのに対してSub プロシージャが値を返さないって言うだけですか?
0744デフォルトの名無しさん
2008/02/18(月) 16:51:11Exit XXX
がちがう
0745デフォルトの名無しさん
2008/02/18(月) 19:34:19End Sub
End Function
が違うって言うのは分かりますし、Functionの場合のみ Function名 = 値 で値を返す事が出来る
のも分かりますが(Javaで言うコンストラクタに値代入したらreturn文みたいな振る舞いすんのな)
Exit Sub Exit Function というのがあるのですか?それはいったいどういう・・・?
単に終わらせるだけですか? 呼び出し元に戻りますか?
0746デフォルトの名無しさん
2008/02/18(月) 21:25:120747デフォルトの名無しさん
2008/02/18(月) 21:50:22ヘルプも見れないのか
0748デフォルトの名無しさん
2008/02/19(火) 22:10:48カレンダを表示するプログラムを作成しました。
出力はMsgBoxでしてます。
こんなかんじ
MsgBox strResult, , "カレンダ"
これを、携帯電話からも実行できるようにしたいと考えました。
携帯のカレンダがあるじゃないかと言われると困るのですが・・・
便宜上カレンダと言っているだけで、実際は他の物を出力するので。
イメージ的にはカレンダというと一番伝わりやすいので・・・。
で、そのアイディアとして、サイト上に掲載すればいいと考えました。
携帯のブラウザからそのサイトにアクセスした際に.vbsで作ったのと同じような出力が
得られれば良いのですが、これを実現するのに簡単な方法は無いでしょうか?
今のところ私に考え付くのは JavaScriptを勉強してJavaScriptに書き直して
やるぐらいかなぁと思っているのですが、そんな事しないとやっぱ出来ませんか?
そうなると関数とか文法とかいろいろ勝手が違うでしょうから覚え直しですかね?・・。
.vbsファイルの出力のWeb版を作りたいみたいな感じです。よろしくお願いします。
0749デフォルトの名無しさん
2008/02/19(火) 22:16:13ASPと言って、Windowsサーバ上でVBScriptやJScriptをCGIのように実行する環境があった。
お前が欲しいのはきっとそれに違いない。
問題は、世間がASP.NETへ移行しつつあるということ。
ASP.NETはC#とかVB.NETとかを使うまた別物。
0750デフォルトの名無しさん
2008/02/19(火) 23:00:35.vbsファイルを携帯に渡しても実行できるわけないし、じゃあ現状だと携帯でコレを実現
するのは難しいんでしょうか?
仮に携帯で実現するのが難しいとして、ブラウザに実装・・と言うか
第三者がWebブラウザでアクセスしてきた時に表示するようなのは
JavaScriptになりますかね?
0751デフォルトの名無しさん
2008/02/19(火) 23:01:39よそへいけ
0752デフォルトの名無しさん
2008/02/19(火) 23:02:43ないんならタスクマネージャで定期的に実行して、
TXTかHTMLに出力したのをサーバに自動アップするような環境をつくって、
携帯でそれを見に行けばいいような気がするが。
0753デフォルトの名無しさん
2008/02/19(火) 23:12:23おお!なんか凄いアイディア聴けた!
えっとですね、1日に1回更新されるので、1日に1回実行してやればいいですね。
後はそれをTXT・・・には出来るのかなぁ・・・ ああ、そうか MsgBoxじゃなくてFileに出力
してやればいいんだ・・・ ああ、HTMLからそのTXTにリンクを貼るってのもありだし、
HTMLの中にそのTXTの内容を直接埋め込むのもありか!凄い!なるほど!
ちょっと試行錯誤してみます。ありがとうございましたっ!
0754デフォルトの名無しさん
2008/02/19(火) 23:27:45ありがとうございました!
Dim objFso, txtFile
Set objFso = WScript.CreateObject("Scripting.FileSystemObject")
Set txtFile = objFso.OpenTextFile("hogehoge.txt", 2, True)
txtFile.Write strResult
txtFile.Close
Set txtFile = Nothing
Set objFso = Nothing
こんなコードで生成できました!後はこの.txtファイルにHTMLでリンク貼れば完璧!
本当にお世話になりました〜
0755デフォルトの名無しさん
2008/02/19(火) 23:57:23ただのテキストを吐き出すついでにHTMLにすればいいんじゃないの?
0756デフォルトの名無しさん
2008/02/20(水) 00:29:27いやーそれが、やろうと思ったのですが、出来なくて・・・。
やろうと思ったらかなり大変だと思いますが、簡単に出来るもんでしょうか?
0757756
2008/02/20(水) 00:30:22とかやって、改行を<br>に置き換えようとかやってみたんですが、うまくいきませんでした。
0758デフォルトの名無しさん
2008/02/20(水) 00:47:19With txtFile
.Write "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd"">"
.Write "<html lang=""ja"">"
...
End With
こんな感じで書き出せばいいだけだろ。
>>757
そのテキストをpre要素の中に入れてしまうというのはどうだ?
0759デフォルトの名無しさん
2008/02/20(水) 00:47:33Set objFso = WScript.CreateObject("Scripting.FileSystemObject")
Set txtFile = objFso.OpenTextFile("hogehoge.htm", 2, True)
txtFile.Write "<HEAD><TITLE>うんこやろ〜</HEAD></HEAD>"
txtFile.Write "<BODY>"
txtFile.Write "<CENTER>なんか文句あっか!</CENTER>"
txtFile.Write "</BODY>"
txtFile.Close
Set txtFile = Nothing
Set objFso = Nothing
0760デフォルトの名無しさん
2008/02/20(水) 00:51:5710 OPEN "INDEX.HTM" FOR OUTPUT AS #1
20 PRINT #1,"<HEAD><TITLE>ハナクソ</TITLE></HEAD>"
30 PRINT #1,"<BODY>"
40 PRINT #1,"<CENTER>うんこちんちん!</CENTER>"
70 PRINT #1,"</BODY>"
90 CLOSE #1
100 SYSTEM
これを N88BASIC.EXE /T:RUN"HOGE.BAS" で定期的に動かして
コンテンツを更新してた。
古きよき時代。
0761756
2008/02/20(水) 16:22:22それやろうとしたんですが、HTMLファイル中の" を ""と置き換えないといけないのが面倒でした。
HTMLって意外と"を使いますし。
それに.txtファイルに出力してしまって HTMLからリンクを貼るだけの方がとても楽だったので・・。
それにしてもWithステートメントかぁ、ヘルプを見て初めて知りましたが、こんな便利なのが
あったんですね。今までだったら txtFile. を何度も書かないといけなかったのに、これを知った
おかげで完全修飾しなくてすむからもっとコードが楽にスッキリかけそうです。ありがとうございます。
>そのテキストをpre要素の中に入れてしまうというのはどうだ?
これもまた素晴らしいアイディアだと思います。考え付きませんでした。
確かにそれなら簡単ですね。なるほどなるほど・・・。
しかしどうして>>757のコードで 改行が <br> に置き換わらないのでしょうか?
>>759
>txtFile.Write "<HEAD><TITLE>うんこやろ〜</HEAD></HEAD>"
この行</HEAD>が2個あります。</TITLE>の間違いでしょうか(内側のHEAD)
>>760
へぇ・・・そんな時代があったんですかぁ〜・・・。
0762デフォルトの名無しさん
2008/02/20(水) 16:34:20strOutStrings = Replace(strOutStrings, vbCrLf, "<br>")
""がうざいのは、
ダブルクォーテーションではなくシングルクォーテーションを使うとか、
(属性はシングルでいい。でもDOCTYPEはわからない)
先頭(head要素が終わるまでくらい)をテキストに用意しておいて、
txtFileの頭にそれを書き出すとかでどう。
.Write objFso.OpenTextFile("c:\header.txt", 1).ReadAll
0763デフォルトの名無しさん
2008/02/20(水) 16:46:23ならJScriptつかえよ
HTMLタグをつけるメソッドもあるし
0764デフォルトの名無しさん
2008/02/20(水) 17:58:02DOMのことならVBScriptからでも使えるだろ。
0765デフォルトの名無しさん
2008/02/20(水) 18:18:230766デフォルトの名無しさん
2008/02/20(水) 18:45:060767デフォルトの名無しさん
2008/02/20(水) 19:49:38後でcreat以上に恥ずかしい思いをしたに違いない。
0768デフォルトの名無しさん
2008/02/20(水) 20:09:23.quote()なんてのもいいんじゃね
0769デフォルトの名無しさん
2008/02/20(水) 20:15:50fontcolor(colorVal), fontsize(intSize), italics(), link(linkstring),
small(), strike(), sub(), sup()
確かに今更これらを使う気にならない
0770756
2008/02/20(水) 22:51:33>strOutStrings = Replace(strOutStrings, vbCrLf, "<br>")
あ、なるほど、確かにそうだ・・・失敗失敗・・・。
>先頭(head要素が終わるまでくらい)をテキストに用意しておいて、
txtFileの頭にそれを書き出すとかでどう。
なるほどねぇ・・・参考になります。
>>763
JScript使った事無いので全然知りません。
>>769
が言っている事がさっぱり分からない・・・
0771デフォルトの名無しさん
2008/02/20(水) 23:13:16> anchor メソッド参 照
> link メソッド| String Object メソッド | String Object プロパティ
>
> 対象: String オブジェクト
> 必要条件
> バージョン 1
> String オブジェクトに格納されている文字列の前後に HTML の NAME 属性を指定する <A> タグを挿入します。
>
> strVariable.anchor(anchorString)
> 引数
> strVariable
> 必ず指定します。String オブジェクトの名前またはリテラルを指定します。
> anchorString
> 必ず指定します。アンカー タグの NAME 属性に挿入する文字列を指定します。
> 解説
> anchor メソッドを呼び出すと、String オブジェクトから名前付きアンカーが作成されます。anchor メソッドの使用例を次に示します。
>
> var strVariable = "これはアンカーです";
> strVariable = strVariable.anchor("Anchor1");
> 2 つ目のステートメントの実行後、変数 strVariable は次の値になります。
>
> <A NAME="Anchor1">これはアンカーです</A>
> このメソッドの実行時には、<A> タグが既に元の文字列内にあるかどうかの確認は行われません。
後の関数も似たようなもんだろ。さすがにこれはどうかね・・・
0772デフォルトの名無しさん
2008/02/23(土) 10:32:49# あれは馬場さん自身「作者の無知からくる全くのゴミメソッド」なんておっしゃってたな...
0773デフォルトの名無しさん
2008/02/23(土) 10:43:06| 1. BASP21のSpaceメソッドはなんであるの
| えーとこれは、作者の無知からくる全くのゴミメソッドです。
| HTML でスペースをあけるのに全角のスペースを使うことがありますが、
| IMEでなぜか入力できなかったから(IMEのプロパティが半角スペースになっていただけ)。
| たぶん、誰も使ってないと思いますがどうでしょう。
babaq さんオッチョコチョイ杉ワロタ
せっかくだから今度どこかで無理矢理にでも使ってあげようっと
0774デフォルトの名無しさん
2008/02/23(土) 12:50:030775デフォルトの名無しさん
2008/02/23(土) 13:30:14こんな面倒なことをしないといけないのか・・・
0776デフォルトの名無しさん
2008/02/23(土) 15:11:12On Error Resume Nextの正しい使い方教えて〜
0777デフォルトの名無しさん
2008/02/23(土) 15:23:10Subプロシージャだらけになって大変すぎ
0778デフォルトの名無しさん
2008/02/23(土) 16:39:25strSQL = "INSERT INTO Log " & _
" (Name " & _
" ,Date " & _
" ,SIZE) " & _
"VALUES ('" & fol.Name & "'" & _
" ,#" & fol.DateCreated & "#" &_ '←ここがおかしいらしい
" ," & fol.Size & ")"
なんか
『Insert into ステートメント の 構文エラーです』
とか出るんだけどなにがおかしいのか・・・
0779デフォルトの名無しさん
2008/02/23(土) 17:27:260780デフォルトの名無しさん
2008/02/23(土) 18:51:510781デフォルトの名無しさん
2008/02/23(土) 18:55:220782デフォルトの名無しさん
2008/02/23(土) 19:22:20一旦、年月日時分秒をバラバラにして、構文に合わせた書式に作り替えればいい。
書式は自分で調べてくれ。
0783デフォルトの名無しさん
2008/02/23(土) 20:40:43で渡すといいよ。VBScriptはFormat関数ないから面倒だ。
0784デフォルトの名無しさん
2008/02/23(土) 21:39:480785デフォルトの名無しさん
2008/02/23(土) 22:21:370786デフォルトの名無しさん
2008/02/23(土) 22:31:22やっぱりAutoHotKeyには到底かなわない?
0787デフォルトの名無しさん
2008/02/23(土) 22:40:13http://www.microsoft.com/downloads/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6&displaylang=ja
このパッケージには、CAPICOM 2.1.0.1 の再頒布可能なファイルとそのサンプルが含まれています。
0788デフォルトの名無しさん
2008/02/23(土) 22:47:45そこだけみると、間違いなく再頒布可能なファイル=CAPICOM.dllな気がするんだが、
DLしてライセンス(英語)を読むと、
再頒布可能なのは、REDIST.TXTに記載されたものと書いてあるが、
REDIST.TXTなんてどこにもない・・・
ググってもググってもはっきりどこにも書いてないorz
0789デフォルトの名無しさん
2008/02/23(土) 23:40:10http://msdn2.microsoft.com/en-us/library/ms995332.aspx
ここだと「再配布可能な CAPICOM ActiveX control」と表現してる。
Platform SDK で CAPICOM で ActiveX control なのは capicom.dll しかないので限定できる。
The Platform SDK contains CAPICOM samples, API documentation, and the redistributable CAPICOM ActiveX control.
というか考えすぎと思う。
再配布して意味のあるものは capicom.dll しかないんだし。
0790デフォルトの名無しさん
2008/02/23(土) 23:43:07#とか'とか何度もやったし
>>781
Accessに設定したフォーマットは、yyyy/mm/dd hh:mm:ssで、
DateCreatedも書式一緒だからそのままにした
>>782,783
Dim day, m, n, strDt, strEd
strDt = "2090/02/23 00:00:00"
day = Split(strDate, " ")
m = Split(day(0),"/")
n = Split(day(1), ":")
strEd = m(1) & "/" & m(2) & "/" & m(0) & " " & n(0) & ":" & n(1) & ":" & n(2)
WScript.Echo strCom
煩雑だ
>>784
[英国]とか[米国]でもダメだけどorz
フィールド名にDateはダメだったの?
Dateから日付に直したらできたよ
ふぉぉぉぉぉっふぉおおおっ!!
0791デフォルトの名無しさん
2008/02/24(日) 00:08:27確かにそういうことですね。私の考えすぎでした。
これで、capicom.dllを一緒に配布できるってことか。
一緒に配布している例が見あたらなくって、
どうしてMicrosoftからDLさせるところばっかりなんだろう?と、思ってました。
どーもです。
0792デフォルトの名無しさん
2008/02/24(日) 00:26:28>どうしてMicrosoftからDLさせるところばっかりなんだろう?と、思ってました。
これについてはセキュリティリスクが関係すると思う。
同梱は可能であっても、同梱してしまうとバグやセキュリティ問題で capicom が更新されたとき、
企業責任として製品自体の更新版を出すことを検討しなければならない。
別途ダウンロードさせる場合にはそれは必要ない。
0793デフォルトの名無しさん
2008/02/24(日) 02:28:060794デフォルトの名無しさん
2008/02/24(日) 02:34:260795デフォルトの名無しさん
2008/02/24(日) 09:26:00こんな定義でおk?AHKってどんだけ凄いんだよ(w
0796デフォルトの名無しさん
2008/02/24(日) 09:40:340797デフォルトの名無しさん
2008/02/24(日) 10:05:09標準環境っていうぐらいじゃないですかね?
0798デフォルトの名無しさん
2008/02/24(日) 10:24:060799デフォルトの名無しさん
2008/02/24(日) 13:03:140800デフォルトの名無しさん
2008/02/24(日) 13:06:380801デフォルトの名無しさん
2008/02/24(日) 13:29:44テレビの横に古いパソコンを置いて「これはパソコンモニタです」って言い張れ。
0802デフォルトの名無しさん
2008/02/24(日) 13:43:11暇でネタ振ってるんだと思うけど、それならそれで以下を回答してくれ。
・WSHとは何か、具体的に。
・どのように比較してその結論に達したか。
0803デフォルトの名無しさん
2008/02/24(日) 15:12:23H ホ
K か?
0804797
2008/02/24(日) 16:47:52WSHとはWindows Script Hostingの事で、拡張子 .vbsのファイルにして実行できる
Windowsのスクリプト(Batとは違うのだよ、Batとは!)です。
Linuxで言うShell Scriptみたいなものかと思っています。
比較は、やはりマウスクリックですね。操作の自動化をしたいので、GUIアプリケーションを操作
する際に、Alt + Key みたいな感じにキーが割り当てられてない、クリックでしか出来ない操作を
自動化しようとするときにWSHだと無理なんですよ。
それと .SendKeysメソッド。日本語を送信できないなんて論外です。
その点AHKなら日本語も送信できるしマウスクリックも出来るし、記述が簡単(インスタンス生成
とか面倒な事しなくても簡単な記述でいい、ただし引数の多さがたまに傷かな)な所が良いと思います。
こんな感じでしょうか?
0805デフォルトの名無しさん
2008/02/24(日) 17:22:37他のアプリの制御はアウトプロセスサーバとして制御してくれ、って方針。
Perlが標準入出力の扱いに最適化されているように、
ATKはGUIアプリの操作シミュレートによる制御に最適化されている、と。
ATKはWMIの制御やりにくいから糞、とか言われても困るだろ?
0807デフォルトの名無しさん
2008/02/24(日) 17:56:37GUI操作のシミュレートならそりゃそれように作られたもの使うのが当然
WSHはそういう用には作られてないもの
0808デフォルトの名無しさん
2008/02/24(日) 18:06:30日本語が送れるVBのSendKeysと送れないVBSのSendKeysは、
仕組み上でどういう違いがあるのでしょうか?
0809デフォルトの名無しさん
2008/02/24(日) 18:13:140810デフォルトの名無しさん
2008/02/24(日) 18:15:120811デフォルトの名無しさん
2008/02/24(日) 18:22:310812802
2008/02/24(日) 21:37:27WSHというのは、スクリプト言語からWindows操作をする為の手段(WSHオブジェクト)
の提供と、そのスクリプト言語をデフォルトではVBScriptとJScriptを内包している。
君の比較しているのはVBScriptのようだけど、これは>>805の言っている通り
WSH以外のオブジェクトにもアクセスできる。例えば、IEやEXCEL、WMI....etc
こういう事はAHKでは、どうやるの?
というか、よく見たら>>807が結論出してるね。
GUI操作だけで比較したら、その機能に特化しているAHKが優れているが、
それは総合的な比較じゃないでしょ。理解できた?
0814デフォルトの名無しさん
2008/02/24(日) 23:59:03ファイルが書き込み不能かどうかを検出するにはどうすればよいでしょうか?
リードオンリ属性ではなく、ファイルを削除するとき稀に出てくる
「ほかのプログラムが使用しているため削除できません」ってやつの状態です。
0815デフォルトの名無しさん
2008/02/25(月) 00:01:04try仕込むだけでよかったのね orz
0816デフォルトの名無しさん
2008/02/25(月) 01:18:15> こういう事はAHKでは、どうやるの?
AHK用ActiveXモジュールを使えば良いだけ
逆にWSHでのポインティング操作などは
そういう機能を提供するCOMを使えば良いだけ
このレベルのことなら、やり易さに違いはあっても
結果的に"出来ること"ではWSHもAHKも大差ない
ポインティング操作に限って言えば
WSHは最初からWindowsに入っているが、ポインティング操作機能は後付けになる
AHKはWindowsに対して後付けで入れないと使えないが、ポインティング操作は最初から備えてる
ってだけの違い
0817797
2008/02/25(月) 02:18:45なんか凄くお詳しいですね・・なるほど、参考になります。
構文とかの簡単さはどちらの方に軍配が上がりますか?
情報量の多さでいくと、WSHの方が色々なところで解説されているだろうし
メジャーだと思います。
AHKはもっと普及してれば敷居低くなるのになぁと思ったり。
0818デフォルトの名無しさん
2008/02/25(月) 02:49:550819デフォルトの名無しさん
2008/02/28(木) 09:15:26サイズ0のテキストファイルに対して実行するとどうしてエラーになるのかよくわからん
長さ0の文字列返せばいいのに
なんで?
あとVB6でFileSystemObjectのGetParentFolderNameメソッドを使うと親フォルダ名のみだけど
VBScriptだと親フォルダのフルパスが返ってくるけどこれもなんでだろ?
同じFileSystemObjectでもVB6が使ってるのは別物なの?
なんで?
0820デフォルトの名無しさん
2008/02/28(木) 20:06:21DLLは同じなの?
0821デフォルトの名無しさん
2008/02/28(木) 21:57:16var ForReading = 1, ForWriting = 2;
var Fso = new ActiveXObject("Scripting.FileSystemObject");
var f = Fso.OpenTextFile("null.txt", ForReading);
if (! f.AtEndOfStream)
WScript.StdOut.Write(f.ReadAll());
f.Close();
0822デフォルトの名無しさん
2008/02/28(木) 22:01:310823デフォルトの名無しさん
2008/03/01(土) 23:17:11使えないメソッド(例えば Execメソッドとか・・・)やプロパティがありますよねぇ?
それらを調べたいのですが、何を見ればそういうことがまとまって書かれてありますか?
WSHのヘルプファイルを見てみたのですが、見つけきれませんでした。
やりたい事はWindows2000のWSHを5.6にバージョンアップせずにWindows2000でもXPでも
動作するスクリプトを書きたいのです。だから予めどのメソッドが動作しないとか、
引数が違うとかそういうことを把握しておきたいのです。
0824デフォルトの名無しさん
2008/03/01(土) 23:46:070825デフォルトの名無しさん
2008/03/01(土) 23:47:240826デフォルトの名無しさん
2008/03/02(日) 08:26:530827デフォルトの名無しさん
2008/03/02(日) 13:02:12>動作するスクリプトを書きたいのです。
いまさらやめとけ それに2.0じゃたいしたことはできねー
0828デフォルトの名無しさん
2008/03/02(日) 16:42:465.0と5.1の挙動の違いすら、5.6のヘルプのバージョン情報だけでは分からなかったからなぁ・・・
0829デフォルトの名無しさん
2008/03/19(水) 11:24:420830デフォルトの名無しさん
2008/03/19(水) 12:40:52最近出た。Vistaに標準搭載で、上から2000, XP, 2003英語版がダウンロード可。
http://www.microsoft.com/downloads/details.aspx?FamilyID=c03d3e49-b40e-4ca1-a0c7-cc135ec4d2be&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-d896-482e-a0d6-524e7e844d81&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=f00cb8c0-32e9-411d-a896-f2cd5ef21eb4&DisplayLang=en
0831デフォルトの名無しさん
2008/03/19(水) 15:47:180832デフォルトの名無しさん
2008/03/20(木) 03:21:190833デフォルトの名無しさん
2008/03/20(木) 03:37:06不具合修正・セキュリティパッチの統合もあるが、
JScriptで大量のオブジェクトが生成された時のGC高速化がメインかと。
dramaticallyとまで書かれているあたり、結構凄いのかもしれない。
0834デフォルトの名無しさん
2008/03/20(木) 19:20:03readyState=2や3の時、status取得できる?
4にならないとエラーになるんだけどこれ普通?
Msxml2.ServerXMLHTTPなら2や3でできるんだよね・・・
最近IEがおかしくなってきてるので
どっか壊れてるんだろうか・・・?
XP SP2+IE6
0835デフォルトの名無しさん
2008/03/29(土) 00:32:370836デフォルトの名無しさん
2008/03/29(土) 02:02:270837デフォルトの名無しさん
2008/03/29(土) 02:09:260838デフォルトの名無しさん
2008/03/29(土) 15:04:130839デフォルトの名無しさん
2008/03/29(土) 17:42:24これ、気になるんですけど…
0840デフォルトの名無しさん
2008/03/29(土) 17:59:250841デフォルトの名無しさん
2008/03/29(土) 18:41:220842デフォルトの名無しさん
2008/03/29(土) 19:05:52あれがベストなのか?
0843デフォルトの名無しさん
2008/03/29(土) 19:10:55.vbs内部だけで使える関数を作りたいんだけど・・・
0844デフォルトの名無しさん
2008/03/29(土) 19:13:42代替するなら
wsc
class
かな
0845デフォルトの名無しさん
2008/03/29(土) 19:18:08ベストなのを教えて
0846デフォルトの名無しさん
2008/03/29(土) 23:13:480847デフォルトの名無しさん
2008/03/29(土) 23:45:48Sub xxx_aaa()
とかで凌げ
0848デフォルトの名無しさん
2008/03/30(日) 00:02:50どうすればよろしいでしょうか?
0849デフォルトの名無しさん
2008/03/30(日) 00:07:35……
}
catch (e) {
WScript.Quit();
}
0850デフォルトの名無しさん
2008/03/30(日) 00:37:040851デフォルトの名無しさん
2008/03/30(日) 02:51:51http://www.rachi.go.jp/jp/megumi/index.html#ja
0852デフォルトの名無しさん
2008/03/30(日) 04:16:320853デフォルトの名無しさん
2008/03/30(日) 13:45:440854デフォルトの名無しさん
2008/03/30(日) 16:10:590855デフォルトの名無しさん
2008/03/30(日) 17:01:16<script language="VBScript" src="./hoge.vbs" />
から
<script language="VBScript" src="./hoge.vbe" />
のようにしたんだが、
エラー: ステートメントがありません。
ソース: Microsoft VBScript コンパイル エラー
になってしまって、あきらめていた。"VBScript"の部分を適切なものに変更すればいいのか?
wsfの説明を読んでも分からない…教えてください。
0856デフォルトの名無しさん
2008/03/30(日) 17:02:550857デフォルトの名無しさん
2008/03/30(日) 17:06:38Try
...
Catch ex As Exception
WScript.Quit
End Try
0858デフォルトの名無しさん
2008/03/30(日) 17:10:18いろいろ実験に使っていたファイルを使ってやってみたんですが、
vbeファイルの中にPrivate Subと宣言した関数(実験なのでそのままPrivateSubという名前)
を使おうとすると
エラー: 型が一致しません。: 'PrivateSub'
ソース: Microsoft VBScript 実行時エラー
となるんですが、これはたまたまですかね?それともPrivateの効果なのか・・・
vbsを読み込んでいた時はエラーは起こらなかったんですが。
0859デフォルトの名無しさん
2008/03/30(日) 18:49:010860デフォルトの名無しさん
2008/03/30(日) 19:10:00君は>>843かな?
Private(Public)宣言はオブジェクト(クラス)外に公開するか否かの宣言なので
インクルード(wsfのscript要素のsrc属性指定)した場合は関係ないよ
きっと偶々というよりプロシージャ名間違い等、君のミスだろう
プロシージャ名間違いなら、読み込みでエラーにはならないが呼び出しではエラーになるし
一応確認してみたが、vbs内でPrivate宣言したSubプロシージャを
そのvbsをインクルードしたwsf内で呼んでみたが、きちんと実行された
0861デフォルトの名無しさん
2008/03/30(日) 19:21:47function a(){
WScript.Echo('a');
b();
function b(){
WScript.Echo('b');
}
}
a();
b();//エラー
0862デフォルトの名無しさん
2008/03/31(月) 22:40:140863デフォルトの名無しさん
2008/04/01(火) 00:41:200864デフォルトの名無しさん
2008/04/01(火) 22:03:55VBscript(HTA)を、作成しているのですが、
実際に試してみると、以下のダイアログが出現してしまいます。
「このスクリプトの実行を中止しますか?」
このページのスクリプトが、IEの実行速度を落としています。
このまま実行を続けても検索結果となる数字が出力されません。
この場合、どうしたらよいのでしょうか?
以下に、該当する処理を載せます。
strSerch = document.u_list.key.value
i = 0
If strSerch="" Or strSerch=" " Then
'検索フォームに何も入っていないとき
Else
Do While InStr(webtext,strSerch) '検索キーワードでサイト検索
i = i+1 '検索回数カウント
Loop
End If
0865デフォルトの名無しさん
2008/04/01(火) 22:22:47無限ループにならないようにすると良いのです
0866デフォルトの名無しさん
2008/04/01(火) 23:30:32最近は「フローチャート」とか書かなくなったせいか
こんなのが増えたな。
0867デフォルトの名無しさん
2008/04/01(火) 23:37:41否定されていたぞw
0868デフォルトの名無しさん
2008/04/01(火) 23:50:25言うと思った。バカの一つ覚えw
それは、ある程度、論理的な思考ができるヤツがいう事だよ。
>>864 みたいに未熟なヤツは、フローチャートから入らないとダメ。
今からやろうとすることを、目に見えるカタチにしてまとめる。
これは大事なことだよ。
>>867は後輩を育てられないタイプだな。
0869デフォルトの名無しさん
2008/04/02(水) 00:15:040870デフォルトの名無しさん
2008/04/02(水) 00:58:45i = 0
Do
found = InStr(found+1,webtext,strSearch,vbTextCompare)
i = i + 1
Loop While found
i = i - 1
初心者だけど同じ関数で無理やりやってみた。>>869みたいに綺麗に逝きたい…
0871デフォルトの名無しさん
2008/04/02(水) 01:10:39>>870では10回、>>869では4回?
0872デフォルトの名無しさん
2008/04/02(水) 01:16:13UBoundに+1する必要ないような。
0873デフォルトの名無しさん
2008/04/02(水) 02:35:030874デフォルトの名無しさん
2008/04/03(木) 00:59:230875デフォルトの名無しさん
2008/04/03(木) 02:22:250876ドシロウト
2008/04/03(木) 11:45:22罵倒レスじゃなくてなんでダメポなんか書いて欲しいな。
スレ見てても参考にならんわ。
>>873は何したいのかわけわかめなんだけど。
i=全文字数-(ヒットした数x(検索文字列の字数-2)) でいいんかな?
この2はどこから出たのやら?
もしかして>>871に対するレスか?
0877ドシロウト
2008/04/03(木) 11:54:33カキコした瞬間に勘違いに気づいた。
webtextで検索文字列にマッチした部分を検索文字列の2文字目以降で全置換
→全文字数がマッチした回数x1文字減るから減った数をカウントすればマッチ数がわかる
でOK?
0878デフォルトの名無しさん
2008/04/03(木) 17:49:570879デフォルトの名無しさん
2008/04/03(木) 17:54:58i = - 1
Do
found = InStr(found+Len(strSerch),webtext,strSearch,vbTextCompare)
i = i + 1
Loop While found
0880デフォルトの名無しさん
2008/04/03(木) 18:28:220881デフォルトの名無しさん
2008/04/03(木) 18:34:37ちがうよ
スレタイも読めないの?
0882デフォルトの名無しさん
2008/04/03(木) 18:35:29煽るなら死ぬ気でやれよ
0883デフォルトの名無しさん
2008/04/03(木) 18:36:15うざいな
0884デフォルトの名無しさん
2008/04/03(木) 18:51:50凄いなぁ!尊敬。アッタマいい!かっこいい。
(などと言われてみたい。。。てか?
0885デフォルトの名無しさん
2008/04/03(木) 18:54:160886デフォルトの名無しさん
2008/04/03(木) 18:57:19正攻法はRegExpだろ?
0887デフォルトの名無しさん
2008/04/03(木) 19:17:17RegExp使ったコード書いてみ?
0888デフォルトの名無しさん
2008/04/03(木) 19:21:46すでに答えが出てるだろ。
0889デフォルトの名無しさん
2008/04/03(木) 19:38:52あのなあ。。
フローチャートってのは「プログラミング言語以外で処理内容を表現するツール」
いうなれば「プログラマ以外の人間の方を向いたツール」であって(だから今でも
ユーザーズマニュアル等には時々出てくる)プログラマが思考の整理に使う道具ではないんだよ。
もう30年も前から言われていることだが、フローチャートってのは
複雑性を縮減する機能が全くないだろう。
ただベタに処理をチャートで表現しただけだからな。
だったらそんなもの書いてる暇があったらとっととコード書けってw
こんな人間が後輩の育成とか釣りではなく言ってるならどんだけ馬鹿なんだよw
っていうかこんな人間に「育成」される人が可哀想だ。
0890デフォルトの名無しさん
2008/04/03(木) 19:42:38正規表現で指定したい場合なら、何の変哲もないが
With New RegExp
.Pattern = strSerch
'.IgnoreCase = False
.Global = True
found = .Execute(webtext).Count
End With
でいいんじゃね?
IgnoreCaseプロパティは必要に応じて指定すれば良し
>>871の場合の結果は後者
0891kuchigakusaiossan
2008/04/04(金) 11:47:41悩んでます。だれか教えぇぇぇぇ〜〜て
EXCEL2003 VBAで
http://www.happy2-island.com/vbs/cafe02/capter00711.shtml あたりに
WScript.Sleep 5000 っていうのがさりげにつかってありますが
オブジェクトが必要です というエラーが出ますうううぅぅぅぅぅ
私はどうすればいいのでしょうか。
悩みと疲労で歯槽膿漏がますますひどくなりますうううぅぅぅ
ぐぐると以下の同じような人もいます。だれか愛の手を
win32のsleepとかはなしで、Wscript.echo もつかいたいし
>Excel VBA質問スレ Part5
878 :デフォルトの名無しさん:2008/03/02(日) 23:54:52
物凄く基本的な事で申し訳ないのですが・・・、処理待ちでスリープを掛けたく、
WScript.sleep (250)
と記述していますが、エラー424 オブジェクトが必要です というエラーが出るのです。
何か参照設定が足りないんでしょうか。。
879 :デフォルトの名無しさん:2008/03/02(日) 23:56:42
ググれよ・・・
880 :デフォルトの名無しさん:2008/03/03(月) 00:01:10
>>878
WScript.exeを参照設定しろー
0892デフォルトの名無しさん
2008/04/04(金) 16:05:480893デフォルトの名無しさん
2008/04/04(金) 17:04:300894デフォルトの名無しさん
2008/04/04(金) 17:05:300895デフォルトの名無しさん
2008/04/04(金) 19:36:530896デフォルトの名無しさん
2008/04/04(金) 21:11:060897デフォルトの名無しさん
2008/04/04(金) 21:15:390898デフォルトの名無しさん
2008/04/05(土) 02:12:04後輩つぶし必死だなwww
そんなに若者に追い越されるのが怖いのかい?
>そんなもの書いてる暇があったらとっととコード書け
で書いたのが、>>864 だよ。
キミは後輩にこんなコードを書かせて満足してるんか?
0899デフォルトの名無しさん
2008/04/05(土) 03:26:180900デフォルトの名無しさん
2008/04/05(土) 04:37:180901kuchigakusaiossan
2008/04/06(日) 14:14:28誤った解釈は、http://www.happy2-island.com/vbs/cafe02/capter00711.shtml はVBAじゃなくWSHのスクリプトそのもらしい。
http://www.atmarkit.co.jp/fwin2k/operation/wsh01/wsh01_01.html
から考えましたが
Wshスクリプトないでは wscriptは暗黙にオブジェクト化されそのまま参照可能である
VBAからはwscript そのもののオブジェクト化はエラーになる
Dim WSH
Set WSH = CreateObject("WScript") ← エラーになる
WSH標準オブジェクトはオブジェクト化できる
Dim WSH
Set WSH = CreateObject("WScript.shell")
WSH.Run ("sleep 3")
WSH.Run ("echo test")
↑ はOK sleep echo は意味ありませんが
以上の事で混乱していたみたいです
なぜVBAからWscriptのオブジェクト化ができないのか?回避策は?などは
誰か〜〜 知ってる人おらんか。。。。。。 ヨロシク
0902デフォルトの名無しさん
2008/04/06(日) 14:30:59WScriptオブジェクトはwscprit.exe/cscript.exeがスクリプトへ与えるもので、
その大半はスクリプトを実行したときでいないと意味を成さない。
例えば、WScript.SleepならVBではWin32 APIのSleep関数を使えばいいという具合に別の方法がある。
0903デフォルトの名無しさん
2008/04/06(日) 16:24:34【OLE】オートメーション総合スレ【ActiveX】
http://pc11.2ch.net/test/read.cgi/tech/1137771139/l5
0904デフォルトの名無しさん
2008/04/06(日) 16:33:35OLEオートメーションは一寸戻り過ぎだ。
0905デフォルトの名無しさん
2008/04/06(日) 17:12:55できるけど?
0906デフォルトの名無しさん
2008/04/06(日) 17:29:470907デフォルトの名無しさん
2008/04/06(日) 17:38:31それをregasmしてVBAから呼び出す。
0908デフォルトの名無しさん
2008/04/06(日) 20:34:49誰か〜〜 知ってる人おらんか。。。。。。 ヨロシク
0909デフォルトの名無しさん
2008/04/06(日) 20:56:36よって回避策も無い。呼び出すこと自体が目的でないなら別だけど。
0910デフォルトの名無しさん
2008/04/07(月) 02:23:47どうやって作るのかコーディング例希望
ちなみに >>906 は excel2003VBA では 「オートメーションエラーです」になる。なにかおまじないが必要なら
ご教授ねがいたい。くれぐれも実際に動作する説明でお願いしたい。
0911デフォルトの名無しさん
2008/04/07(月) 02:37:28回避策でよいなら、Office経由で可能では?
WSHからOfficeのオブジェクト作って、非表示のOfficeのドキュメント内にVBAのコード
動的に登録して実行すればよい
とはいっても最近ではセキュリティの関係でOfficeの外部からVBAコード操作するとエラーになるけど、
これについては設定変えればいけると思う(たぶん)
0912デフォルトの名無しさん
2008/04/07(月) 17:19:56WScriptは外部に公開されていないし、CreateObjectは論外だろ。
よって回避策も無い。呼び出すこと自体が目的でないなら別だけど。
0913デフォルトの名無しさん
2008/04/07(月) 17:22:25回避策でよいなら、Office経由で可能では?
WSHからOfficeのオブジェクト作って、非表示のOfficeのドキュメント内にWScriptのオブジェクトを
動的に登録して参照すればよい
0914デフォルトの名無しさん
2008/04/07(月) 17:27:23Excel.Application.Run (Excel2002以降は不可)
Access.Application.Eval (関数のみ)
FoxPro...
0915デフォルトの名無しさん
2008/04/09(水) 23:05:58まだpowershellはいいや。
0916デフォルトの名無しさん
2008/04/10(木) 12:25:350917デフォルトの名無しさん
2008/04/10(木) 22:06:04は、
Set WSH = WScript.CreateObject("ほげほげ")
の WScript を省略したもの。WScript はデフォルトで用意されているから。
>>901 Set WSH = CreateObject("WScript") ← エラーになる
これを長く書くと、こうなる。
Set WSH = WScript.CreateObject("WScript")
なんか変だよね。
0918デフォルトの名無しさん
2008/04/10(木) 22:11:34> は、
> Set WSH = WScript.CreateObject("ほげほげ")
> の WScript を省略したもの。WScript はデフォルトで用意されているから。
違うよ
CreateObjectはVBSのグローバル関数(メソッド)
> CreateObject(servername.typename [, location])
WScript.CreateObjectはWSH(WScriptオブジェクト)の関数(メソッド)
> object.CreateObject(strProgID[,strPrefix])
動作は似てるが引数(得に第二引数)の内容も違う
0919デフォルトの名無しさん
2008/04/10(木) 22:41:44CreateObjectはVBAのグローバル関数(メソッド)
WScript.CreateObjectはWSH(WScriptオブジェクト)の関数(メソッド)
なのでVBAでは使えない
ちなみにWSHでは
Set WSH=
はエラー
0920デフォルトの名無しさん
2008/04/11(金) 01:14:52Excelが2000・2002(XP)・2003の環境だと問題ないんだけど、今日同じソースでExcel2007で初めて動かしたら
ADO接続のところでエラーになった。 もしてかして2007ってこれ使えない?
0921デフォルトの名無しさん
2008/04/11(金) 10:18:520922デフォルトの名無しさん
2008/04/11(金) 12:33:43こういうレスって2007使ってない奴には何が当然かさっぱりわからんわな。
0923デフォルトの名無しさん
2008/04/11(金) 18:31:53thx!
0924デフォルトの名無しさん
2008/04/11(金) 21:49:080925デフォルトの名無しさん
2008/04/11(金) 22:08:45ここでは、って言われても・・・
ここはWSHのスレだろ?VBAのスレじゃ無いよ。
0926デフォルトの名無しさん
2008/04/11(金) 23:34:510927デフォルトの名無しさん
2008/04/12(土) 01:45:370928デフォルトの名無しさん
2008/04/12(土) 11:20:490929デフォルトの名無しさん
2008/04/12(土) 14:12:30WScript.exe /register
0930デフォルトの名無しさん
2008/04/12(土) 14:18:020931デフォルトの名無しさん
2008/04/12(土) 16:38:59WSC作って
Set WScript=GetObject("script:WScript.wsc")
0932デフォルトの名無しさん
2008/04/12(土) 17:01:40こういう小学生的なレスの意味は?
0933デフォルトの名無しさん
2008/04/12(土) 17:12:270934デフォルトの名無しさん
2008/04/12(土) 21:05:430935デフォルトの名無しさん
2008/04/12(土) 21:14:350936デフォルトの名無しさん
2008/04/13(日) 00:56:49レベルを相手に合わせてるんじゃないの?
0937デフォルトの名無しさん
2008/04/13(日) 01:08:500938kuchigakusaiossan
2008/04/13(日) 13:15:30vbs をダブルクリック等で起動するようなスクリプトを
VB(A)と同じようようなデバッグ環境でデバッグできますか?
excel2003の Script Editor が使えるのかなと動かしてみたが
これはWEBのVBS用なのかな。。?
スッテップイン させてもブラウザが動いてステップしないし
ぐぐるとWSHではそのままでは動かないような事もでてくるし
ttp://www.sio.no-ip.com/mt/shio/archives/2005/05/wsh-os.html
イミディエィトウィンドウがないみたいだし
エクセルVBAで書いてるソフト(自己使用)のメイン部分をWSHにしてエクセルから外にだそうと
考えていいますが、すなおに VB(Visual studio ?)にでもしたほうがいいのかな。。。
よろしく〜〜〜〜〜〜
0939デフォルトの名無しさん
2008/04/13(日) 13:26:290940デフォルトの名無しさん
2008/04/13(日) 13:32:17使ってる/使ったことあるひと教えて〜
0941デフォルトの名無しさん
2008/04/13(日) 13:39:340942デフォルトの名無しさん
2008/04/14(月) 02:35:34コード補間のできるVBSエディタとして使ってるけど
デバッグは MsgBox や Wscript.Echo だな。
これは VBS に限らず、すべてのプログラミング言語に共通する
基本中の基本だな。
0943デフォルトの名無しさん
2008/04/14(月) 08:30:01おれもmsgboxデバッグ派だけど。
0944デフォルトの名無しさん
2008/04/14(月) 11:36:240945デフォルトの名無しさん
2008/04/14(月) 12:27:540946デフォルトの名無しさん
2008/04/14(月) 14:31:09たしかIEのオプション(?)でASPとか向けだった気がするんだけど。
0947デフォルトの名無しさん
2008/04/14(月) 16:00:590948デフォルトの名無しさん
2008/04/15(火) 01:00:370949デフォルトの名無しさん
2008/04/15(火) 01:09:090950デフォルトの名無しさん
2008/04/15(火) 07:44:180951デフォルトの名無しさん
2008/04/15(火) 08:34:130952デフォルトの名無しさん
2008/04/15(火) 12:58:30かといってWin32APIも呼び出せず単体ではモジュール化もできないと制約だらけだな。
これほど使いづらい言語はお目にかかったことがない。
0953デフォルトの名無しさん
2008/04/15(火) 13:23:32>かといってWin32APIも呼び出せず単体ではモジュール化もできないと制約だらけだな。
自分の無知を言語のせいにする典型だなw
0954デフォルトの名無しさん
2008/04/15(火) 13:57:290955デフォルトの名無しさん
2008/04/15(火) 14:33:460956デフォルトの名無しさん
2008/04/15(火) 14:40:280957デフォルトの名無しさん
2008/04/15(火) 14:44:20WSHでもAPIは呼べるよ
ActiveXって種類のAPIなら直接ね
そしてWin32APIって種類のAPIはActiveXから呼べるので
結果WSHからWin32APIを呼ぶことも可能
0958デフォルトの名無しさん
2008/04/15(火) 14:47:250959デフォルトの名無しさん
2008/04/15(火) 14:53:110960デフォルトの名無しさん
2008/04/15(火) 14:56:350961デフォルトの名無しさん
2008/04/15(火) 15:20:270962デフォルトの名無しさん
2008/04/15(火) 15:24:151行ごとにStop文
0963デフォルトの名無しさん
2008/04/15(火) 20:40:33なのは"WScript.Shell"がへぼいせいで、もっといいCOMを作れっていうの
0964デフォルトの名無しさん
2008/04/15(火) 22:25:44なにもWSHなんぞ使わんでも
0965デフォルトの名無しさん
2008/04/15(火) 22:36:020966デフォルトの名無しさん
2008/04/16(水) 14:40:24だれか作って
コンソールを非表示にできる
StdOut/StdErrにデータがあるかブロックしないで調べられる/取り出せる
できればStdInにreadが掛かってるか分かる
0967デフォルトの名無しさん
2008/04/16(水) 14:42:390968デフォルトの名無しさん
2008/04/16(水) 14:53:31AppActivateでなくFindWindowどまりの機能
SendMessageもついでに
0969デフォルトの名無しさん
2008/04/16(水) 21:02:450970デフォルトの名無しさん
2008/04/16(水) 21:05:45そのまま他言語で書いた方が早い。
0971デフォルトの名無しさん
2008/04/16(水) 21:37:36しかしそういう状況のみではないんだよ
もっと視野を広く持とう
0972970
2008/04/16(水) 22:00:06>>966や>>968程度の機能でいちいちCOMコンポーネント書いて、
使うPC毎にいちいちregsvrして、って唯のギャグだろ。
0973デフォルトの名無しさん
2008/04/16(水) 22:12:480974デフォルトの名無しさん
2008/04/16(水) 23:38:14そうそう。
だから、WSH付属のコンポーネントがもっと高機能だったらよかったのにと思う。
0975デフォルトの名無しさん
2008/04/17(木) 09:25:240976デフォルトの名無しさん
2008/04/17(木) 13:27:530977デフォルトの名無しさん
2008/04/19(土) 09:49:461つでも動くっぽいんだけど
cscript /nologo xxxxxxxxxxx
って感じで
0978デフォルトの名無しさん
2008/04/19(土) 11:38:380979デフォルトの名無しさん
2008/04/19(土) 13:49:300980デフォルトの名無しさん
2008/04/19(土) 15:53:43//でなければならない。
0981デフォルトの名無しさん
2008/04/19(土) 16:28:440982デフォルトの名無しさん
2008/04/19(土) 17:07:02でもよい
0983デフォルトの名無しさん
2008/04/19(土) 18:05:110984デフォルトの名無しさん
2008/04/20(日) 19:51:170985デフォルトの名無しさん
2008/04/20(日) 20:45:48�@ WSHウィンドウのタイトルを設定するにはどうすればよいのか?
�A [OK] ボタンが押されるのを待たずにすぐ次の処理を実行したい
0986デフォルトの名無しさん
2008/04/20(日) 21:07:04WSHウィンドウって何?
[OK] ボタンって、なんのボタンよ?
0987985
2008/04/20(日) 22:06:40Set WSHShell = Wscript.CreateObject("Wscript.Shell")
WSHShell.Popup ”表示する文字列”, 0, "タイトルの文字列", vbOKOnly
0 : メッセージボックスを自動的に閉じるまでの秒数
vbOKOnly : 表示するボタンの種類
でした。
0988デフォルトの名無しさん
2008/04/20(日) 22:10:081. MsgBox "プロンプト文字列", vbOKOnly, "設定したいタイトル文字列"
2. はそもそも出来るのかどうかすら怪しい。時間が来たら自動的に閉じて処理続行ならあるが。
>>986
>WSHウィンドウって何?
MsgBox関数で出てくるようなGUIオブジェクトの事言ってんじゃないの?
>[OK] ボタンって、なんのボタンよ?
MsgBox "", vbOKOnly
↑これのことじゃね?w
0989デフォルトの名無しさん
2008/04/20(日) 22:37:11乙(w
0990デフォルトの名無しさん
2008/04/20(日) 23:13:13Set WshShell = WScript.CreateObject( "WScript.Shell" )
Set objFSO = WScript.CreateObject( "Scripting.FileSystemObject" )
WshShell.CurrentDirectory = objFSO.GetParentFolderName( WScript.ScriptFullName )
strSend_Enter = strSend_Enter & "WScript.TimeOut = 3" & vbCrLf
strSend_Enter = strSend_Enter & "Set WshShell = WScript.CreateObject( ""WScript.Shell"" )" & vbCrLf
strSend_Enter = strSend_Enter & "Do Until WshShell.AppActivate( ""Windows Script Host"" )" & vbCrLf
strSend_Enter = strSend_Enter & " WScript.Sleep 100" & vbCrLf
strSend_Enter = strSend_Enter & "Loop" & vbCrLf
strSend_Enter = strSend_Enter & "WshShell.SendKeys ""{ENTER}"""
Set objSend_Enter = objFSO.OpenTextFile( "Send_Enter.vbs", ForWriting, True )
objSend_Enter.Write strSend_Enter
objSend_Enter.Close
WshShell.Run "Send_Enter.vbs"
WScript.Echo "test"
objFSO.DeleteFile( "Send_Enter.vbs" )
0991デフォルトの名無しさん
2008/04/21(月) 01:27:280992デフォルトの名無しさん
2008/04/21(月) 01:31:190993デフォルトの名無しさん
2008/04/21(月) 13:39:550994デフォルトの名無しさん
2008/04/21(月) 14:43:070995デフォルトの名無しさん
2008/04/22(火) 08:11:540996デフォルトの名無しさん
2008/04/22(火) 23:26:250997デフォルトの名無しさん
2008/04/23(水) 10:34:170998デフォルトの名無しさん
2008/04/23(水) 15:24:200999デフォルトの名無しさん
2008/04/23(水) 15:24:411000小倉優子 ◆YUKOH0W58Q
2008/04/23(水) 15:25:0110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。