VBSで便利なプログラムを作れスレat TECH
VBSで便利なプログラムを作れスレ - 暇つぶし2ch359:デフォルトの名無しさん
11/02/09 18:09:40 .net
質問です。

フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックするやり方を教えてください。また、テキストファイルに記述されていないファイルが存在する場合もNGとしたいです。

360:デフォルトの名無しさん
11/02/09 19:43:41 .net
>>347
詰まる部分があるとは思えない初歩的なプログラムな気がするんだが。
とりあえず書いた所までどこかにアップしてみてよ。

361:デフォルトの名無しさん
11/02/09 20:24:29 .net
どこかにアップっていうか、ここに貼ればいいんじゃね?
そんな長いコードにはならんだろ

362:デフォルトの名無しさん
11/02/09 21:15:33 .net
いや、かなり長いコードになるかもよ。
前半の
>フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックする
コレは簡単だよな。悩むこたぁない。

問題は後半のコレ
>テキストファイルに記述されていないファイルが存在する場合もNG
やっかいだぜ?

考え方としては、前半の処理と、後半の処理は完全に分けて
2本の別のプログラムを書くような気持ちでコーディングすればいいんじゃないかな。

363:デフォルトの名無しさん
11/02/09 21:36:33 .net
何処が厄介?

テキストに書かれたパスを連想配列に入れて
対象フォルダ内のファイルをループ回しながらExistsでチェックするだけだろ

364:デフォルトの名無しさん
11/02/09 21:59:35 .net
ほらね。わかってない。

365:デフォルトの名無しさん
11/02/10 01:35:05 .net
解ってないのは350。恥ずかしい、、、

366:347
11/02/10 08:01:03 .net
皆さんありがとうございます。

前半部分は大体イメージをつかめているのですが、後半部分でつまってます…

367:デフォルトの名無しさん
11/02/10 08:06:41 .net
とにかく自分で出来る部分まで書いて貼るなりどこかにアップするなりしろ

話はそれからだ

368:デフォルトの名無しさん
11/02/10 11:30:54 .net
つまり全ドライブの全フォルダを検索しなきゃならんな

369:デフォルトの名無しさん
11/02/10 11:48:49 .net
普通に考えれば、対象は一部(特定のフォルダ以下)だろ

370:デフォルトの名無しさん
11/02/10 13:09:11 .net
>>357
どうしてそう言い切れる。
本人はフルパスファイル名、つまり絶対パスを指定しているんだぞ
特定フォルダでいいなら相対にするだろ常識的に考えて

371:デフォルトの名無しさん
11/02/10 13:17:09 .net
昨今、相対パスが使われるのは相対パスでなければ困る場合のみで
どちらでも構わない場合は絶対パスを使うことの方が多い件について。

372:デフォルトの名無しさん
11/02/10 15:02:25 .net
>>347が情報小出しにするからイカンのだ
こういう質問者って大体足りてないよな色々と

373:デフォルトの名無しさん
11/02/10 20:22:36 .net
>>359
zipとかの書庫ファイルはなんで相対パスで格納してるか理解できる?
何のためにカレントディレクトリって概念があると思う?
何でわざわざ%SystemRoot%とか環境変数を定義してるのか疑問に思わない?


374:デフォルトの名無しさん
11/02/10 20:26:38 .net
相対パスが絶対的に必要ではない場合はって話をしてるのに
全く的はずれな例を持ってきたな

そういうことは相対パスそのものが無意味とか宣ってる奴に言ってやれ

375:デフォルトの名無しさん
11/02/10 21:27:12 .net
どちらでも構わない場合、ってどういう場合だよ
レスにアンカー付けるときにわざわざ
スレリンク(tech板:362番)
なんてする奴はいないだろ
逆に「絶対パスが使われるのは絶対パスでなければ困る」時でしかないだろ

376:デフォルトの名無しさん
11/02/10 21:49:46 .net
狭量なやつw

377:デフォルトの名無しさん
11/02/10 22:58:35 .net
>>361
質問者はzipファイルの中身まで調べるなんて設問はして無いだろ。
なんでオマエは論点をずらそうと必死なんだ?

378:デフォルトの名無しさん
11/02/12 11:50:55 .net
vbscriptでmicrosoft bluetooth stackの接続情報を得ることはできませんか?

379:デフォルトの名無しさん
11/02/13 08:23:52 .net
"E:\hogehoge\hoge"
というフォルダが存在した場合、そのフォルダを削除。
存在しなければそのまま終了。

という簡単なスクリプトを教えていただけませんでしょうか?

380:デフォルトの名無しさん
11/02/13 08:51:10 .net
いいよ。

で、どこを教えて欲しいの?
まさか1から10まで丸投げで全部書いてとは言わないよね?
しかも質問スレではなく、自分の書いたものを晒すスレで。

381:デフォルトの名無しさん
11/02/13 14:02:19 .net
いや○投げスレじゃね?ここ。

382:デフォルトの名無しさん
11/02/13 14:18:16 .net
>367
VBSじゃないが、これで事足りないか?
if exist "E:\hogehoge\hoge\." rd/s/q "E:\hogehoge\hoge"

383:367
11/02/13 14:31:51 .net
なんだか趣旨がよくわからないスレでしたが、どこへ質問すれば良いのかわからず、とりあえず書き込んでしまいました。
申し訳ありません。

>>370 さんのバッチファイルで満足な結果が得られました。
まさか1行で済むとは思いもしませんでした。

ありがとうございました。

384:デフォルトの名無しさん
11/02/13 14:32:35 .net
hoge\. だとhogeってファイルがあった時も反応するんだよな。
hoge\nul だとディレクトリしか反応しない。

385:デフォルトの名無しさん
11/02/14 23:17:24 .net
質問スレがみつからなかったので、こちらで質問させて頂きます。
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")
って実行した時に、標準出力に結果を出さないようにする方法ってありますか?
ipconfig 1 > nul
みたいな感じで、エラー発生時以外はすべて返ってくる結果を捨てたいのです。
そのまま書いてもうまく動かないです。

386:デフォルトの名無しさん
11/02/15 00:05:35 .net
つgoogle [wscript Exec 標準出力]

387:デフォルトの名無しさん
11/02/15 00:17:00 .net
>374
トラップされるって事は、読み出さない限り無視されるって事ですか?

388:デフォルトの名無しさん
11/02/15 00:19:20 .net
> 標準出力に結果を出さない
はipconfig.exeが対応してなきゃ出来ないよ

WSH(EXEC)が受け取った標準出力を
「コンソールウィンドウに表示しない」
ならどうにでもなるけど

389:デフォルトの名無しさん
11/02/15 00:36:44 .net
>376
コンソールウィンドウに表示しないと、1 > nul って同じ扱いですか?
質問ばかりで申し訳ない。

390:デフォルトの名無しさん
11/02/16 00:51:30 .net
ipconfigはネットワーク設定を確認する為のプログラムなんだから
エラーになるのはexeが見つからない時ぐらいじゃねーの。
ネットワーク設定されて無い時は"設定無し"って正常終了するんだし

391:デフォルトの名無しさん
11/02/16 02:01:02 .net
>>373
URLリンク(www.atmarkit.co.jp)

392:デフォルトの名無しさん
11/02/16 09:26:36 .net
pingで表示したくなくて、WMI使ったな

こんな感じだったと思う。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Address = '" & hoge & "'")

393:デフォルトの名無しさん
11/02/16 13:03:00 .net
何かすげぇな…

CreateObject("SAPI.SpVoice").Speak"Wellcom to VBScript."

394:デフォルトの名無しさん
11/02/17 05:50:16 .net
CreateObject("SAPI.SpVoice").Speak"KoNoHaYaSaNaRa. Ieru. Null Po."


395:デフォルトの名無しさん
11/02/17 12:24:42 .net
CreateObject("SAPI.SpVoice").Speak"Gutt."

396:デフォルトの名無しさん
11/02/17 22:51:24 .net
"null poor" "gad"にしたらそれっぽく聞こえるようになった

397:デフォルトの名無しさん
11/02/17 23:00:22 .net
こんな化石ネタに乗ってくる奴が居るとは、、、

398:デフォルトの名無しさん
11/02/20 20:13:23.14 .net
ほるだー内にあるoutlook6のメッセージファイル.emlを検索して、エクスプローラにリンク表示するプログラムを作ってます
が、.emlが開けない
アウトルックを軌道してクリックしたメッセージを表示したいのですが、どう書けばいいのでしょう。
wshshell.runでは出来ませんでした……

399:デフォルトの名無しさん
11/02/21 01:17:30.92 .net
ISPの切断>接続をしてくれるPGをどなたかキボン!
telnetでルータ(Aterm)に入って、PPPoEを再接続してくれる物です。

400:デフォルトの名無しさん
11/02/21 07:28:22.68 .net
だからここは自分で作って晒すスレで
質問スレや制作依頼所じゃないと何度言えば…

401:デフォルトの名無しさん
11/02/21 09:56:31.24 .net
ほかにいくか……VBSじゃなくてIEの問題な気がしてきた

402:デフォルトの名無しさん
11/02/21 21:02:49.69 .net
丸投げされるのはムカつくけど多少の質問ならいいんじゃね?

>>387
telnetで入れるならTeraTerm等でマクロ作ったほうが簡単。
もっとも擬似GUIだとお手上げだが。

403:デフォルトの名無しさん
11/02/26 01:19:27.04 .net
昔、telnetをラップするvbs作ったことあったな…

404:デフォルトの名無しさん
11/04/09 21:38:36.77 .net
こんな感じでマイドキュメントをコピーしてバックアップを
取ろうとしてるんですが、Windows 7だとエラーが返ってきて、
コピーできません。
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder "C:\Users\Admin","C:\test"
AdministratorでもコピーできないのってUACの仕様ですか?

405:デフォルトの名無しさん
11/04/09 21:50:40.23 .net
>>392
 >>388

406:デフォルトの名無しさん
11/04/10 00:04:08.05 .net
>>393
 >>390

407:デフォルトの名無しさん
11/04/10 00:16:29.59 .net
>>390を引き合いに出すなら、それを引き合いに出した>>394自身が答えてやらないとなw

408:デフォルトの名無しさん
11/04/10 06:02:52.24 .net
>>392
UACというかVistaからの仕様です
例え管理者といえど他人の敷地には許可無く進入は出来ません。
今までのウィルスならこれで全て無力化される、そんぐらい厳しい仕様。
因みにAdminとAdministratorは別物だよ。
XPまでのユーザー管理とは似た非なるものと認識しておこう。
ポリシーいじれば同じ感じに出来るけどめんどい。

409:392
11/04/10 19:18:31.68 .net
>>393
>>394
質問スレじゃないの理解してませんでした。申し訳ない。

>>395
フォローありがとうございます。

>>396
かなりめんどくさそうですね。手作業でやった方が速いのかも…
アクセスフォルダに所有権とかつけてみて、もうちょっとやってみます。
ありがとうございます。

410:デフォルトの名無しさん
11/04/23 17:43:43.24 .net
唐突ですがウサギ型ロボットをR2D2にする�


411:スめのVBSを公開しましたよ ttp://xbmc.inpane.com/sub/nabaztag/



412:デフォルトの名無しさん
11/04/23 23:30:59.78 .net
会社の共有PCの管理のため、Windowsのログオンスクリプトにかまして、
とあるプロセスを監視しています。
なので基本的にユーザーがログイン中は常にWscript.exeが動いているのですが、
↓のような無限ループでもいいんですかね?
なんとなく無理やりな感じがして、もっとスマートなやり方があるでしょうか?



Call プロセス監視処理


Sub プロセス監視処理
Do
'WMIからプロセス取得して、目標のプロセスがでたらループ抜け
Wscript.Sleep 1000
Until
Call やりたい処理
End Sub


SUb やりたい処理
'やりたい処理がおわったらまた、プロセス監視処理をCall
End Sub

413:デフォルトの名無しさん
11/04/27 22:03:44.07 .net
おまえら>>399これくらいも答えられないのかよ
死ねっ!能無しども
会社でもろくな仕事してないんだろうなぁ・・

414:デフォルトの名無しさん
11/04/27 22:11:12.36 .net
>>400
あんまし読んでないしてきとーだけど再帰処理っぽいなと思った。
見つかるまで自分自身を呼び続けたらいいべさ

415:デフォルトの名無しさん
11/04/27 22:38:33.12 .net
>>825
URLリンク(mackerel.axfc.net)

416:デフォルトの名無しさん
11/05/20 13:19:16.79 .net
ここで聞いていいのか分かりませんが、分かる方いたら教えてください。
コマンドラインでフォルダを圧縮するためにZIP.VBSというのを使っているのですが、
MakeZIP.VBSでフォルダを圧縮する際、zipファイルにフォルダ名が格納されてしまいます。

photo
 ├aa.jpg
 └bb.jpg

上記のような場合に、zipファイルにphotoフォルダも格納されます。
これをphotoフォルダを格納せず、ファイルのみ格納するにはどこを修正すればよいのでしょうか。
よろしくお願いします。

417:デフォルトの名無しさん
11/05/20 14:38:03.93 .net
そもそもスレ違いだが、それ解らないレベルならZIP.VBSなんか使わずに
コマンドライン型のアーカイバツール使えよ。
GUIで予め設定しておけば渡したフォルダの中身だけ圧縮してくれるものなんて
いくらでもあるから。

418:デフォルトの名無しさん
11/05/23 11:47:33.82 .net
修正も何もコマンドラインをまず書けよ、なっ?


419:デフォルトの名無しさん
11/06/05 10:08:34.52 .net
ブ・・・vbs・・・
わしは・・ワシは今までこんな素晴らしい言語があるなんて知らなかった・・・!
APIなんかいらないじゃん!

420:デフォルトの名無しさん
11/06/05 11:18:49.84 .net
VBSにD&Dしたものを他のソフトのウィンドウへD&Dとして受け渡すことは可能ですか?

421:デフォルトの名無しさん
11/06/05 18:56:55.67 .net
ファイルへのD&Dなら可能
これは単なるコマンドライン実行なので

ウィンドウへのD&Dならデフォでは不可
専用のCOMでも作るか探すかすれば出来ないことはないだろうけど

422:デフォルトの名無しさん
11/06/06 00:45:23.45 .net
サンプルをいじることしか出来ない私には手に負えないですね…
諦めで別な方法を模索してみます

423:デフォルトの名無しさん
11/06/14 02:40:29.91 .net
2chのhtmlを取得して、vbsで正規表現による抽出と置換をしてhtmlを整形してログを管理するプログラムに読ませたい。

抽出までは上手くいきました。
しかし、正規表現による置換ができません
例えばこのスレのhtml内のコメ409を抜粋するとこうです
<dt>409 :<a href="mailto:sage">
<b>デフォルトの名無しさん</b></a>:2011/06/06(月) 00:45:23.45 <dd> サンプルをいじることしか出来ない私には手に負えないですね… <br> 諦めで別な方法を模索してみます <br><br>

ここから
409 :2011/06/06(月) 00:45:23.45 <dd> サンプルをいじることしか出来ない私には手に負えないですね…
<br> 諦めで別な方法を模索してみます<br><br>

にするには\<a.+/a>|(</a>:)|\</?.+?\> で置換して余計なものを取り除けばで


424:きました。 しかし、<dd>や<br>などの改行にあたる部分も別途置換しないといけないのでここで詰まってます。 片方づつなら出来るのですが同時に1スクリプト内 でやろうとするにはどうすればいいのでしょうか?



425:デフォルトの名無しさん
11/06/14 02:45:14.28 .net
\<a.+/a>|(</a>:)|\</?.+?\> の部分を空白に置換するvbsです
Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換対象文字列
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("読む込むテキストファイル")

' テキストデータ読込
oldText = objFile.ReadAll

' 置換対象文字列
repText = ""

Set objRep = New RegExp

objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = "\<a.+/a>|(</a>:)|\</?.+?\>"
objRep.IgnoreCase = True
objRep.Global = True
' テキスト変換
newText = objRep.replace(oldText, repText)
objFile.Close
' 書き込み
Set objFile = objFSO.CreateTextFile("書き出すテキストファイル")
objFile.WriteLine (newText)
objFile.Close


426:デフォルトの名無しさん
11/06/14 02:45:45.67 .net
' 書き込みの前から' 正規表現パターンを指定するへループして繰り返せればなと考えているのですが上手く思いつきません。
もし、わかるかたがいらっしゃれば教えてください。よろしくお願いします。


427:デフォルトの名無しさん
11/06/14 04:43:26.73 .net
やりたい事がいまいちわからないが、
複数回やりたいんであれば、
正規表現パターンを配列に入れて、ループするだけじゃないかな~


428:デフォルトの名無しさん
11/06/14 07:48:13.52 .net
>>411
objRep.Pattern = "<(""[^""]*""|\'[^\']*\'|[^\'"">])*>"
こういうことじゃなくて?

429:デフォルトの名無しさん
11/06/14 19:38:12.72 .net
なんでdat使わないで、
わざわざhtmlなんて難しいものを使う?

430:デフォルトの名無しさん
11/06/15 11:59:02.32 .net
ちょっと見てみた、確かにhtmlよりdatのほうが容量4割減でおいしいんだけどタイトル取得できないのとコメ番号ないから置換するときどうやって割り当てようか思いつかない

431:デフォルトの名無しさん
11/06/15 12:03:32.40 .net
よくみたら1行目の最後にタイトルあったわ

432:デフォルトの名無しさん
11/06/15 19:08:23.10 .net
デスクトップから2ch検索するvbs作ってるんだけど、
変数の件でわからないところがある。
Dim 変数 で宣言する
このとき変数が、例えば2churlとかだと識別子がありません。とエラーがでる

churlなら問題ない、どうして先頭に数字がくるといけないんですか?
識別子がありません。

433:デフォルトの名無しさん
11/06/15 19:30:46.07 .net
先頭に数字が来ることを許すと
Dim 2
とか
Dim 123
という変数が出来てしまう

これってどうやって変数の2や123と、数値の2や123を識別するの?
ってことになるので、必ず英字を入れなければならないというルールが必要になるわけで
1文字の変数がある以上、その英字が入る位置は1文字目、つまり先頭になり
1文字目が英字でなければいけない=先頭が数字ではいけない
ってことになるわけだ

1文字目が英字でさえあれば、1文字変数でも、2文字目以降が数字でも
確実に変数と数値を識別できる

434:デフォルトの名無しさん
11/06/17 20:55:49.75 .net
vbsでpingを打って、通るまで処理を繰り返すスクリプトを
作成しているのだが、どうもうまくいきません。

IF文で分岐をさせるのはうまくいくのですが、以下のスクリプトで
192.168.0.3に対して通るようになった時点でスクリプトを終了
させたいんですが、どこが悪いんでしょうか?

dim strIP
dim timeOut
'タイムアウト設定(ミリ秒)
timeOut = "10"
strIP = "192.168.0.3"
Set objWMIService = GetObject("winmgmts:\\.")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Timeout = " & timeOut & " AND Address = '" & strIP & "'")

For Each objItem in colItems
do while objItem.StatusCode <> 0
Wscript.echo "NG"
Set objWMIService = GetObject("winmgmts:\\.")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Timeout = " & timeOut & " AND Address = '" & strIP & "'")

loop
Next

435:デフォルトの名無しさん
11/06/19 01:45:19.27 .net
選択プルダウンボックスとか作れたら便利になるのにな�


436:�



437:デフォルトの名無しさん
11/06/19 02:28:19.04 .net
VBSで選択プルダウンボックス使ってるけど、何か?

VBSというかWSHは、COM、OCXで拡張してナンボなんだから
欲しいけど言語に備わってない機能は、外部で補えば良いだけだ

438:デフォルトの名無しさん
11/06/19 07:13:15.16 .net
自分専用ならそうだろうけど、
comはインストールの壁が越えられない

439:デフォルトの名無しさん
11/06/19 07:17:25.40 .net
超えられるけど、何か?
USBメモリで持ち歩いて使ってる
COMのレジストリ登録を自動化してるとかではなく未登録で

440:デフォルトの名無しさん
11/06/19 07:43:48.47 .net
自信満々で「超えられるけど、何か?(キリッ」だもんなあw

441:デフォルトの名無しさん
11/06/19 08:09:56.20 .net
自信満々に言った「comはインストールの壁が越えられない(キリッ」
を否定されて悔しかったの?

442:デフォルトの名無しさん
11/06/19 08:19:38.57 .net
GetObject

443:デフォルトの名無しさん
11/06/19 08:29:07.02 .net
USB股間に忍ばせて持ち歩く男の人って・・・///
きみの端子にプラグ★イン!

444:≠423
11/06/19 10:02:11.33 .net
>>426
あのね、ある程度の会社ならね、勝手にツール類をインストールする事ができないのね。

USBメモリも、使用禁止、あるいは相当制限されているのが一般的なのよ。

445:デフォルトの名無しさん
11/06/19 12:12:42.62 .net
なんか勘違いしてる子が出てきたなw

あのね、comにインストールの壁なんて無いって話であって
USBメモリなんて、全く関係ない話なのよ

それと、『ある程度』レベルの会社だと、勝手にツール類をインストールする事ができないところが多いけど
『ある程度』を超えたまともな会社だと、勝手にツール類をインストールする事が出来るところも多い
セキュリティーが確立している上に、VBAやWSHなどの元から入ってる言語でいろいろ作れる奴が多いから
外部からのツールのインストールを制限しても、元から入ってる言語でツールが作れちゃうから意味無いw
逆にまともな会社だでツールのインストールを制限している場合は、WSHもVBAも制限してる

446:デフォルトの名無しさん
11/06/19 18:14:48.56 .net
≠423とか必死に否定すると、余計に・・・・・( ̄ー ̄)ニヤリッ

447:デフォルトの名無しさん
11/06/19 21:27:41.80 .net
「勝手に出来る」って方がおかしいだろ
今の時代どこもピリピリしてるってのに。
単におまえさん自身か会社がその客に信用されてるってだけじゃねーの?
でも普通は申請式だと思うけど。他人の会社で勝手にてのはどうかと思う。

448:デフォルトの名無しさん
11/06/20 00:02:07.13 .net
勝手にしてよいと許されていることを勝手にやる上で、何の咎があると?
なにか勘違いしてやいないか?

449:デフォルトの名無しさん
11/06/20 00:33:54.55 .net
これは突っ込んであげたほうが良いのだろうか?

450:デフォルトの名無しさん
11/06/20 00:59:30.37 .net
生温かい目で見守ってあげるのが良いんじゃないかと

451:デフォルトの名無しさん
11/06/20 10:20:41.11 .net
batファイルは止められませんね
じゃぁバッチ最強じゃん

452:デフォルトの名無しさん
11/06/20 17:46:53.34 .net
<a href="URLリンク(upload.jpn.ph)やきそば.zip">こちら</a>
という内容のテキストファイルからURLの部分を抽出して
変数に入れるっていう目的でvbs作ったんですが上手く変数に入りません

Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換対象文字列
var1 = "解析.txt" '保存する名前
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(var1, 1, false, 0)
' テキストデータ読込
oldText = objFile.ReadAll

patrn="(http:\/\/[^\x22 ]+)" '検索する文字列を入力して下さい。
repText = "$2"

Set objRep = New RegExp
objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = patrn
oldText = objRep.replace(oldText, repText)

WScript.Echo $2
objFile.Close

どうすればいいのでしょうか、もしわかるかた入れば教えてください。
自分では後方参照とかExecuteやマッチとかが関係ありそうで
調べて試したんですが思うようにいきませんでした。

453:デフォルトの名無しさん
11/06/21 21:55:45.73 .net
まずは基本を学べってレベル

454:デフォルトの名無しさん
11/06/23 15:44:28.14 .net
正規表現の構文がデタラメ。
パターンがデタラメだし後方参照の仕方もデタラメ。

ヘルプもろくに見てないだろ。

455:デフォルトの名無しさん
11/06/23 22:13:57.11 .net
置換という言葉の意味もわからぬまま、これをコピペ


456:して値を 置き換えたんだろう。 http://d.hatena.ne.jp/necoyama3/20081202/1228220710



457:デフォルトの名無しさん
11/06/23 22:32:18.65 .net
凄い違和感あったんだけど納得

458:デフォルトの名無しさん
11/06/23 23:57:00.51 .net
>>433
やっぱ許可貰ってんじゃん
ま、当たり前だよなびっくりした

459:デフォルトの名無しさん
11/06/24 07:22:39.31 .net
久しぶりに酷い自演をみた

460:デフォルトの名無しさん
11/06/24 10:19:04.37 .net
>repText = "$2"
この意味不明っぷりがすごいね

461:デフォルトの名無しさん
11/06/24 14:11:47.65 .net
突っ込む所はそこじゃないと思うがw

Echoのとことか、パターン自体に突っ込めよ

462:デフォルトの名無しさん
11/06/24 14:15:34.45 .net
>>440
> objRep.Pattern = "T..t"

感動的なパターンだなw

463:デフォルトの名無しさん
11/06/24 19:23:21.29 .net
>>437
ドリルの刑
URLリンク(www.amazon.co.jp)

姉妹編と違って表紙にドリルが載っていないのがイマイチだけど

464:デフォルトの名無しさん
11/06/25 00:10:36.15 .net
>>437も恥ずかしくて出れこれないんだから、いい加減に許してやれよ

465:デフォルトの名無しさん
11/06/25 13:11:24.67 .net
>>443
そんなに悔しかったの?

466:天使 ◆KOAgYBL/Xg
11/06/29 17:41:46.87 .net
さすが VBSなんていう時代遅れツール使ってるスレはレベルが低い

467:天使 ◆uL5esZLBSE
11/07/02 08:25:05.28 .net

ゴミみたいな奴だな


468:デフォルトの名無しさん
11/08/28 14:30:43.29 .net
文字を文字コードの数値に変換して出力したいんだけど誰か助けて

469:デフォルトの名無しさん
11/08/28 20:10:45.21 .net
asc("a")

470:デフォルトの名無しさん
11/09/01 09:14:32.07 .net
何その顔文字、ふざけてるの

471:デフォルトの名無しさん
11/09/01 10:09:24.83 .net
("з")

472:デフォルトの名無しさん
11/11/20 14:29:12.95 .net
(・∀・)

473:デフォルトの名無しさん
11/11/20 15:33:06.16 .net
VBScriptって、1ヶ月もあれば極められるよね

あとはCOMを何処まで使いこなせるかだけ

474:デフォルトの名無しさん
11/11/21 17:49:41.03 .net
そんな時期もありました

475:デフォルトの名無しさん
12/02/10 21:02:00.29 .net
例えば、notepad.exeを起動するvbsは?


476:デフォルトの名無しさん
12/02/10 21:08:54.09 .net
>>459
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"


477:459
12/02/10 22:23:36.81 .net
>460
分かりました。ありがとう

ところで、Option Explicitを書くとshellが宣言されてないと起こられますが
この場合、shellの型は何ですか?
あるいは、Option Explicitを書くべきじゃない?


478:デフォルトの名無しさん
12/02/10 22:46:07.22 .net
>>461
Object 型
VBScript では VB や VBA と違い、宣言で型を記述しないのであまり意識はしないが、
Object 型だけは代入時に Set を必要とするので認識は必要
あと、Option Explicit は書いた方がよい

Option Explicit
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"


479:459
12/02/11 07:35:54.95 .net
>462
ありがとうございました


480:デフォルトの名無しさん
12/02/12 01:57:20.27 .net
Option Explicitはtypo無くしてくれるからな
昔のソース改修でstrPrinterとstrPrnterで1週間ぐらいハマった記憶
今なら真っ先に疑うけど当時はまだ慣れてなくて泣いたなぁ

481:デフォルトの名無しさん
12/03/10 23:34:01.81 .net
>>462
CreateObject()の戻り値がObject型ってだけで変数に型は無いよ
Object型を変数に代入するのに、Setが必要なだけ

その証拠に、
Set shell = CreateObject("WScript.Shell")
shell = 1 '変数に型は無いので、この代入は有効
shell.Run "notepad" '変数には数値型のデータが入っているので、ここでエラーが発生

細かい事だけど、知っているのと知らないのでは大違い

>>464
typoを無くす為にOption Explicitを宣言してはいけない
Option Explicitの宣言は、ローカル変数とグ


482:ローバル変数の区別を明確にするために宣言すべき



483:デフォルトの名無しさん
12/03/11 04:51:38.09 .net
> 変数に型は無いよ
ちょっとハズレ

正しくはVBSの変数の型は、無いのではなくValiant型のみというだけ
で、Valiant型は内部型が固定されていないのでどんな型の値をも代入することが可能だが
値が代入されている状態では、内部に歴とした型という概念が存在する

細かい事だけど、内部文字列型と内部数値型では、外がValiant型でも扱いが異なるので、
知っているのと知らないのでは大違い

> Option Explicitの宣言は、ローカル変数とグローバル変数の区別を明確にするために宣言すべき
それ、VBやVBAの場合ね
それらの場合はグローバル変数(全モジュール共通変数)とモジュール内変数の区別に役立つ
でもVBSの変数スコープには、グローバル変数、プロシージャ内変数、クラス内変数の3つがあるが
Option Explicitはこれらの区別を明確にする役目は果たさない

484:デフォルトの名無しさん
12/03/11 09:35:32.83 .net
>>466
だから、違うって
全ての変数は型が無いことを保障されてるの、これをValiant型と言います
そして、型を持っているのは、データ側であって変数ではありません
変数に型がある場合は、オブジェクト型の変数に整数を代入する事は絶対に出来ません

次に、Option Explicitは、全てのスコープにDim文を強制します
VBScriptの仕様では、Dimで宣言された変数は該当スコープでのローカル変数として確実に扱われるが、Dimで宣言されない変数は、同名のグローバル変数がある場合、グローバル変数として扱われます
ようは、使うべきでないグローバル変数を誤って使う事をしない為に使われるのであって、typo問題の為に使われているのではない
考えるまでもなく、typoによって引き起こされる問題よりも、グローバル変数への不用意なアクセスによる影響の方がはるかに大きく深刻です


485:デフォルトの名無しさん
12/03/11 10:11:16.22 .net
バリアントの綴りが間違ってた...
ValiantではなくVariantでした。

486:デフォルトの名無しさん
12/03/11 10:54:20.03 .net
なんだ、この子全然解ってないんだね

487:デフォルトの名無しさん
12/03/11 11:14:12.71 .net
>>469
そう、>>466のように変数に型があると勘違いしていると、SubやFunction、Propertyに入力されるデータの型を勝手に期待して自爆する事になるよね
特にVBScriptのClass周りには、変数に型が無い事による罠が散りばめられてるからねぇ


488:デフォルトの名無しさん
12/03/11 13:25:47.06 .net
痛すぎw

489:デフォルトの名無しさん
12/03/11 13:38:11.81 .net
>>471
そう、>>466は理解の薄い痛い子だね
無型の変数に内部型があると信じている辺りが痛すぎる
型を持っているのは、変数ではなく値なのにね

たぶん、VBScript以外のプログラミング言語を使った事が無いんだろうね

490:デフォルトの名無しさん
12/03/11 18:41:00.25 .net
>>467
横レスだけど
ローカルとグローバルでの変数名は、設計レベルで対応すべき話では?
実際の製造(プログラミング)時はtypo対策の方が重要では

そもそも、グローバルとプロシージャレベルで同名変数使うって
どれだけ可読性の低いプログラムを書くつもりかと。
普通コーディングルールで禁止されていると思うし、自分なら禁止する

個人レベルならともかく企業でもVB系言語を使う以上、Option Explicitは
BASICを、普通の(変数宣言を強制する)プログラミング言語と
同レベルに引き上げるものだと思ってるけど

とMSX-BASIC1から入って業務でVBは2(Win版。流石にDOS版は触って無い)から
使っている年寄りとしては思う

491:デフォルトの名無しさん
12/03/11 18:57:57.83 .net
QB「

492:デフォルトの名無しさん
12/03/11 19:15:38.79 .net
>>473
だから、Option Explicitをつければ、コードの再利用に際して変数名に関する問題は起こらなくなるの


493:デフォルトの名無しさん
12/03/11 20:27:28.25 .net
Dimで解決するだろ

494:デフォルトの名無しさん
12/03/11 21:49:45.91 .net
>>476
だからソースの始めに、Option Explicitが必要なんじゃんw

495:デフォルトの名無しさん
12/03/11 22:27:49.57 .net
>>477
は?
typoしないんなら必要ないだろ?

ローカルでDimし忘れたらグローバルでDimしてる変数が使われちゃうぞ

496:デフォルトの名無しさん
12/03/11 23:22:53.96 .net
>>478
お前、馬鹿だろw
Option Explicitが書いてあれば、ローカルでDim宣言されている証明になるが
Option Explicitが書いてあっても、typoしていない証明にはならない


497:デフォルトの名無しさん
12/03/12 06:39:57.23 .net
なんか、自分自身が勘違いしていて痛い奴だってことに気付いてない
蘊蓄野郎が一人でずっと頑張ってるなぁ

498:デフォルトの名無しさん
12/03/12 09:02:44.77 .net
Option Explicitでtypo対策する奴の方がよっぽど痛いけどね

499:デフォルトの名無しさん
12/03/12 19:53:12.43 .net
普通に考えて、変数名をコピペしてたらtypoなんて起きないだろ...
つーかtypoが問題になるって何十年前の開発環境だよ...

500:デフォルトの名無しさん
12/03/12 20:26:55.78 .net
入力補完じゃなくてコピペって・・・・・
それこそ何十年前だよって話だなw

程度が知れてきたぜ

501:デフォルトの名無しさん
12/03/12 20:44:07.58 .net
うはっ、入力補完機能のあるエディタ使ってて、変数名のtypoがプログラム制作上の重要課題ってw
あれだな、うちのメモ帳の方が、あんたの開発環境よりも上って事だなw
この10数年の間、変数名のtypoなんて起きた事ねぇもんw

502:デフォルトの名無しさん
12/03/12 20:56:31.62 .net
この子、相手が一人だと思ってるのかな?
俺は変数名のtypoがプログラム制作上の重要課題なんて一言も言ってないんだが
必死になりすぎて周りの現実が見えてないんだね

大勢に嘲笑されているという現実が・・・・・

503:デフォルトの名無しさん
12/03/12 21:10:17.75 .net
うはっw
とうとう、「俺はtypoなんて言ってねぇ」とか言い出しちゃいましたよ
このお方w

504:デフォルトの名無しさん
12/03/12 21:13:40.15 .net
入れ食い

505:デフォルトの名無しさん
12/03/12 21:20:02.41 .net
そもそもプロシージャとグローバルで名前重複なんて、可読性が低くて
絶対保守したくない類のソース。機械が読めても人が読みにくい。
Option Explicit以前にその時点で根本的に間違っていると思う。

それ以前に最近は「グローバル変数自体原則禁止、明示的に引数で渡すべき」
とか言われる事も多くて、高度情報処理試験の午前問題にもあったり。
ま、あくまで「原則」なんでグローバル変数を使わざるを得ない場合もあるが
独立性が低下するので再利用性が低下するのは避けられない。

つまりはスコープの違いをOption Explicitでどうこうして再利用性を上げようとする
のは方針自体が間違っている。

引数のオーバーヘッドに関しても昔はともかく今はPCの性能が十分高いので
高速策よりも安全策というか保守性を取る方が多いし。

VBSの場合は短い事もあり汎用的に使うfsoとかはグローバルな事も多いけど。

506:デフォルトの名無しさん
12/03/12 22:18:26.28 .net
>>488
馬鹿か
なんの為のスコープ分けだ
もう一度、構造化プログラムについて習いなおせ

互いのスコープが引数と戻り値のみでのみデータの受け渡しをする限り、互いの内部の処理は気にする必要は無いの

そして、VBScriptの場合は、グローバルスコープへ直接コーディングをする可能性があるから、Option Explicitによるコードの再利用性の保障が必要なんだっつうの

507:デフォルトの名無しさん
12/03/12 22:31:33.94 .net
Option Explicit「みんな!私のために争わないで!」

508:デフォルトの名無しさん
12/03/13 06:14:50.44 .net
>>489
らちが明かないから何かサンプル上げて説明してみて

509:デフォルトの名無しさん
12/03/13 09:37:52.97 .net
>>491
まず共通部分
<job id="main">
<script language="VBScript" src="test.vbs" />
<script language="VBScript">
fso = "Hello"
MsgBox Test() & vbCrlf & fso
</script>
</job>


510:デフォルトの名無しさん
12/03/13 09:39:40.86 .net
次に、test.vbs部分Option Explicit無しバージョン
Function Test()
Set fso = CreateObject("Scripting.FileSystemObject")
Set File = fso.OpenTextFile("test.vbs")
Test = File.ReadAll
Set fso = Nothing
End Function


511:デフォルトの名無しさん
12/03/13 09:43:32.86 .net
こいつも、test.vbsでOption Explicit有りバージョン
Option Explicit
Function Test()
Dim fso, File
Set fso = CreateObject("Scripting.FileSystemObject")
Set File = fso.OpenTextFile("test.vbs")
Test = File.ReadAll
Set fso = Nothing
End Function


512:デフォルトの名無しさん
12/03/13 21:41:15.30 .net
散々蘊蓄垂れてこのレベルか

513:デフォルトの名無しさん
12/03/13 21:50:38.27 .net
Option Explicit 云々以前の問題だな

514:デフォルトの名無しさん
12/03/13 21:51:41.48 .net
なんと見苦しい負け惜しみw

515:デフォルトの名無しさん
12/03/13 22:25:08.04 .net
>>493
>Option Explicit無しバージョン
Option ExplicitよりもローカルのDimが無い事の方が影響大でしょ

> ローカルDim無しバージョン
とした方がよいのでは?

別にOption Explicitによりローカル宣言とグローバル宣言の優先度が
変わったとかじゃないし

「Option Explicit」の有無「だけ」による挙動の違いを説明できないと

516:デフォルトの名無しさん
12/03/13 22:29:53.10 .net
Option Explicit
Function Test()
Dim File
Set fso = CreateObject("Scripting.FileSystemObject")
Set File = fso.OpenTextFile("test.vbs")
Test = File.ReadAll
Set fso = Nothing
End Function

そんだけ言うなら、このパターンでも試してみたらw

517:デフォルトの名無しさん
12/03/14 19:42:16.87 .net
やれやれ、「Option Explicit」の使い方をようやく理解したか?
まあ、なんで、そのエラーが出るのか理解出来て無いってほうが濃厚だなw
なんせ、VBScriptの変数に内部型があるとか言っちゃうぐらいだからなぁw

518:デフォルトの名無しさん
12/03/14 19:45:33.07 .net
自身が勘違いしていた事には気付いたが、
最初に強気で蘊蓄かましてしまった手前、
引くに引けなくなって強がりを続ける465萌え

519:デフォルトの名無しさん
12/03/14 20:28:49.55 .net
>>501
ぷぷぷっ
もう、技術的な話を出来ずに口先だけかよw
「俺は、MSX-BASIC1からBASICを使ってるんだ」って言う割には大した事は無いなぁ

間違っているなら指摘しなw

520:デフォルトの名無しさん
12/03/14 20:47:40.14 .net
ところで、既に>>499を提示してからでも丸一日が過ぎようとしているのに、今更、ファイルをクローズしてないとか言わないよねw

521:デフォルトの名無しさん
12/03/14 21:55:18.55 .net
おーい、沢山いるはずの>>501よーい
技術的な指摘まだかーい
最低限、>>498みたいな、間抜けな指摘はすんなよーw

522:デフォルトの名無しさん
12/03/14 23:04:31.90 .net
もうそろそろ飽きてきた...
MSDNからのコピペ
---
Option Explicit ステートメント
スクリプト内のすべての変数に対して、明示的な宣言を強制します。

解説
Option Explicit ステートメントを使用する場合は、スクリプト内の他のステートメントより前に記述する必要があります。
Option Explicit ステートメントを記述した場合、変数は、Dim、Private、Public、ReDim などの各ステートメントで明示的に宣言する必要があります。宣言されていない変数名を使うと、エラーが発生します。
---
以上

ソースコードに、Option Explicitが記述されていると、変数の宣言は明示的に行わなければならない
つまり、>>493は、>>494に変更しなければエラーが出て実行できない

では、>>499で、変数fsoは明示的に宣言されていないのになぜOption Explicitはエラーを出さないのか
それは、グローバル変数としてOption Explicitの効果範囲外で暗黙的に宣言されているから
つまり、ローカル変数とグローバル変数が交じり合い、スコープが明確ではなくなって全ての変数が宣言済みなのでOption Explicitはエラーを出せなかった

この結果の意味するところは、Option Explicitは、スコープがあやふやな場合には、typoを検出する事は出来ない(>>499)
逆に、Option Explicitを宣言した状態で、スコープを明確にしデバッグすれば、プロシージャの独立性を保障する事ができる(>>494)

あれだ、>>498は目の付け所は良かったが、リファレンスぐらいは読んだほうが良いってこった

523:デフォルトの名無しさん
12/03/15 04:54:39.64 .net
負け犬の連投・・・

524:デフォルトの名無しさん
12/03/15 08:42:06.70 .net
>>506
まだやる気かw
頑張って反論よろしくw

525:デフォルトの名無しさん
12/03/17 10:04:12.29 .net
>>462
変数shellがObject型w
間違いを指摘されたら、>>466で内部文字型と内部数値型では扱いが違うとかw

つまりあれかw
MsgBox "123"+4+"5"
はエラーなんだw
なんかカッケーなw

526:デフォルトの名無しさん
12/03/17 14:33:29.53 .net
こんなとこまで来ちゃうお前らの為じゃねーよ
適当にやったけど動いたからいーや的思考な
困ったくんや困ったチャンの為に書いてんだよOption Explicit
詳しい人が必ずメンテするとは限らないのがVB系の怖いとこで

527:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 09:29:55.75 .net
こんなところに来ない人のための事をここに書いて意味あるんですか?

528:デフォルトの名無しさん
12/06/10 17:05:31.39 .net


529:デフォルトの名無しさん
12/07/16 00:40:56.77 .net
今までUWSC(フリーソフト)を使っていましたが、最近、VBScriptを知り、同じような処理ができることを知りました。

VBScriptを勉強中です。
分からないことがあればよろしくね。

530:デフォルトの名無しさん
12/07/16 01:26:02.69 .net
だれか3000円上げるから
24平均律の鍵盤プログラム作ってくれ~(T_T)

531:デフォルトの名無しさん
12/07/16 01:27:51.13 .net
作曲するのに使います
音色はピアノ音だけでOKです

532:デフォルトの名無しさん
12/07/16 09:32:19.09 .net
コンパイルしたプログラムなら3'000円でいいけど
ソース(ソース丸見えのVBS…というか鍵盤必要ならHTA)で欲しいなら150'000円

533:デフォルトの名無しさん
12/07/16 10:42:01.70 .net
>>515
言葉の意味がよくわからないけど
3000円の方でお願いします

534:デフォルトの名無しさん
12/07/16 10:50:19.70 .net
白鍵とか黒鍵は
ないようなもんなんで
ボタンがズラリと並んでるだけでOKです
Eの位置だけボタンにEって書いてくれたらOKです

535:デフォルトの名無しさん
12/07/16 19:11:52.43 .net
よくわからんけど初音ミクじゃだめなの?

536:デフォルトの名無しさん
12/07/16 19:47:57.27 .net
リアルタイムで音を確認しないと何かね……確信持てないっていうか
シーケンスでやってその日は納得いっても
次の日に聞いたらアレ?って事ばかりなんで

537:デフォルトの名無しさん
12/08/05 23:38:48.37 .net
煽り潰しですね

538:デフォルトの名無しさん
12/08/27 21:54:39.96 .net
知恵袋にも登録したのですが、どうしても知りたいのでご教示お願い致します。
マクロを実行して、他のファイルのマクロまで編集できますか。
いろいろグーグルで調べたのですが、どうもヒットせず実行できそうにありません。
作成したいファイルは追記します。
1.エクセルファイル内にボタンフォームを作り(このファイルを便宜上、ファイル①とする)、ボタンフォームを押すと新しいエクセルファイルが作成される(このファイルを便宜上、ファイル②とする)。
2.次にファイル①から1.とは別のボタンフォームを押すと、「挿入>図>ファイルから」と同じ要領で画像を選択でき、②ファイル内のSheet1・セルA1に画像が貼り付けられる。
3.最後にファイル①に設置した1.と2.とは別のボタンフォームを押すと、ファイル②のVBScriptにスクリプトが書き込まれる(出来ればVBScriptをパスワード保護出来れば幸いです)。
という流れをファイル①のVBScriptなり、モジュール等を使って行いたいのです。
3にあるマクロは、上書き保存ができなくなるマクロのため、1の段階で保存ができると幸いです。
また、複数ファイルを処理する必要が有るため、同一ファイル名で保存しない仕様を求めています。


539:デフォルトの名無しさん
12/08/27 22:31:18.85 .net
全部出来ますよ
但し、マルチな上にスレ違いなので、具体的な説明は伏せますが

540:デフォルトの名無しさん
12/08/29 19:05:51.32 .net
VB・・・・・Sなのか?

541:デフォルトの名無しさん
12/08/30 22:38:44.70 .net
ExcelでVBS……

ワークシートにボタンに見せかけたオブジェクトを貼り、
押すとハイパーリンクで外部のVBScriptを実行する
とかならやった事がある

542:デフォルトの名無しさん
12/08/30 23:09:40.69 .net
ExcelからVBSを呼ぶだけのパターンか

俺は逆にVBSからExcel.Applicationを使って
Excelブックを操作するってことを結構やるな

「ExcelでVBS」ではなく、「Excel"を"VBSで操作」ってこった

ExcelからVBSを呼ぶくらいなら、そのVBSを標準モジュールなどに取り込んで
わざわざ外部のVBS呼ばずに内部実行するし

543:デフォルトの名無しさん
12/08/31 10:20:07.61 .net
ってか、VBSならふつうそうでしょ


544:デフォルトの名無しさん
12/08/31 10:21:36.68 .net
だよな
>>524がなんんか面倒くさいことやってるだけで

545:デフォルトの名無しさん
12/09/01 22:37:19.11 .net
一応、マクロを無効にしたExcelからでも実行できるというメリットはあるけど

546:デフォルトの名無しさん
12/09/02 18:43:55.29 .net
officeのマクロはjsに移行するよ
おまえらの書いたVBSなんて保守したくないし、頼むからせめてjsで書いてくれ

547:デフォルトの名無しさん
12/09/02 19:19:43.98 .net
webで使う場合はjsに軍配挙がるけど
wshやテキストエディタのマクロとかはvbsがいいな

つーかvbsの前に、jsしか使えないバカを淘汰して欲しい
vbsしか使えないバカも同じくね

548:デフォルトの名無しさん
12/09/02 20:05:38.74 .net
>>529
VBSの保守をしたくないんじゃなく、VBSを保守する能力が無いの間違いだろ?

549:デフォルトの名無しさん
12/09/03 19:06:20.84 .net
VBSにはプログラム言語としての長所は微塵もないよ
既に言語からもユーザーからも加齢臭とか腐敗臭とか漂わせている

550:デフォルトの名無しさん
12/09/03 19:20:10.07 .net
>>532
Win32 APIの呼び出しができればいんだけどね
もう絶望的かな

551:デフォルトの名無しさん
12/09/04 10:26:00.19 .net
言語なんてなんでもいいよ

552:デフォルトの名無しさん
12/09/23 11:02:10.28 .net
SFC miniかExcel経由で行けるけどキモいよな
しかし生のVBSからwin32api呼べたら怖くてエロサイト行けなくなる

553:デフォルトの名無しさん
12/10/13 09:50:15.66 .net
いまメモ帳で頑張ってるんだけど、
("text").Value = rnd
このtextに乱数の直前に文章を入れたいんだけどどうすればいい?
必要なら全文載せる

554:デフォルトの名無しさん
12/10/13 09:53:17.73 .net
3行目を読み返せ。

555:デフォルトの名無しさん
12/10/13 10:43:46.18 .net
乱数の直前に文章を入れる?

単純に & で連結したらいいと思うが…

msgbox "文章" & rnd

556:537
12/10/13 10:55:59.62 .net
>このtextに乱数の直前に文章を入れたいんだけどどうすればいい?
乱数の直前に、このtextに文章を入れたいんだけどどうすればいい?

557:デフォルトの名無しさん
12/10/13 11:01:38.99 .net
ありがとうございます

558:デフォルトの名無しさん
12/10/21 07:59:37.35 .net
CreateObjectのIEでブラウザの操作を自動化するスクリプト作っててサイトへのログインは自動化できたんだけど、
その後のページにあるボタンを押す動作ができなくて行き詰まってる…

流れとしては
1. ID、PWを入力してログインボタンを押す
2. TABキー15回+ENTERでボタンを押す
   (ページが切り替わる)
3. TABキー15回+ENTERでボタンを押す ←ここからうんともすんとも言わない

1、2は処理に成功してるんだけど、3が何も起こらない(エラーも表示されない)
3が動作しない原因はなんなんだぜ?

559:デフォルトの名無しさん
12/10/21 08:18:06.54 .net
そこのソース撮ってくれ。

560:デフォルトの名無しさん
12/10/21 09:09:12.73 .net
'1.ログイン
.document.all.Item("userId").Value = MemID
.document.all.Item("passWd").Value = UsrPass
.document.all.Item("btnLogin").Click
While .Busy Or .ReadyState <> 4
Wend
'2.切断
WshShell.SendKeys("{TAB 15}")
WshShell.SendKeys("{ENTER}")
While .Busy Or .ReadyState <> 4
Wend
'3.接続
WshShell.SendKeys("{TAB 15}")
WshShell.SendKeys("{ENTER}")
While .Busy Or .ReadyState <> 4
Wend

>>542
これでいいかな?
なぜか「3.接続」を実行できないんよ(´・ω・`)

561:デフォルトの名無しさん
12/10/21 09:32:48.54 .net
WSH には、こんな使い方もあるんだ!
While
  WScript.Sleep 100
Wend
とかの時間間隔入れてみれば?
URLリンク(www.atmarkit.co.jp)

562:デフォルトの名無しさん
12/10/21 10:04:09.14 .net
>>544
ありがとう!できたよ!
↓ReadyStateを3とSleep 1000を組み合わせたらなぜかいけたww

'ログイン
.document.all.Item("userId").Value = MemID
.document.all.Item("passWd").Value = UsrPass
.document.all.Item("btnLogin").Click
While .Busy Or .ReadyState <> 4
Wend
'切断
WshShell.SendKeys("{TAB 15}")
WshShell.SendKeys("{ENTER}")
While .Busy Or .ReadyState <> 3
Wend
'接続
WScript.Sleep 1000
WshShell.SendKeys("{TAB 15}")
WshShell.SendKeys("{ENTER}")
While .Busy Or .ReadyState <> 3
Wend

563:デフォルトの名無しさん
13/01/05 10:19:06.02 .net
Explorerを起動して任意のフォルダ(ドライブ)を指定で起動する。
その際、n階層下のフォルダまで自動的に展開した状態で開いて欲しい。

通常    → これを →  1階層指定で展開済み起動
d:[+]フォルダA       d:[-]フォルダA
 [+]フォルダB         [+]子フォルダ1    ←孫フォルダ(2階層下は存在してても展開しない)
 [+]フォルダC           子フォルダ1
    :            [-]フォルダB
                    :

ドライブルートから1階層下までの固定展開する機能は必須です。
可能ならば起点がドライブルート固定では無くて、パス指定で起点となるフォルダの指定と
自動展開する階層数が1階層で無くソースで指定する箇所があれば出来れば最高に嬉しいです。

564:デフォルトの名無しさん
13/01/05 11:27:15.02 .net
ここは作ってくれって頼む場ではなく
こんな便利なの作ったけどどうよ?って作ったモノを晒す場だぞ

まあ>>546程度のことは多機能ファイラならコマンドやマクロで出来るので
完成したとしても晒してくれなくて結構だがな

565:デフォルトの名無しさん
13/05/04 00:22:48.17 .net
>>547 は?スレタイ読め

566:デフォルトの名無しさん
13/05/06 18:32:10.90 .net
アンカーがズレてるぞ

それともスレの趣旨を理解してないおバカさんかな?

567:デフォルトの名無しさん
13/05/31 02:33:30.04 .net
>>547
エクスプローラでやるから意義があるんだろ
ってか4ヶ月もたつのに反応してくんなや
正確悪すぎてきもい

568:デフォルトの名無しさん
13/05/31 19:26:22.45 .net
えっ?ってなったった

569:デフォルトの名無しさん
13/06/14 11:40:12.42 .net
> 4ヶ月もたつのに反応して
るのは>>548だなw

570:桃白白 ◆9Jro6YFwm650
13/06/23 00:49:56.40 .net
    |┃三     ∩___∩
    |┃      | ノ      ヽ
    |┃ ≡   /  ●   ● |  <あどうも、こんばんわー!
____.|ミ\___|    ( _●_)  ミ
    |┃=___    |∪|   \
    |┃ ≡   )   ヽノ   人 \ ガラッ

571:デフォルトの名無しさん
13/06/23 10:09:22.10 .net
会社で入力するのめんどいからいろいろVBSで自動化してる。
会社の規則的にやばいので、今はやってないけど自動的にWindowsにログインするようにしてた。

572:桃白白 ◆9Jro6YFwm650
13/06/24 23:09:44.12 .net
CsvをHTMLのTableに変換しちゃう
URLリンク(friendpaste.com)

573:デフォルトの名無しさん
13/06/26 21:08:23.54 .net
CSVファイルをドラッグ&ドロップで読み込んで、
2行目の先頭3文字を抽出してください

574:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
VBSってどんなプログラム作れるの?

575:デフォルトの名無しさん
13/07/02 NY:AN:NY.AN .net
COM使わなきゃ大したことは出来ないが
COM使えば大抵のことは何でも出来る

まあ組み込みCOMだけじゃまだ貧弱だが
COMは優秀なものが腐るほどあるし、自分で作ることも出来る
COM使えばGUIだって作れるし、
WinAPIだってNET Frameworkの全てだって使える

576:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
WMIが便利そうだけど、あまりにも書籍などが少ない

577:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
書籍なんか無くても、ネット上の情報だけで事足りるけどな

余程頭が悪くなければ・・・

578:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
暇がある人は時間かけてネットの情報探せばいいさ
その暇を惜しむから、まとめて書籍にしてくれと思うわけで

579:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
暇ってw
まとめてWMIの情報載ってるページに行き着くのに10秒とかからんだろ?
あとはサイト内検索とページ内検索を駆使すれば、書籍の目次からページを辿るより早いし

それすらも出来ないようなレベルだと、WMIを使いこなすのは無理じゃね?

580:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
まとめてって言葉の真意が伝わってないな
情報を集める事だけがまとめる事じゃないぞ

581:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
もちろん

582:桃白白 ◆9Jro6YFwm650
13/07/05 NY:AN:NY.AN .net
戦士は胸に一つのバブルソートを抱く
桃白白ブレイブストーリーである。

順番を維持したまま、重複行を除去しちゃう。
URLリンク(friendpaste.com)

583:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
>>565
このサイトのセキュリティ証明書には問題がありますww
って表示されるの。白桃おじさん、他のサイトがいいよ。

584:桃白白 ◆9Jro6YFwm650
13/07/06 NY:AN:NY.AN .net
>>566
friendpasteを例外に追加しちゃったらいいよ。たぶんブラウザの設定で
できるはずだから。見た?桃白白ブレイブストーリーのコード見た?
感想とかある?とてもすてきなコードですねとかそういう感想ある?
あとこれ桃白白。
URLリンク(livedoor.blogimg.jp)

585:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
>>567
バブルソートってやつじゃないのね
よくわかんない
簡単に解説ちょうだい

586:桃白白 ◆9Jro6YFwm650
13/07/06 NY:AN:NY.AN .net
>>568
つまりこういうことなの。
URLリンク(uploda.cc)

587:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
>>565と、Scripting.Dictionaryを使った方法(コードは十数行)で
10万行の重複削除の処理時間を比べてみた

>>565         1905.686秒
Scripting.Dictionary    0.178秒

これが、初期状態では入ってないCOMを使った方法と比べて遅いってだけなら
いくら遅くても「新たにCOMをインストールせずに実行できる」って点がメリットになるけど
初期状態で入っていて「新たにCOMをインストールせずに実行できる」Scripting.Dictionaryを
使った方法より遅いのでは、何のメリットも無い

Cとかのまともな言語なら、ライブラリやコンポーネントを使った方法より劣っていても、アルゴリズムの
勉強や研究用として多少は価値あるかもだが、VBSではそういう方向の価値も無いし、完全にゴミ

VBS覚えたてでコード書くのが楽しくて仕方ない時期の初心者さんに言っても無駄かもだが
もう少し適材適所ってものを考えられるようになった方がいいかもな

588:桃白白 ◆9Jro6YFwm650
13/07/06 NY:AN:NY.AN .net
>>570

            ,、-'" ,、-';;;;;;;;;;;;;;;;;;;;;;;`''‐-、       ゙、、
          ,、-' ,、-'";;;;;;;;;ノ;;;;''-、;;;;;;;;;;;;;;;;;;;`''‐-、__ノ;;;\
        / ,、-'"::;;;;;;,、-'";;;;;;;;;;;;;;;`''- 、_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ヽ;;;;\
.        f_/;;;;;;;、-ニ';;;;;;、-‐ ''''""""''''‐-二、''‐-、___,ノ、 \;;;ヽ
.        |;;;;;;;;,、ニ'";;、-'"           `"ニ、;;;;;;;;;;;;;;\/;\;;',
.        |,-,ニ '::/, -─          .,、-─-゙、-'、;;;;;;;;;;;、-、ノ;;;;)!    ええっ!?
.        Y::::::::/


589: .,、 -─- 、      ///:::::::::\ ';;;;;;/;;;;;;;;ヽノ         |::::::;' /://::::::::::ヽ '"""'' .、|:::l /::::::::::::::::ト|;;;;|;;;;;;;O;;;;';ヽ         ヽ:::|. |::l l::::::::::/,,   .,-、.\:::::::::::::::::::ノ |;;;|;;;;;;;;;;;;;;;;';;;|          |::::| ̄ヾ;;;;;;;;;;;;/ /_|   ヽJ  ゙、── '"  |;;;|;;;;;;;;;;;;;/;;;;;フ__         /|::::/.   ,、_,、ヽ,   ___ノ~"ヽ'l    |:;;゙;;;;;0;;;:';;- '-"         | |::;'.    l;;;;;;;;;;;-'""~__,,,`ヽ;;;;;;ノ    |::;;;;;ヾ=;/''"         V:::|      ,、-,'二──---、)      ./:;;;;;;;;;;;;/-────         `|:|!     ,、'ヽ'"   _          _/:;;;;;;;;;;;;/   ____         |:|;',     `"    ::::::       ,、-'"/:;;;;;;;;;/-─ '"         |:|;;\              ,、-'"  /二フ          |:|;;;;;;;`' .、        _,、-‐'"-'",、-'" ̄       .  |:|;;;;;;;;;;;;/ >.、  ,、-‐'",、-‐'" /_,,,、---──-- 、,,__         |:|;;;;;;;;;;/ /  -`'" ,、-'   ./-'"            `"'-、         ||;;;;;;;;;/ .ヽ 、__,、-‐'" ,  _,、-'"



590:桃白白 ◆9Jro6YFwm650
13/07/06 NY:AN:NY.AN .net
標準入力のデータを幅優先でソートしちゃう。
URLリンク(friendpaste.com)

591:桃白白 ◆9Jro6YFwm650
13/07/06 NY:AN:NY.AN .net
>>570
     ____
    / ⌒  ⌒  \
  ./( ―) ( ●)  \
  /::⌒(_人_)⌒:::::  |
  |    ー       .|
  \          /

592:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
悔しいけれど論理的な反論が出来ない時にAA使う癖はまだ直らないんだな

593:デフォルトの名無しさん
13/07/07 NY:AN:NY.AN .net
>>569
丁寧にありがとう!
直接ではなくわざわざインデックスを用いるメリットがわからないや!

594:桃白白 ◆9Jro6YFwm650
13/07/07 NY:AN:NY.AN .net
最初のテキストファイルにない行を出力しちゃう。
URLリンク(friendpaste.com)

595:デフォルトの名無しさん
13/07/08 NY:AN:NY.AN .net
白桃もう夏休みか
先に宿題を片付けた方がいいよ

596:デフォルトの名無しさん
13/07/14 NY:AN:NY.AN .net
WMIってADの鯖側で動かさないと他のクライアントの情報って取って来れないよね?

597:デフォルトの名無しさん
13/07/15 NY:AN:NY.AN .net
権限さえあればそんなことはなかったはず

598:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
;p;

599:デフォルトの名無しさん
13/10/04 01:20:43.19 .net
テキストファイルから最終行を読み出して表示したら文字化けしてやがる
ADODB.Streamなんて使ったことねーよ…
このページの最後のやつと
URLリンク(netlog.jpn.org)
この文字コード変換
URLリンク(blog.goo.ne.jp)
これくっつければできるんだろうけど、もうわかんねぇ…久々にやろうとすると無理だ

600:桃白白 ◆9Jro6YFwm650
13/12/04 19:18:04.29 .net
      /゙ミヽ、,,___,,/゙ヽ
      i ノ   川 `ヽ'
      / ` ・  . ・ i、
     彡,   ミ(_,人_)彡ミ   にゃーん
 ∩,  / ヽ、,      ノ
 丶ニ|    '"''''''''"´ ノ
    ∪⌒∪" ̄ ̄∪

601:桃白白 ◆9Jro6YFwm650
13/12/08 19:45:03.23 .net
CIE2000による色の近似
URLリンク(friendpaste.com)

参考画像
URLリンク(i.imgur.com)

602:デフォルトの名無しさん
13/12/15 04:33:33.24 .net
tes

603:桃白白 ◆9Jro6YFwm650
13/12/22 21:09:18.87 .net
パステルカラーを出力
URLリンク(friendpaste.com)

604:デフォルトの名無しさん
13/12/23 00:18:09.78 .net
相変わらず無駄が多い、、、

605:桃白白 ◆9Jro6YFwm650
13/12/28 12:55:53.24 .net
Friendpaste - CRC32
URLリンク(friendpaste.com)

606:デフォルトの名無しさん
13/12/28 15:44:49.45 .net
どっかから集めたコードを切り貼りして大文字化しただけのものなんて
価値無しなので貼らなくていいよ

607:デフォルトの名無しさん
13/12/28 20:15:22.96 .net
'# Baidu IMEがインストールされているかチェックして、インストールされていれば、アンインストーラーを起動するバッチを作ったよ
'# メモ帳に以下の内容を貼り付けて「baidu_check.vbs」というファイル名で保存。
'# 「baidu_check.vbs」をダブルクリックして【Baidu IME】がインストールされているかチェック

608:デフォルトの名無しさん
13/12/28 20:16:46.43 .net
Option Explicit
'#--------------------------------------
' 管理者になーる
Dim WMI, OS, Value, Shell
do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7
Set WMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set OS = WMI.ExecQuery("SELECT *FROM Win32_OperatingSystem")
For Each Value in OS
if left(Value.Version, 3) < 6.0 then exit do
Next

Set Shell = CreateObject("Shell.Application")
Shell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas"
WScript.Quit
loop
'#--------------------------------------
Dim objShell, ret
Set objShell = CreateObject("Wscript.shell")
Dim winName: winName = "【Baidu IME】インストールチェック"
On Error Resume Next
If IsNull(objShell.RegRead("HKEY_CURRENT_USER\SOFTWARE\Baidu\")) Then
ret = objShell.Popup("このパソコンには【Baidu IME】はインストールされていません。", , winName, vbOKOnly Or vbSystemModal)
Else
On Error GoTo 0
ret = objShell.Popup("このパソコンには【Baidu IME】がインストールされています。" & vbCrLf & _
"【Baidu IME】をアンインストールしますか?" & vbCrLf & _
"(【猫耳】に泣きつかれても断固アンインストール!!)", , winName, vbYesNo Or vbSystemModal)
Select Case ret
case 6 objShell.Exec(objShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Baidu IME\UninstallString"))
case else WScript.Quit
End Select
End If

609:デフォルトの名無しさん
13/12/30 10:44:04.20 .net
>>589
>>590

Baidu IMEが「入力情報送信しない」でもサーバーに情報を集めていた件の対応か。
すばらしい。
あれって、アン・インストールが普通の手順ではできないって聞いたが。

610:デフォルトの名無しさん
13/12/30 12:32:45.86 .net
>>591
URLリンク(blog.livedoor.jp)

611:桃白白 ◆9Jro6YFwm650
13/12/30 19:16:53.07 .net
  ∠Y"´゙フ
  ;' ゝ‘,,ェ) あけおめー
 ; '(,,゚∀゚)
 ゙;(ノ   ';)
 ヾ,;'   ';
  ''∪''∪

612:デフォルトの名無しさん
14/02/03 17:06:44.36 .net
このスレも桃白白の遊び場みたいだから有効利用しようね

613:デフォルトの名無しさん
14/02/07 16:22:51.04 .net
このスレも桃白白の遊び場みたいだから有効利用しようね

614:デフォルトの名無しさん
14/02/08 19:19:41.23 .net
このスレも桃白白の遊び場みたいだから有効利用しようね

615:デフォルトの名無しさん
14/02/09 02:22:56.15 .net
でも桃白白は有効なコード書けないけどね

オナニーで自分ではスゴいつもりらしいコードは何度も晒してるけど
バグだらけか、皆当たり前に使ってる手法かのどちらかで
有効利用できるようなものを書いた試しがない

まあ超初心者の質問に対しては、有効な回答をしたこともあったけど
ちょっと質問のレベルが上がると、まったく答えられないし

616:デフォルトの名無しさん
14/03/08 17:13:17.17 .net
どんだけ桃白白に劣等感感じてんだよwさらしあげw

617:デフォルトの名無しさん
14/03/08 17:23:56.33 .net
NAOの気まぐれ独り言:他人を下げる
URLリンク(adviser70.ti-da.net)

世の中には、自分の自信やプライド、存在価値や存在意義を保つために“他人を下げる”ことをする人がいます。
(他人を下げるとは、他人をバカにしたり、見下したり、軽視することです。)
コレが良い悪いという話は置いといて、この“他人を下げる”行為について今日は考えてみました。
僕は“他人を下げる”ことは、人間の“自己防衛本能”の一種だと思っています。
人間はとても繊細な生き物ですからね。
特に、自信やプライドは傷つきやすく壊れやすいものですから、皆、それを必死に守ろうとします。
(ただし、本物の自信やプライドは簡単には傷つきませんし、壊れません。)
また、存在価値や存在意義は人によって違い、何が正解という明確な“答え”がなく、自分を保つのには自分自身の強い意志や独自の価値観が必要となります。
でも、強い意志や独自の価値観なんて、そう簡単に得れるものではありません。
だから、“他人を下げる”んです。
だから、自分が傷つかないように、また自分を保つために“他人を下げる”んですよ。

618:デフォルトの名無しさん
14/03/08 17:28:12.18 .net
Twitter / jack69xz: 他人を下げることしか自分を上げれないならもう同列以下でいいじ ...
URLリンク(twitter.com)

他人を下げることしか自分を上げれないならもう同列以下でいいじゃん~つまんねえ奴だな~

619:デフォルトの名無しさん
14/03/08 17:31:52.18 .net
否定しない生き方 - 院長ブログ「幸せってなぁに?」
URLリンク(blog.goo.ne.jp)

人と比べる生き方をすれば、自分が上がるか、相手が下がるかのどちらかになります。

自分が上がるのは大変ですが、他人を下げる事は簡単です。

こういう心理が働いて、無意識で相手の足を引っ張ったり、相手を否定する発言をしてしまうのではないでしょうか?

長い時間かけて身についた悪い癖は、同じぐらいそれを取り除くのに時間がかかります。

620:デフォルトの名無しさん
14/06/14 10:19:12.75 3GqQ9q9L.net
>>602
> 拾いモノ。通常はSendToフォルダ経由またはD&Dでファイルを指定する

しばらく、VBSコードから遠ざかっていたけど、

これって、単に、SendToやDDで指定したファイルの.GetAbsolutePathName()
をクリップボードに格納するだけ???

単にそれだけ???
それだけで、こんなに長く直感的でないコードとなるのが VBS なのか?

621:デフォルトの名無しさん
14/06/14 11:23:29.55 0SKI+ryl.net
もともとVBSにはクリップボード操作機能は無いからね

たかが
> それだけで、こんなに長く直感的でないコードとなるのが VBS
なのではなく、
どんな言語でもサポートされていないことをなんとかして実現しようとすれば
直感的とは言えないコードになるのは仕方のないこと

逆に言えば、コードが長く複雑になることを許容すれば
サポート外の機能さえ実現方法があるのがVBS

まぁ、直感的に使える機能だけを使ったコードしか書いたことの無い人には
理解できない世界かも知れないが

622:デフォルトの名無しさん
14/06/14 13:36:12.22 1ymPxb6J.net
うろ覚えだが>>602は昔のWindows95やWindowsNT4.0でも正常に動く命令しか使われてなかった気がする
(少なくとも俺のWindows7+IE11では正常に動いたし、//uオプション付で起動すればUnicodeファイル名も問題なく扱える)
それ以外の方法(例えば URLリンク(www.vector.co.jp) のようなフリーソフト)で
同じ事をやろうとすると、どうしてもOS毎の互換性をもっと気にする必要があるから心情的に手を出しづらいかも知れない

623:Westrip ◆cFyu7DKD9w
14/11/25 15:39:40.09 +Ehd3ZDh.net
「コンピュータ連続運用時間計測」
(常駐型ではない。ローカルグループポリシーエディターおよびイベントビューアを使えるPC環境でないと無意味)
以下のテキストファイルを適当な名前で保存し、拡張子を.txt→.vbsに変えると使える
使い方や注意点などはテキスト内に書いてあるので、必ず読む事
URLリンク(alp.jpn.org) (このアップローダは1年4~5ヶ月くらい持つようだ)

624:デフォルトの名無しさん
14/12/19 12:40:35.66 dKKXcASW.net
Explzh(フリーのアーカイバ)とExplzh用FTPクライアントアドオンの両方をインストール済の環境において
FTP接続ダイアログ表示を自動化するスクリプト
元々どっかのブログで拾ったものに手を加えて、Explzhのインストール先をレジストリから取得する方式に変えた
そのためインストール先に関係なく、そのまま使える

Dim WS,strPath,strExe
Set WS=WScript.CreateObject("WScript.Shell")
strPath = WS.RegRead("HKEY_CURRENT_USER\Software\Pon\Explzh\Folders\ExplzhDir")
strExe = "EXPLZH.EXE"
WS.Run Chr(34) & strPath & strExe & Chr(34)
WScript.Sleep 500
WS.AppActivate strExe
WScript.Sleep 500
WS.SendKeys "^l"
Set WS=Nothing
WScript.Quit()

625:デフォルトの名無しさん
14/12/19 23:20:35.24 adO/IJZB.net
妹に入れますねん

626:デフォルトの名無しさん
14/12/20 09:05:52.58 m+ssCFWe.net
>>607
このスレに来てまでExplzhの作者をからかうとは何て奴だ

627:デフォルトの名無しさん
14/12/25 03:24:30.28 lscuhgwk.net
' 0.1秒単位で好きな時間ウェイトをかけるスクリプト
Option Explicit
Dim WshShell, lngSec, corAg
Set WshShell = CreateObject("WScript.Shell")
Set corAg = WScript.Arguments
'
lngSec = 10 ' 引数省略時は待ち時間を1秒(=10×100ミリ秒)とする
If corAg.Count > 0 Then lngSec = corAg(0)
lngSec = CLng(Trim(lngSec)) * 100
WScript.Sleep lngSec
'
Set WshShell = Nothing
Set corAg = Nothing
WScript.Quit()

628:デフォルトの名無しさん
15/01/04 10:55:13.06 wMzfWTLi.net
何処が便利なの?

629:デフォルトの名無しさん
15/01/04 15:44:01.03 k/mKj4Vo.net
DOSコマンドで実行できるんでしょ
普通は1秒単位でしかできないから

630:デフォルトの名無しさん
15/01/05 10:54:40.07 Ez8c83Yt.net
sleep.exeは同名フリーソフトまたは別売りリソースキット内の物を使うしかない
timeoutコマンドはVista以降のWindowsにしか搭載されてない上に、1秒単位でしか待ち時間を指定できない
>609なら古いWindows95などでも(WSHがあればの話だが)そのまま実行できたはず

631:デフォルトの名無しさん
15/01/06 00:12:40.29 kEk+oN5g.net
まんどくさいなぁ・・・オレならこうする
echo wscript.sleep 3000 >temp.vbs & cscript temp.vbs

あと、1秒単位のラフなsleepなら、pingを流用するのが定石じゃなかろうか

632:デフォルトの名無しさん
15/01/19 22:34:01.04 XQ8dBSiC.net
ブロックスコープをやりたいのだが
Rem Blockscope.vbs
Option Explicit
Sample
Function Sample()
Dim I
I = 10
I = Used
Msgbox Typename(I) 'Variant()
Rem I = 20 'Error at Erase I
Rem Set I = Nothing 'Error at Erase I
Erase I
End Function
Function Used()
Dim J()
Used = J
End Function

人力でErase I てのがバカっぽい
なんとかなりませんか

633:マッハ五等
15/02/26 00:43:19.72 DaJNGHwl.net
【カワイイ】海外メディアが報じた美人過ぎる議員候補者 美しい国ニッポン!なぜこんなに議員候補者が可愛いのか?と話題に【KWAII】

URLリンク(www.youtube.com)

634:デフォルトの名無しさん
15/04/16 07:32:59.78 UIJv8RFa.net
june styleの広告解除するバッチ書いて

635:ピラフ
15/04/25 17:57:16.27 KZvIujNC.net
>>614
ローカル変数宣言したら負けただと思うよ
Option Explicit
Sample ""
Function Sample(I)
 I = Used
 Msgbox Typename(I)
End Function
Function Used()
 Used = Array()
End Function

636:デフォルトの名無しさん
15/05/14 08:23:07.90 TbUpA8Wq.net
システムの起動が、通常起動なのか、再起動なのかの識別する方法を考えています。
今のところ、ログオフからログオンまでの時間の違いにより識別する方法しか発想できませんです。
しかしこの方法は、100%確実でないので、他の方法があればヒントをお願いします。

637:デフォルトの名無しさん
15/05/17 23:40:50.31 wdkXHT83.net
つまり、電源を切ったか、切らなかったか、ってことかな

638:デフォルトの名無しさん
15/05/18 08:04:34.63 O0NInJV+.net
>>619
PCの主電源は、再起動の時、切るタイプと切らないタイプがあるようです。
なので、その判別方法は、使えないと思います。
ところで、主電源のON-OFF判別はどのような方法でしょうか?

639:デフォルトの名無しさん
15/05/18 12:27:22.13 kkG7b6r2.net
>>618
シャットダウンイベントの追跡ツールを有効にして、イベントログを確認

640:デフォルトの名無しさん
15/07/25 19:16:04.23 Q3QGe3XY.net
>>616
下のMsgBoxを広告の上においてみなよ
文字を増やすと、ウインドウが大きくなって、効果てきめん
MsgBox "広告バスター 広告バスター 広告バスター"

641:群馬大学病院腹腔鏡手術後8人死亡事故
15/07/28 00:25:13.74 AlkUvM7FE
/

【速報】「生きるのに向いていないから」健康な24歳女性の安楽死が認められる!!


URLリンク(news.biglobe.ne.jp)

642:ピラフ
16/03/05 22:58:28.36 reoACJ/5.net
できた!
システムカラーを出力
URLリンク(friendpaste.com)
URLリンク(www.fastpic.jp)

643:デフォルトの名無しさん
16/03/29 08:45:45.83 /c8bAcK4.net
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
URLリンク(www.youtube.com)宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート

644:ピラフ
16/06/09 22:54:40.95 pXMVc1f3.net
なんか作りたい!でも思いつかない!!

645:デフォルトの名無しさん
16/06/10 14:24:55.00 YAUUTr4W.net
赤ちゃん!

646:デフォルトの名無しさん
16/06/10 17:45:55.05 E7QyX/xf.net
尻取り

647:デフォルトの名無しさん
17/07/23 14:14:08.03 7erAQfie.net
'// テキストファイル名の配列を受け取って、結合した内容をクリップボードにコピーするスクリプト

Option Explicit
Dim txtArry
With CreateObject("Excel.Application")
  .DefaultFilePath = "C:\"
  txtArry = .GetOpenFilename("テキストファイル,*.txt;*.csv",,,,True)
  If IsArray(txtArry) Then
    If Ubound(txtArry) > 0 Then Call TextCopy(txtArry)
    .Quit
  Else
    WScript.Echo "キャンセルされました。"
    .Quit
  End If
End With

Sub TextCopy(txtArry)
  Dim i
  Dim txtStr
  With CreateObject("Scripting.FileSystemObject")
    For i = 1 To UBound(txtArry)
      With .OpenTextFile(txtArry(i))
        txtStr = txtStr & .ReadAll & vbCrLf
        .Close
      End With
    Next
  End With
  CreateObject("WScript.Shell").Exec("clip").StdIn.Write(txtStr)
  WScript.Echo "クリップボードにコピーしました。"
End Sub

648:デフォルトの名無しさん
17/07/23 21:44:37.72 7erAQfie.net
'// .vbsファイルのアイコンにドラッグした複数ファイルのフルパスリストをクリップボードにコピーするスクリプト

Option Explicit
Dim i
Dim fileNames
With WScript
  For i = 0 to .Arguments.Count - 2
     fileNames = fileNames & .Arguments(i) & vbcrlf
  next
  fileNames = fileNames & .Arguments(i)
  CreateObject("WScript.Shell").Exec("clip").StdIn.Write(fileNames)
  .Echo "ファイルリストをコピーしました。"
End With

649:デフォルトの名無しさん
18/05/23 22:04:08.08 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
XDVRR

650:デフォルトの名無しさん
18/07/04 23:59:09.15 gFgZc5FG.net
TO3

651:デフォルトの名無しさん
18/08/21 12:58:35.50 2l7tVH8h.net
ショートカットを『スタートにピン留め』
フォルダを『クイック アクセスにピン留め』
Windows10なのでよろしく。

652:ピラフ
18/09/02 15:58:55.25 uO0ayeCX.net
>>633
任せて
URLリンク(gist.github.com)

653:ピラフ
18/09/02 16:00:04.92 uO0ayeCX.net
ピラフの環境だと
Verb.DoItを2回呼ばないと反映されなかったんだよね
なんなんだろこれ

654:デフォルトの名無しさん
18/09/05 20:51:41.21 223DM7Lb.net
>>635
どうせどっかのコピペだろ。
お前のコードはいちいちスタイルが違い過ぎる。
氏ね。

655:ピラフ
18/09/05 22:59:35.09 BuNkH2Jq.net
>>636
形に拘ってるようじゃピラフには一生勝てないよ

656:ピラフ
18/09/05 23:11:54.62 BuNkH2Jq.net
見せてやるよ、形式に囚われないピラフの究極奥義
SUB SWAP(A, B, C)
 C = A
 A = B
 B = C
END SUB
SUB SORT(A, I, J)
 FOR I = 1 TO UBOUND(A)
  FOR J = 1 TO UBOUND(A)
   IF A(J - 1) > A(J) THEN SWAP A(J - 1), A(J), EMPTY
  NEXT
 NEXT
END SUB
SUB MAIN(A)
 A = ARRAY(5,4,3,2,1)
 SORT A, EMPTY, EMPTY
 WSCRIPT.STDOUT.WRITELINE JOIN(A, ",")
END SUB
MAIN EMPTY


657:ピラフ
18/09/05 23:14:07.11 BuNkH2Jq.net
ローカル変数を最小にすることによってバグを最小化できる
これこそがVBScriptプログラミングの真髄

658:デフォルトの名無しさん
18/09/06 07:24:37.16 ezd+bzmC.net
こいつまだいたのかよ
一生ソートやってそうwwww

659:ピラフ
18/09/06 07:32:32.39 ndioKak8.net
>>640
奥義についての感想をいただけたら

660:デフォルトの名無しさん
18/09/06 07:36:00.23 ezd+bzmC.net
競技プログラミングですでにやってるわ
そんなのアスぺ自慢にもならない

661:ピラフ
18/09/06 07:43:37.26 ndioKak8.net
ちょっと何言ってんのかよくわからない

662:デフォルトの名無しさん
18/09/06 17:19:09.87 ezd+bzmC.net
そりゃお前だからだろ
スレの趣旨も理解できてなさそうだし
そろそろ出てきても大丈夫とか思っちゃったんだろうか

663:ピラフ
18/09/06 22:09:39.70 VSCSfufl.net
クソレスすんなゴミ

664:デフォルトの名無しさん
18/09/06 23:45:24.23 ezd+bzmC.net
お前が来なければ何の問題もないんだよ
バブルソートも満足に組めないゴミのくせにww

665:デフォルトの名無しさん
18/09/07 01:27:31.43 mHXQx/fB.net
>>7-8
うまく動かないのは、
> PASS_WRD = PASS_WRD + "2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 "

> MOJISYU_C = MsgBox("記号を使いますか?",vbYesNo)
の間に
End If
が抜けているからだ。
11年半待たせたな。

666:ピラフ
18/09/10 22:04:51.82 EFF3DhTd.net
>>646
>>638で完全な実装を我は示した、それでも満足できぬと申すか?
どうなんだ? おん?

667:デフォルトの名無しさん
18/09/10 22:10:48.32 ioZkQTlp.net
>>648
スレ違いだバカ

668:ピラフ
18/09/10 22:16:42.81 EFF3DhTd.net
>>649
うるせーバカ

669:ピラフ
18/09/10 22:17:47.07 EFF3DhTd.net
ピラフのバブルソートに満足できないなら何が不満かを言いなさいよ

670:デフォルトの名無しさん
18/09/10 22:21:13.47 ioZkQTlp.net
こいつバカだから聞き出そうとしてんだろ
テメーの教育スレじゃねえよ

671:ピラフ
18/09/10 22:29:04.16 EFF3DhTd.net
>>652
バブルソートも満足に組めないと言ったから
どこが不満なのかお聞きしたのに答えられないって
なんなのそれ、パーフェクトバブルソートってことでいいね?

672:ピラフ
18/09/10 22:31:31.94 EFF3DhTd.net
言っとくけどピラフの奥義はバブルソートだけじゃないから
君たちがのんべんだらりと怠惰な生活を送ってる間に
ピラフは厳しい修行を積んで圧倒的成長を遂げたから

673:デフォルトの名無しさん
18/09/10 22:33:49.16 ioZkQTlp.net
>>653-654
だからスレ違いだって言ってんだよバカ

674:ピラフ
18/09/10 22:35:08.44 EFF3DhTd.net
>>655
だからうるせーバカ

675:デフォルトの名無しさん
18/09/10 22:40:37.66 ioZkQTlp.net
>>656
てめーに来る権利なんかないんだよ
スレ違いだって言ってんだバカ

676:ピラフ
18/09/10 22:41:27.56 EFF3DhTd.net
>>657
静かにしろよ、子どもが起きるでしょうが!!

677:ピラフ
18/09/10 22:41:50.85 EFF3DhTd.net
子どものことを考えて欲しい

678:デフォルトの名無しさん
18/09/10 22:46:49.70 ioZkQTlp.net
>>658-659
微妙に方向を変えてレスされないよう工夫してるつもりのバカ

679:ピラフ
18/09/10 22:48:21.82 EFF3DhTd.net
>>660
子どもには寝る権利がある、君は優しい人だから子どもには手を出せない
君の負けだよ、子どもがどうなっても良いのか!

680:ピラフ
18/09/10 22:49:32.47 EFF3DhTd.net
ところでさ黄金のハンマーがあったら何でもかんでも叩きたくなるっていう
プログラミング業界で広く知られた寓話があるけれども
ピラフは厳しい修行を積んで習得した奥義を披露したくて仕方がないよ
実験台になってくれる?

681:デフォルトの名無しさん
18/09/10 22:50:39.35 ioZkQTlp.net
昔から嫌われてるようだけどこの態度を見れば当然だよな

682:ピラフ
18/09/10 22:55:31.48 EFF3DhTd.net
>>663
でも君はボッチじゃん
ピラフもボッチじゃん
これからもボッチコンビとしてやっていこうよ
君はピラフのこと嫌いじゃないでしょ? それで十分だよ

683:デフォルトの名無しさん
18/09/10 22:57:11.75 ioZkQTlp.net
>>664
てめーの雑談スレじゃねえんだよ

684:ピラフ
18/09/10 22:59:33.34 EFF3DhTd.net
>>665
いいじゃん、どうせ誰も書き込まないし
スレが埋まったらまたスレ建てればいいし
何を気にすることがあろうか
いまどきVBScriptの話する人なんて
ピラフと変態の君くらいだよ

685:デフォルトの名無しさん
18/09/10 23:01:24.61 ioZkQTlp.net
まあどうせ自分のレスを最後にして終わりにしたいだけだろ
こいつバカだから

686:ピラフ
18/09/10 23:01:29.79 EFF3DhTd.net
ちなみにピラフの奥義は配列に関するものです
Array(Array(Array("a"), "b"), "c")
こういう入れ子になった配列を
Array("a", "b", "c")
というように平坦化します
名付けてフラッテンです

687:ピラフ
18/09/10 23:02:34.99 EFF3DhTd.net
>>667
あまり変な綾つけてるとフラッテンを発動せざるを得ないが?

688:デフォルトの名無しさん
18/09/10 23:03:11.10 ioZkQTlp.net
悔しさに耐えきれず出てきてしまったバカ>>648

689:ピラフ
18/09/10 23:04:13.53 EFF3DhTd.net
>>670
クソレスすんなクズ

690:ピラフ
18/09/10 23:04:30.71 EFF3DhTd.net
はい勝利

691:デフォルトの名無しさん
18/09/10 23:05:44.11 ioZkQTlp.net
嫌がらせをするために生まれてきたとしか思えないようなクズだよな

692:デフォルトの名無しさん
18/09/10 23:09:43.33 ioZkQTlp.net
>>634-635
汚名返上大失敗

693:ピラフ
18/09/11 22:25:27.29 sKts/OLx.net
>>673
秘奥義フラッテンを伝授してやっても良いけど?

694:ピラフ
18/09/11 22:25:46.20 sKts/OLx.net
教えようか? しょうがないなあもう!

695:ピラフ
18/09/11 22:29:50.82 sKts/OLx.net
フラッテンというのはArray(Array("a"))このように
入れ子になった配列をArray("a")このように平坦化するメソッドです
VBScriptは配列を中心にプログラムを組み立てる
Array Orietedな言語と言っても過言ではありません
それくらいVBScriptにとって配列は重要なデータ構造であり
いかに配列とうまく付き合うかがプログラムの出来を大きく左右します
フラッテンを知ることでVBScriptで信頼性の高いプログラムを
作ることができるようになります

696:ピラフ
18/09/11 22:33:42.97 sKts/OLx.net
まず、フラッテンによってどのようにデータが変換されるのかを学びましょう
Array("a") => Array("a")
もともと平坦な配列はそのままです
Array(Array("a")) => Array("a")
入れ子になった配列は平坦化されます
Array(Array(Array("a"))) => Array("a")
入れ子が入れ子になっていても平坦化されます
Array("a", Array("b", Array("c"))) => Array("a", "b", "c")
値と配列が混在して格納されていても平坦化されます
どうです? フラッテンの威力はすごいでしょう?

697:さまよえる蟻人間
18/09/11 22:52:10.95 qY


698:6EWQ/c.net



699:ピラフ
18/09/11 23:13:01.51 sKts/OLx.net
>>679
フランケンは人造人間を作った博士のこと
フラッテンはピラフが厳しい修行の末に身に着けた奥義
フリテンはちんちん丸出しのこと

700:ピラフ
18/09/11 23:14:54.59 sKts/OLx.net
おちんちん

701:デフォルトの名無しさん
18/09/11 23:40:56.45 hTiklz9U.net
すごいでしょ?と言われたってなぁ…
明日検証してみるけど、もし正しいとして、これが役に立つ場面より役に立たない場面の方が多い。
配列が重要なデータ構造?
馬鹿じゃないのか?
配列はどうしようもなく仕方なく使うという以外に使ってはいけない過去のもの。

702:デフォルトの名無しさん
18/09/12 17:20:41.01 7YUXioF8.net
相変わらずスレの私物化が甚だしいな
伝授とかいってるけど覚えたことを逐一報告したいだけだろwww

703:デフォルトの名無しさん
18/09/12 17:22:01.32 lDPRUKn6.net
それは新興宗教か何かですか

704:さまよえる蟻人間
18/09/12 21:47:14.91 /dqYRCG2.net
フリテンはマージャン用語だよ。

705:デフォルトの名無しさん
18/09/12 21:51:36.87 sZhJcjcO.net
>>682
配列を使わないってよりは
配列みたいなプリミティブはラップして使う

706:ピラフ
18/09/12 22:28:29.59 +TYzcb05.net
>>685
アリさんはホント物知りですね

707:ピラフ
18/09/12 22:29:24.88 +TYzcb05.net
>>683
じゃー君はピラフから教わらずに実装できるのかい?
できないだろう、自信がないだろう、じゃー素直に教わったら良いよ

708:ピラフ
18/09/12 22:29:42.76 +TYzcb05.net
>>682
おいフラッテン、実装はまだか?

709:ピラフ
18/09/12 22:30:49.46 +TYzcb05.net
ピラフが上流工程担当で仕様と設計を担当します
>>682は詳細設計から先をお願いします

710:デフォルトの名無しさん
18/09/12 22:44:30.25 7YUXioF8.net
>>688
連投するほど動揺するくらいなら大人しく引っ込んでろよw

711:ピラフ
18/09/12 22:50:23.36 +TYzcb05.net
>>691
クソリプすんなゴミ

712:デフォルトの名無しさん
18/09/12 22:55:30.55 7YUXioF8.net
>>692
荒らしてんじゃねえよ
ゴミはゴミ箱に入ってろ
スレリンク(tech板)

713:ピラフ
18/09/13 22:21:35.80 DSrr8M1w.net
はいみなさんこんばんわ
フラッテンプロジェクトの進捗報告会を始めます

714:ピラフ
18/09/13 22:23:30.41 DSrr8M1w.net
仕様と設計は先日終わりました
詳細設計と実装はいま何%くらいでしょうか?
>>693ご担当の方からご説明頂いてもよろしいでしょうか?

715:ピラフ
18/09/13 23:12:27.84 DSrr8M1w.net
うー

716:デフォルトの名無しさん
18/09/13 23:59:12.24 fcaQm85V.net
ほんとしつこいよな、このガイジは
施設に帰れよ
スレリンク(tech板)

717:デフォルトの名無しさん
18/09/14 00:46:53.14 XI/3JNqP.net
       ::                .|ミ|
       ::                .|ミ|
        ::               .|ミ|           ::::::::
         :::::     ____ |ミ|          ::::
           :: ,. -'"´      `¨ー 、       ::
   ::        /   ,,.-'"      ヽ  ヽ、    ::
   ::     ,,.-'"_  r‐'"     ,,.-'"`     ヽ、 ::
   ::   /    ヾ (    _,,.-='==-、ヽ         ヽ、
   ::   i へ___ ヽゝ=-'"/    _,,>         ヽ 
   ::   ./ /  > ='''"  ̄ ̄ ̄               ヽ 
  ::   / .<_ ノ''"       ヽ               i
  ::   /    i   人_   ノ              .l
  ::  ,'     ' ,_,,ノエエエェェ了               /
    i       じエ='='='" ',              / ::
    ',       (___,,..----U             / ::
     ヽ、         __,,.. --------------i-'"  ::
      ヽ、_


718:   __ -_'"--''"ニニニニニニニニヽ   ::          `¨i三彡--''"´              ヽ  ::             /                      ヽ ::              ┼ヽ  -|r‐、. レ |          /                     ヽ::            d⌒) ./| _ノ  __ノ



719:ピラフ
18/09/14 06:33:19.85 8u/1qVBS.net
クソレス君さえいなければ

720:デフォルトの名無しさん
18/09/14 07:48:23.54 zTYotrd2.net
都合の悪い事には一切触れないのはいつものこととしても、
自分の立てた糞スレはもう無かったことになってんのかよww
これもしかしてVBSに限定しないでなるべく人を集めたかったのかな?
実質誰にも相手にされてないからってこっちくんなよガイジ
スレリンク(tech板)

721:ピラフ
18/09/14 22:11:43.07 HVqp1HzB.net
クソレスすんなバーカ

722:デフォルトの名無しさん
18/09/14 23:47:35.98 zTYotrd2.net
手抜きレスでだいぶ面倒くさそうだけどだったら引っ込んでろよガイジ
この糞スレ見れば分かるようにお前なんか誰からも必要とされていない
スレリンク(tech板)


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