VBSで便利なプログラムを作れスレ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
素人丸出しお粗末で遅くてもいいので
いますぐ使えるちょっぴり便利プログラムを作れ

(例○○を自動処理してくれるプログラム)
2デフォルトの名無しさん:2007/02/03(土) 17:52:27
ずるしてらくしてかれいに2げっとかしらかしら〜
3Windows厨&rlo;wwwね死はCAM。すでXUNILチンアやや:2007/02/03(土) 17:54:41
2ch自動書き込みスクリプト・・・    はVBSなんかじゃなくちゃんとしたプログラムが既にあちこちに存在するか
4デフォルトの名無しさん:2007/02/03(土) 18:14:33
>>1が後から何食わぬ顔で制作依頼する糞スレか
5デフォルトの名無しさん:2007/02/03(土) 22:14:50
TechNetのHey, Scripting Guy!でも読むとか
6デフォルトの名無しさん:2007/02/04(日) 04:38:30
>>3
自動書きこみをする機能がそもそもまともじゃない
7デフォルトの名無しさん:2007/02/08(木) 22:08:15
日経ソフトウェアだったかに乗ってたのですが 動きません 助けて

KETA = inputbox("何文字のパスワードを作りますか?","パスワードを生成","8")

If KETA < 1 Then
MsgBox "文字数は0以上でなくてはなりません"
End If

PASS_WRD = "A B C D E F G H J K L M N P Q R S T U V W X Y Z "
MOJISYU_A = MsgBox("アルファベットの小文字を使いますか?",vbYesNo)

If MOJISYU_A = vbYes Then
PASS_WRD = PASS_WRD + "a b c d e f g h i j k m n p q r s t u v w x y z "
End If

MOJISYU_B = MsgBox("数字を使いますか?",vbYesNo)
If MOJISYU_B = vbYes Then
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)
If MOJISYU_C = vbYes Then
'記号
PASS_WRD = PASS_WRD + "! # $ % & ? - _ ~ @"
End If

'指定された条件で配列を作成
PASS_STR = Split(PASS_WRD)
MAX = Ubound(pass_str)
87:2007/02/08(木) 22:08:56
続き
'指定された桁数のパスワードを作成
For i=0 To KETA - 1
Randomize
X = abs(Int((0 - MAX) * Rnd))
PASS = PASS + PASS_STR(X)
Next
InputBox "パスワードが完成しました","生成完了!",PASS
9デフォルトの名無しさん:2007/02/09(金) 01:15:14
>7
どう動かないんだ。
エラーメッセージが出るならエラーメッセージを貼れ。
10デフォルトの名無しさん:2007/02/09(金) 01:18:01
BASICって何でここまで読む気が起こらないんだろう
11デフォルトの名無しさん:2007/02/09(金) 01:22:38
>>10
構文が冗長だから
12デフォルトの名無しさん:2007/02/09(金) 02:01:47
まぁ、COBOLの冗長さには勝てないがな
'VB
For I = 1 To 10
Next

*COBOL
PERFORM VARYING I FROM 1 BY 1 UNTIL I <= 10
END-PERFORM
13デフォルトの名無しさん:2007/02/09(金) 10:20:33
>12
間違えてる。UNTILならI>10だ
14デフォルトの名無しさん:2007/04/29(日) 02:58:52
>>10
字下げが取れちゃってるのも一因ではないだろうか、この場合。
15wol.wsf:2007/06/03(日) 10:59:59
<job>
<script language="vbscript" src="./computer.class"/>
<script language="vbscript">
Option Explicit

Const COMPUTERS = 3
Const DEFAULT_WAKEUP = 2
Dim objComputers()
ReDim objComputers(COMPUTERS)
Dim intNum, i, strHostnames

For i = 0 To COMPUTERS
  Set objComputers(i) = New Computer
Next
objComputers(0).setComputer "xxxxxxxxxxxx", "chitose"
objComputers(1).setComputer "yyyyyyyyyyyy", "tomoyo"
objComputers(2).setComputer "zzzzzzzzzzzz", "ayanami"
objComputers(3).setComputer "wwwwwwwwwwww", "maya"

For i = 0 To COMPUTERS
  strHostnames = strHostnames & i & ":" & vbTab & objComputers(i).GetHostname & vbCrLf
Next

intNum = InputBox(strHostnames, "WakeOnLan", DEFAULT_WAKEUP)
objComputers(intNum).Wakeup

For i = 0 To COMPUTERS
  Set objComputers(i) = Nothing
Next
</script>
</job>
16computer.class:2007/06/03(日) 11:03:50
Option Explicit

Class Computer
  Private pHostname
  Private pMACAddr

  Public Sub setComputer(strMACAddr, strHostname)
    pMACAddr = strMACAddr
    pHostname = strHostname
  End Sub

  Public Sub WakeUp
    Dim WSHShell
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.Run "wol.exe " & pMACAddr
  End Sub

  Public Function GetHostname()
    GetHostname = pHostname
  End Function
End Class

これを同じフォルダに入れておく→ttp://www.gammadyne.com/cmdline.htm#wol
vbsもWOLもやってみると意外とできるもんだ。
17デフォルトの名無しさん:2007/06/04(月) 23:41:38
VBSでダイアログを表示させることってできないものかな?
構造体は使えないはいろいろと細かいところで制約が多い。。
18デフォルトの名無しさん:2007/06/27(水) 11:51:05
VBSについての質問です

WINDOWSからSolarisにFTP接続してファイルを取得するVBスクリプト。
・ /export/home/backup/mysql/の下にあるファイルを取得
・ /export/home/backup/www/の下にあるファイルを取得
・取得したいファイル名をリスト化、そのリストを読み込んで、
1つのファイルをGET.→FTP切断→FTP接続→ファイルGET→FTP切断の繰り返し
・取得したファイルはSolarisから削除
・日付を管理。最新のを5つだけ残す。一番ファイルを削除

こういったVBSはどうつくればいいんでしょうか?
19デフォルトの名無しさん:2007/06/27(水) 23:06:22
>>18
ここれは便利なスクリプトを作ってくれとお願いするスレじゃなくて、
自発的に自分が書いた物を晒すスレのような気がするんだが。

漏れの場合は、取得したいファイル名を変数にしてして、毎回
FTPスクリプトを生成して実行する方法にしてる。

ちなみにアカウント情報はcsvにしてるが平文で書いてるので
取り扱いに注意してる。PASVが使いたい場合はGNU版を
使う事。

どっちかっつーとWSHスレ向きジャネ?そのまま質問しても罵倒
されるだけだと思うけど。


20デフォルトの名無しさん:2007/06/28(木) 09:04:40
漏れの場合は、取得したいファイル名を変数にしてして、毎回
FTPスクリプトを生成して実行する方法にしてる。
上司にも同じこと言われましたね、。
なんとなくイメージできても、いざ作るとなると難しくて…
どう作ったらいいのかわからないですね。
21デフォルトの名無しさん:2007/06/28(木) 09:43:15
>>20
じゃーまず、ここに取得したいファイル名が固定のFTPスクリプトを
生成するVBSを書いてみてよ。
22デフォルトの名無しさん:2007/06/28(木) 10:19:50
open itsol01
i1125
i1125

get /export/home/backup/mysql/mysql_&YYYYMMDD&.tar.gz
loop
quit

と書いたテキストファイルをコマンドプロンプトで実行したら、指定したファイルは取得できました。
23デフォルトの名無しさん:2007/06/28(木) 21:12:15
>>22
日本語不自由な人?
24デフォルトの名無しさん:2007/06/29(金) 01:24:58
何この糞スレ・・・
低脳にスレ立てさせんなよ・・・
25VBSって面白いのか?:2007/07/22(日) 23:29:16
みんな高度なプログラムかくね
このくらいでいいんじゃね?
’びびらせるログオンメッセージ書き込むプログラム?
msgb = InputBox("ビビらせるログオンメッセージ指定")
If msg <> "" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
Call WshShell.RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeCaption", "ここにメッセージでも", "REG_SZ")
Call WshShell.RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeText", msgb, "REG_SZ")
WshShell.Popup("終了")
Else
MsgBox("書き込みキャンセルしました")
End If
26VBSって面白いのか?:2007/07/22(日) 23:32:39
訂正 ×ここにメッセージでも ○メッセージ
まあなんでもいいんだが・・。
27VBSって面白いのか?:2007/07/22(日) 23:36:33
これ便利じゃねえなそれに遊び心だな。
誰かウイルススレでもしよう・・・・。
28デフォルトの名無しさん:2007/07/29(日) 00:14:47
質問なんだけど
s = 1

test = Array("test")
Set xmlHttp = WScript.CreateObject("Msxml2.SSLHTTPS.3.0")

For i = 0 To s
xmlHttp.open "POST", "test", False
xmlhttp.setRequestHeader "Referer", "test"
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send "test="+test(i)+""
Next

で、https://には対応できない
Set xmlHttp = WScript.CreateObject("Msxml2.SSLHTTPS.3.0")
を書き換えればいいのかな?解る方書き換え方おせーてください

For i = 0 To s
xmlHttp.open "POST", "https://www.livly.com/reg/rekeep.php?", False
xmlhttp.setRequestHeader "Referer", "https://www.livly.com/reg/rekeep.php?"
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send "kid="+kid(i)+"&+pname="+pnames(i)+"&iname="+iname(i)+"&nname="+nname(i)+"&pprofile="+pprofile(i)+"&iprofile="+iprofile(i)+"&entry="+entry(i)+""
Next
29名無し:2007/08/08(水) 20:23:43
無理でもない
30デフォルトの名無しさん:2007/08/11(土) 17:05:13
CreatoShortcutで
NumLock状態の1をショートカットキーに適用したいのですが

Hotkey="Num 1"
Hotkey="NumLock 1"

どちらでもできません

直接作成は無理なのでしょうか?
31デフォルトの名無しさん:2007/08/12(日) 20:21:53
俺もNumlockは悩んだ
なんとかいうAPI使って実行ファイル作ったけど無理だった
敗北の想い出が蘇る
32デフォルトの名無しさん:2007/08/14(火) 20:56:42
最終的にVBA使ったりするんだよな……
VBS単体だと操作の自動化は不便
33デフォルトの名無しさん:2007/09/06(木) 20:53:01
こんばんは。
C#からVBSのFunction呼び出そうしてるんですが
複数の値を返すことができません。
教えてください。
34デフォルトの名無しさん:2007/09/06(木) 20:54:08
C#側からvbsを走らせるときにC#側のFor文だと処理するたびに
vbsが走るのでだめでした。
vbs自体が複数値を返す処理をするためにはどのようにすればよいでしょうか。
値は、Excelのセルからとります。
35デフォルトの名無しさん:2007/09/06(木) 22:08:15
俺が考え付く方法は次の2つ。
1. そのVBScriptの内容をC#へ書き換える。
2. VBScriptをC#プログラム内でホストする。
36デフォルトの名無しさん:2007/09/06(木) 22:13:43
>>35
は1は実行済みですけどVBSにも全く一緒のコードを書くことになって
かなり冗長的なコードになるんですよ。
2もしたが取り出すとき複数の値をとるほうほうが不明です。
37デフォルトの名無しさん:2007/09/06(木) 22:27:49
配列を返せばいいのでは?
それが無理なら、C#から戻り値を受け取るオブジェクトを渡すってのはどう。
38デフォルトの名無しさん:2007/09/06(木) 22:33:48
>>37
配列を返すって考えましたけどVBScriptのリターン文ってありませんよね。
関数名 = 処理
↑こんな感じがリターン文なのかな。
39デフォルトの名無しさん:2007/09/06(木) 22:40:58
そう。関数内では関数名と同名の変数が存在する。
型は関数の戻り値の型と同じ(と言ってもVBSは常にVariantだが)。
関数を抜けるときにその変数に入っていた内容が戻り値になる。

これはVB系一般で通用する文法。
40デフォルトの名無しさん:2007/09/06(木) 23:14:36
なるほどね。けど、関数名と同名の変数が定義されてるって時点で
配列とか返せないと思うんですがいかがでしょう。
41デフォルトの名無しさん:2007/09/07(金) 00:01:51
>>40
思うって言われてもなぁ
42デフォルトの名無しさん:2007/09/07(金) 00:05:36
>>41
情報量が少ないから断定的な判断はできないんですよ。
43デフォルトの名無しさん:2007/09/07(金) 00:10:31
>>40
Array関数で配列を作れる。
その戻り値を関数名の変数に代入すれば
配列を返す関数の出来上がり。
44デフォルトの名無しさん:2007/09/07(金) 00:11:37
>>42
調べるのも大事なことだが、試すのだって大事なことだぞ

msgbox a()(2)

function a()
dim b()
redim b(10)
b(2)=100
a=b
end function

こんな感じで出来ない?
45デフォルトの名無しさん:2007/09/07(金) 00:13:35
おおきにおおきに、明日試してみる。
しかし、型なしには驚いた・・・
46デフォルトの名無しさん:2007/09/07(金) 12:14:52
BASICなめんな
47デフォルトの名無しさん:2007/09/08(土) 00:52:34
型がない訳じゃなく実行時バインディングで表に出てこないだけ
48デフォルトの名無しさん:2007/11/01(木) 17:26:59
JavaScriptなら<script src=a.js
VBSなら<script src=a.vbs ですか?
49デフォルトの名無しさん:2007/11/01(木) 18:21:37
>>48
ああ拡張子はなんでもいいが
typeなりlanguage書こうぜw

それとタグは閉じような
気になってしょうがないw
50デフォルトの名無しさん:2007/11/02(金) 13:45:30
PPPOEをVBSで切断できないですかね?
2つプロバイダ登録してあって、ショートカットで無理やり接続はできたのですが、
なぜだか切断の時に1%くらいの確率で失敗します。
(slect case でやって、引数を保持しているのですが何故か極まれに間違えます)
タスクトレイの接続の所では、何処に繋がっていても切断できますので、せめてこれが
呼び出せればSENDKEYSでなんとかなるんですが…
51デフォルトの名無しさん:2007/11/02(金) 15:42:00
JavaScriptでの o = new Option(); をVBScriptに書き直すとどうなりますか?
52デフォルトの名無しさん:2007/11/03(土) 01:48:36
↓デバッグおねがいします

<form id="fm">
<input name="t1" value="てすと">
</form>
<script language="VBScript">
Function bt_onClick()
MsgBox Eval("t" & CStr(1) & ".value")
End Function
</script>
<button name="bt"></button>
53デフォルトの名無しさん:2007/11/04(日) 12:45:31
>>52
"fm.t"
54デフォルトの名無しさん:2007/11/04(日) 13:13:19
プリンタの管理ユーティリティにある自動電源ONオプションをタスク
スケジューラで週一自動実行したいんですけど、VBSで可能でしょうか?
55デフォルトの名無しさん:2007/11/18(日) 23:11:59
HTMLのVBSで
<a href="javascript:f();void(0)">
というJavaScriptをVBSで書けますか?
56デフォルトの名無しさん:2007/11/18(日) 23:30:00
MsgBox "<a href=""javascript:f();void(0)"">"
57デフォルトの名無しさん:2007/11/19(月) 00:18:24
>>55
修辞がおかしいので>>56見たいに言われるわけだが・・・
58デフォルトの名無しさん:2007/11/19(月) 17:32:58
拡張子を.htaにしてみるとか
59デフォルトの名無しさん:2007/11/26(月) 08:03:28
BASP21でダウンロードソフトを作ろうと思っているんですが、
FTPだとFTPサーバーの名前を知らないとアノニマスでも接続できませんよね?
どうすれば良いのでしょうか?
60デフォルトの名無しさん:2007/11/26(月) 16:00:11
>>59
たとえばスーパーに買い物に行きますよね
でもスーパーの住所を知らなければ買い物できませんよね?
どうすれば良いのでしょうか?
6159です:2007/11/26(月) 20:59:22
Iriaとかのダウンロードソフトはどうしてるんでしょうか?
HTTPからでもダウンロード可能なようですが、全くやり方が不明です。
勉強中の身でして、質問が多くなりますが、お願いいたします。

>60
そのスーパーの住所の調べ方を伝授してください
お願い致します
62デフォルトの名無しさん:2007/11/26(月) 23:58:17
プロトコルの勉強をしましょう…
63デフォルトの名無しさん:2007/11/27(火) 00:06:54
>>61
そこらへんのダウンロードソフトはユーザにURLの入力を求めているだろ。
64デフォルトの名無しさん:2007/11/27(火) 03:27:14
>>61
IPアドレスは32bitしかないんだから、総当たりで!
6559です:2007/11/27(火) 08:04:28
皆さんご返信ありがとうございます
VBSでこのスレッドを落とす場合
.Connect("pc11.2ch.netのFTPサーバー", "ユーザー(anonymousでいける?)", "パス")
で繋いで
.GetFile("pc11.2ch.netのFTPサーバー/1170492587/*.*", "c:\dowsodata")
となると思いますが、
ここのFTPのサーバー名が解らないと何ともなりませんよね。

62>とりあえずWiki逝って来ます。金曜日の休みに本屋にの行きます!
63>FTPのURLでなくてもダウンできるので不思議なんです
64>そんなことやってたんですか!?

試しにftp://pc11.2ch.net/をIEでやってみたら「ファイル名が正しくないか許可してないぞ!!」
と怒られました。
ギコナビとか、巷にあふれる2CHツールが許可もらってやっているように
思えませんので(失礼…)何かしら打開策があると思うのですが
66デフォルトの名無しさん:2007/11/27(火) 08:53:03
>>65
ftpが許されてないからです。
httpなら許されてるから、まずはそこから。
67デフォルトの名無しさん:2007/11/27(火) 09:23:50
>>65
> Connect("pc11.2ch.netのFTPサーバー", "ユーザー(anonymousでいける?)", "パス") 
> で繋いで 
> .GetFile("pc11.2ch.netのFTPサーバー/1170492587/*.*", "c:\dowsodata") 
> となると思いますが、 
いいえ違います
pc11.2ch.netのFTPサーバなんてありません
68デフォルトの名無しさん:2007/11/27(火) 14:48:35
全員がこの後に及んでスレ違いと言い出さないのは、
あまりの事にあきれ果てているから?

>>59
釣られたのかもしれないが、マヂレスしておくと君の考えて
いる事は全くの見当違い。

ttp://www5e.biglobe.ne.jp/~aji/3min/index.html
ここのFTP、DNS、HTTPの所でも読んでくれ。

で、理解したら、これ以上聞かないでね。
6959です:2007/11/28(水) 08:57:51
すみません、質問を変えます!
<a href="*.dat">download</a>
を、VBSで書くとどうなりますか?
(ダウンロードしますか?と言うダイアログが出ます)
VBSで書いてる途中なのでできれば全部VBSで書きたいんです。

皆さんいろいろ教えていただいてありがとうございました
FTPはファイル交換、DNSはネット接続の中間、HTTPはHTMLを見るため
位の感覚で覚えていましたので、どうやってファイル転送機能なしでファイル転送するんだろう?
ドメイン(biglobe.ne.jp)の部分が同じなので探す方法があるのかと思い、質問しました。
興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で
訊けばいいんですよね?
70デフォルトの名無しさん:2007/11/28(水) 13:45:34
>>69
ネットワークの勉強ついでにVBSとかクライアントスクリプトも調べて来い
質問の意図が分からなさ過ぎる
きっと用語を正しく理解していない

> 興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で 
> 訊けばいいんですよね? 
責任もてないので、「はいそうです」とは言わない
調べられなければ調べられるまで調べつくせ
7159です:2007/11/28(水) 20:59:50
>70
すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが
どのようにダウンロードをしているのかを知りたかったんです。

よく考えたらこの命令は単純にアドレス指定してアクセスするだけですね、
ちょっとやってみます。

72デフォルトの名無しさん:2007/11/28(水) 22:39:14
>>71
知らないのは罪では無い。
だが、知らないという事を盾にして、初歩的な事を人に聞きまくるのは迷惑。

>すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが

こんな事は最早ネットワークすら関係無い。通信技術板で聞こう物なら、
即氏ねと言われてもおかしくない。

初歩的なhtmlを知っていてIriaを使っていれば、どういう仕組みで丸ごと
ダウンロードしているのか、一般的な知能を持っていればわかるはず。

まず人に聞くな。自分で考えろ。
73デフォルトの名無しさん:2007/11/28(水) 23:44:16
待て、しかして希望せよ
74デフォルトの名無しさん:2007/11/29(木) 02:24:51
>>72
html知っててもhttpの仕組みがわかるわけ無いだろ。

>>59
「XMLHTTP VBS」あたりでググればいくらでもサンプル出てくる。

でも、VBSでリストだけ作ってダウンローダーに渡すのがいろんな意味でおすすめ。
7559です:2007/11/29(木) 07:20:59
>72
ありがとうございます、貴方のおっしゃっているように、私のやろうとしている事は
ネットワークとはあまり関係がありませんね。

>74
XMLHTTPですね、ありがとうございます。
タグ辞典読んだり、「VBS ダウンロード」とか組み合わせてググっても
それに対応出来そうな命令が全く出てこなかったんで、困っておりました。
これでやっと点が線で繋がりました!!
76デフォルトの名無しさん:2007/11/30(金) 10:37:58
間違えてVB.NETのスレで聴いてしまったのですが、こちらでお聴きすべきでした。
WshShellオブジェクトでURLショートカットファイルを作成する際にファイル内容
に不足があることがわかりました。

例として、たとえばマイクロソフトのサイト
http://www.microsoft.com/japan/msdn/architecture/
などに対して作成すると、IEで作成した場合に作成される処の

[DOC_pagetools]
XMLUSERDATA__Size=・・・・・
XMLUSERDATA=・・・・・
USERDATAURL=・・・・・

という部分が作成されていませんでした。そしてこの部分がないと、クリック
して実行してもIEで表示できないことがわかりました。どうも実行に際して
不可欠の内容のようでした(これはユーザーの同定等を行っているのでしょうか)。

こうした部分をWshShellオブジェクトのCreateShortcutメソッドで作成する
ことは不可能でしょうか。可能とした場合はどのようにすればよいでしょうか?
なにとぞよろしくお願いします。
77デフォルトの名無しさん:2007/11/30(金) 19:49:02
>>76
[InternetShortcut]しかないけど開けるよ?
ファイルに.urlつけてないとかじゃないの?
78デフォルトの名無しさん:2007/11/30(金) 20:58:14
ドメインユーザーのSID(S-x-x-x....)
から、ユーザーID(Domain\UserID)を知りたいんだけど、
ActiveDirectoryにどんな方法でアクセスすれば良いですか?
ADSIを使うっぽいのですが、いまいちわかりません。
7976:2007/12/03(月) 23:26:26
>>77
ご指導ありがとうございます。
おっしゃってくださったことから、今もう一度やってみましたら確かに
今度は動作致しました!
昨日やったときはページが移動しなかったのですが、IE系のトラブルか何か
が重なっていたのかもしれません・・・、お手数おかけしてすみません。
ご指導ありがとうございました。
80デフォルトの名無しさん:2007/12/08(土) 06:36:58
>>56
だめだ。それは結局JavaScriptを使っているから。
HTML内にVBSオンリーで同等の機能を実装してくれ。
81デフォルトの名無しさん:2007/12/08(土) 12:09:40
>>80
え?>>55はJavaScriptをVBSで書けるかどうか聞いてるじゃん
82デフォルトの名無しさん:2007/12/08(土) 15:04:43
>>81
VBSが分からないから日本語に着目して自己満足ですか。
はいはい、あなたは正しく理解し、適切な回答をなさいました。
キミにはたぶん質問者が知りたがっていることを回答するのは無理だね。
>>57は漢字が間違ってるし。
83デフォルトの名無しさん:2007/12/08(土) 19:01:24
>82
わざと誤字を扱うのがネラーの習わし
84デフォルトの名無しさん:2007/12/09(日) 01:08:07
>>82
hrefでjavascript関数の後にvoid(0)って一体どんな意味か教えて
85デフォルトの名無しさん:2007/12/09(日) 01:34:04
86デフォルトの名無しさん:2007/12/09(日) 11:29:05
>>85
いや、void(0)単体の意味じゃなくて、「f()の後に」void(0)を置く意味が知りたいんだ
87デフォルトの名無しさん:2007/12/09(日) 12:09:11
void(0)を付けないでブラウザのアドレスバーに打ち込んでみるとわかるよ
88デフォルトの名無しさん:2007/12/09(日) 12:50:58
つけてもつけなくても変わらんよ
89デフォルトの名無しさん:2007/12/10(月) 12:02:32
>>86
何を期待してるのかわからんが,
とりあえず「f()の後にvoid(0)を置く意味を知りたい」という要求の原因を教えてもらおうか
90デフォルトの名無しさん:2007/12/10(月) 21:56:53
ああ、説明できないならもういいよ
お疲れさん
91デフォルトの名無しさん:2007/12/10(月) 21:59:04
とりあえずプログラム板もID付けて欲しいぜ・・・
92デフォルトの名無しさん:2007/12/11(火) 18:08:58
void(0);だけじゃ何の効果も示さないみたいな
f();は今のところ自端末じゃ何も設定されてなくて

voidの()内に後でチェックコードでも書くとか?

今は何を作るか知られたくないから意味のないコードしか書いてないとか
93デフォルトの名無しさん:2007/12/14(金) 10:35:11
360: 2007/06/16 11:58:31 ??? [sage]
みんな最後にvoid(0)やfocus()を付けるのはなんでだぜ?

361:ぼけなす 2007/06/16 12:12:44 P+YI6MXb
>>360
Location Bar 本来の機能が邪魔することがあるから.
全体を function として記述してもうまくいくようだ.
94デフォルトの名無しさん:2007/12/14(金) 22:03:54
だからアドレスバーに打ち込んでみるとわかるって言ったのに
95デフォルトの名無しさん:2007/12/15(土) 06:34:39
条件が揃わないとわからないんじゃね
96デフォルトの名無しさん:2007/12/17(月) 11:54:28
Excelの2003と2007がインストールされた環境で、以下のVBSを実行すると2007が起動します。
2003を起動するには、どう書けばいいんでしょう?

Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.WorkBooks.Add()
ExcelObj.Visible = True
97デフォルトの名無しさん:2007/12/17(月) 13:01:46
それってWindowsの設定の問題じゃないの?
xlsファイルを2003のExcelで動作するように設定すれば動くんじゃない?
98デフォルトの名無しさん:2007/12/18(火) 01:05:13
>>97
すいません。説明不足でした。
常に2003を起動したいわけではなく、2003と2007を必要に応じて使い分けたいのです。
そういう区別はVBSでは無理なんでしょうか?

あと、regmonでVBS実行中に参照されるレジストリを調べてみたところ、どうやら
HKCR\Applications\excel.exeを見て、起動するアプリを決定しているようでした。
つまり、>>96のような書き方では最後にインストールしたバージョンしか起動できないのです。
99デフォルトの名無しさん:2007/12/18(火) 02:12:08
2003はたぶん Excel.Application.9 で,2007はしらね

ttp://support.microsoft.com/kb/240794/ja
100デフォルトの名無しさん:2007/12/18(火) 04:06:22
>>99
ありがとうございます。さっそく調べてみたところ、

2000 → 9
2002 → 10
2003 → 11
2007 → 12

のように対応していることがわかりました。そこでプログラムを

Set ExcelObj = CreateObject("Excel.Application.11")

と修正してみたのですが、これではまだ2007が起動してしまいます。
もう少しオブジェクトの扱い方を調べる必要があるようです。
101デフォルトの名無しさん:2007/12/18(火) 12:07:56
>>100
ヒント:参照設定
102デフォルトの名無しさん:2007/12/18(火) 21:32:07
103デフォルトの名無しさん:2007/12/19(水) 03:29:22
いっその事、キーボードマクロで
104デフォルトの名無しさん:2007/12/19(水) 07:02:16
>>101
MSOライブラリを複数登録するんでしょうか?
別バージョンのMicrosoft Office Object Library、Microsoft Excel Object Libraryを参照設定から
追加しようとしたのですが無視されてしまいました。
エラーも出ず、追加も出来ず、よくわかりません。

>>102
excel /regserverを実行してみたところ、Officeのインストーラーが起動してシステムの設定をすべて書き換え、
確かにデフォルトのアプリケーションもオブジェクトも切り替わりました。
が、この方法ではいちいちインストーラーが起動するということで、見栄えがよくありませんし、
時間もかかりすぎてしまいます。元に戻す手間もありますし。

>>103
最終的にはウィンドウを出さずに裏でこっそり処理をさせたいので、(>>96のプログラムの3行目が
存在しないイメージです) 単純にショートカットからExcelを起動して最小化、みたいな処理は、
できれば避けたいのです。後出しですみません。

もう少しヒントを、よろしくお願いします。
105デフォルトの名無しさん:2007/12/19(水) 21:46:15
いや、無理でしょ
106デフォルトの名無しさん:2007/12/21(金) 15:02:41
「2003に致命的な問題が見つかりますた」と言って強引に2003をアンインストールして2007のみの環境にしる
107デフォルトの名無しさん:2007/12/24(月) 06:18:21
光の速さでキー入力して絵画をキャンセル
108デフォルトの名無しさん:2007/12/24(月) 15:32:02
ぐぐったら、なんか酷いことが書いてある。  、、無理なんじゃね?
http://support.microsoft.com/kb/292491/ja
109デフォルトの名無しさん:2007/12/24(月) 15:35:09
あ、既出でやんの。 

(office2000以降)CLSIDが共通だって事は、
オートメーションでバージョンを指定することは出来ない ってことじゃねえの?
110デフォルトの名無しさん:2007/12/24(月) 16:17:15
ディレクトリからコマンダー権限でエクシア起動!
111デフォルトの名無しさん:2007/12/24(月) 16:25:44
なるほど、希望バージョンのExcel.exeを先に起動しておいてからGetObjectすればよいのかな?
112デフォルトの名無しさん:2007/12/25(火) 19:44:14
希望バージョンではない方が既に起動されていても大丈夫?
113デフォルトの名無しさん:2007/12/25(火) 23:04:38
何をアクティブにして何をさせたいか

ちょっとした選択ミスがすべてを台無しにする事もある
目的と干渉によるけどやりたいなら自己責任で
114デフォルトの名無しさん:2008/02/11(月) 06:52:56
突然質問ですが…
プログラムに汎用性を持たせるために、一部の変数を外部ファイル化したんですが、
どうすればよいのでしょうか?
実行専用ファイルを作って、その中で変数専用ファイルとメインファイルをPublic変数で繋いで
走らせる事も考えたのですが、できますでしょうか?
って言うかVBSってinclude無いんですか?
115デフォルトの名無しさん:2008/02/11(月) 12:09:25
>>114
wsfというものがあってですね
116デフォルトの名無しさん:2008/02/11(月) 23:26:24
ini ファイルみたなのをつくって、フツーにopenして読み込めばいいじゃん。
117壱壱四:2008/02/12(火) 07:24:04
115-116
ありがとうございました。
あとはググって調べます
118デフォルトの名無しさん:2008/03/06(木) 09:58:25
EventQuery.vbs の使い方で教えてください。
というか、挙動不審なんです。

cscript eventquery.vbs /V /FI "ID EQ 564 AND DATETIME GE 03/06/08,12:00:00AM AND USER NE NT AUTHORITY\SYSTEM" /FO CSV /L

↑こういうのを書いたんですが、フィルタ条件のエラーになります。

上記の3つの条件を個別に単発で書けばそれぞれ ちゃんと動くんですが
3つまとめるとダメみたいで・・・。

そういう仕様なんでしょうか?

何か書き方にクセがあるんでしょうか?
119デフォルトの名無しさん:2008/03/08(土) 12:41:44
んなVBSは知らんけどパラメータがtasklistコマンドくせぇな
120デフォルトの名無しさん:2008/04/08(火) 00:03:03
Excelで、セルに入力された文字列のうち、ある部分だけの色を変える、という処理をVBSで行いたいです。
たとえば「A1」のセルに「VBSで便利なプログラムを作れスレ」と入力してあった場合、
そのうちの『プログラム』だけをフォント赤色に変更する、というような感じです。

セル内の文字列すべてだとできるのですが、セル内の文字列の一部分だけを変更する方法を思いつきません。
ExcelのVBAだとCharactersオブジェクトが使えてたけど、これはVBSでは使えないのでしょうか? (←うまいきませんでした)
なにかいいアイデアあったら、誰か教えてください・・・
121デフォルトの名無しさん:2008/04/08(火) 00:48:23
エラー処理してないんで適当に。
偉い人添削ぷりーず

Option explicit

Const TARGET_WORD = "プログラム"
Dim XL, XLBook, XLRange
Set XL = CreateObject("Excel.Application")
Set XLBook = XL.workbooks.open("C:\Documents and Settings\デフォルトの名無しさん\デスクトップ\book1.xls")
Set XLRange = XLBook.sheets(1).Range("A1")

Dim TargetChr
Set TargetChr = XLRange.characters(Instr(XLRange.value, TARGET_WORD),len(TARGET_WORD))

If Instr(XLRange.value, TARGET_WORD) > 0 then
TargetChr.Font.ColorIndex = 3
End if

XLBook.save
XLBook.close
Set XLBook = nothing
XL.quit
122デフォルトの名無しさん:2008/04/08(火) 13:55:16
よーし、素人丸出しで質問させてくだされ!

とあるCSVファイルがあります。エクセルで展開すると60項目のセルがあります。
その項目で不要項目があるので、消す作業を自動で処理することを考えてます。

*******************************************************

Set objEXCEL = CreateObject("Excel.Application")
Set objBOOK = objEXCEL.Workbooks.open("指定場所と指定.CSV")
objEXCEL .Visible = true

myExcel.Range("B:D").Select
myExcel.Selection.Delete
myExcel.Cells(1,1).Select

********************************************************

サンプルやエクセルマクロ記録などしてそれらを参考にやってみました。
対象CSVは相対パスで指定してあります。
でも、相対パス指定した行でERRになります。

CSVを相対パスで指定して不要項目を削除するには、上記スクリプトを
どのように変更すればいいでしょうか?
123デフォルトの名無しさん:2008/04/08(火) 16:00:05
そこは絶対パスで指定できるように考えよう
124デフォルトの名無しさん:2008/04/08(火) 16:18:19
>>123
レスありがとう。

結局、相対パスはできないということですね。
125120です:2008/04/08(火) 23:27:32
>>121
ありがとう。書いてもらったのを参考にして思う通りのものができました。
CharactersオブジェクトのStartとLengthの指定の仕方をまちがってたようです。
任意のフォルダを選択すると、コマンドプロンプトのTREEコマンドみたいな枝?罫線+選択フォルダ以下すべてのサブフォルダ名 OR ファイル名を
Excelに書き出す、というのを作ってたんですが、その出力内容のうち、サブフォルダ名の部分だけを色変えたかったのです。
126120です:2008/04/08(火) 23:28:08
>>122
相対パスとるより絶対パスとるほうが簡単だと思うんだけど・・・?
Excel使うの前提のようなので、こういうのはどうかな。

*******************************************************
Option Explicit

Dim strFilePath

strFilePath = GetFilePathDialog()
msgbox strFilePath

'--------------------------------
' 選択したファイルのパスを取得
'--------------------------------
Function GetFilePathDialog()
Dim objExcel
Dim strFile
Set objExcel = CreateObject("Excel.Application")

strFile = objExcel.GetSaveAsFilename("", "CSV(カンマ区切り) (*.csv),*.csv")
If strFile = False Then Exit Function
GetFilePathDialog = strFile

Set objExcel = Nothing
End Function
*******************************************************
127122:2008/04/09(水) 13:06:21
>>126

必ず相対パスでないとだめってわけではないのだけど。
クライアントで取り込んだCSVを編集する為なのね。
まあ、やり方で回避できるのだけど。。。

このコードも活用させていただきますです。
ありがとう。
128デフォルトの名無しさん:2008/04/10(木) 01:19:36
>>122
パスがわからないのならドラッグ&ドロップすればいいじゃない、牛丼がないのなら豚丼をたべればいいじゃない。

>>126
そのファンクションいただき。でもエクセルObjectがないと使えないのかー。
129デフォルトの名無しさん:2008/04/10(木) 02:21:36
GetOpenFileNameとGetSaveFileNameでぐぐれば、タブンさんぷるでてくるぞ。
APIだからエクセルいらない。
130デフォルトの名無しさん:2008/04/10(木) 16:40:35
>>128
通常Webから配布しているCSVを加工する為に、VBSを
クライアント配布で色々考えてた。
>>126氏の指摘通りエクセル操作が前提で。

>パスがわからないのならドラッグ&ドロップすればいいじゃない、
それも、そうだと思った強風、豪雨の午後でした orz

>牛丼がないのなら豚丼をたべればいいじゃない。
メタボはいかん。
131デフォルトの名無しさん:2008/04/20(日) 22:38:51
こんにちは。メッセージボックスの[OK]ボタンが押されるのを待たずに次の処理を
実行させたいときはどうするのでしょうか?

[OK]ボタンが押されなくても複数のメッセージボックス(?)を表示させたいのですが …
132デフォルトの名無しさん:2008/04/20(日) 23:39:08
>>131
2箇所に同じ質問書くと嫌われるよ。マナー違反。今後気をつけな。
133デフォルトの名無しさん:2008/04/21(月) 00:21:17
3箇所ならOK。
134デフォルトの名無しさん:2008/04/21(月) 20:15:02
ジミーペイジもそんな事言ってたな
135デフォルトの名無しさん:2008/04/22(火) 11:02:10
>>134
じみへんは?

言ってないかw
136デフォルトの名無しさん:2008/05/01(木) 22:03:51
初心者なんですけどいいですか?
VBSで二進法の数を十進法にして表示させるプログラムを教えてください。

137デフォルトの名無しさん:2008/05/01(木) 23:48:07
2進数の仕組みがわかってりゃ簡単だよ。
手計算するのと同じことをVBにやらせればいいだけ。
頭から1文字ずつ取り出して、×2していくだけだろ。

msgbox unko("10101101")

Function unko(ByVal str)
   ret = 0
   For i = 1 To Len(str)
     ret = ret * 2 + CInt(Mid(str, i, 1))
   Next
   unko = ret
End Function
138デフォルトの名無しさん:2008/05/01(木) 23:52:39
それ計算違うw
139デフォルトの名無しさん:2008/05/01(木) 23:54:10
・・・と思ってら合ってるっぽいスマソ
140デフォルトの名無しさん:2008/05/02(金) 00:25:00
助かりました〜
ありがとうございます。
141デフォルトの名無しさん:2008/05/03(土) 11:12:12
なんかClntの所でエラー表示が出るんですが(^^;
142デフォルトの名無しさん:2008/05/03(土) 11:41:22
>>141
Valに直しとけ
143たわし:2008/05/03(土) 13:27:56
発投稿っす。どうぞよろしく。
二進法の数を十進法にして表示させるプログラムもう少し簡単にできませんか
144デフォルトの名無しさん:2008/05/03(土) 13:29:00
ゆとりアラーム
145たわし:2008/05/03(土) 13:36:42
そこを何とかお願いいたします
146デフォルトの名無しさん:2008/05/03(土) 20:23:26
137よりどう簡単にするんだ
147デフォルトの名無しさん:2008/05/03(土) 21:46:23
142>ありがとうございます
しかしValでも型が一致しませんとでるんですが
148デフォルトの名無しさん:2008/05/03(土) 22:43:18
>>147
お前さんがとてつもない馬鹿で何一つ知らない情報弱者だから
こちらは超能力者にならざるを得ないのをとりあえず理解してくれ。

それを前提とした上で「パソコンでマウスを動かそうとした」とこから
「Valでも型が一致しませんとでる」までの経緯を
お前さんが認識してる「馬鹿」に分からせるように説明しろ。
149デフォルトの名無しさん:2008/05/04(日) 01:47:23
パソコン上でマウスを動かそうとし、動かしメモ帳を起動して137のプログラムをまずメモ帳に入力し、Clntをそれ以外いじらずValに変更した後、.vbsで保存して、実行しようとするとエラー表示されます
150デフォルトの名無しさん:2008/05/04(日) 01:58:49
数値で渡してるなw
151デフォルトの名無しさん:2008/05/04(日) 06:09:59
>>149
ValをCIntに戻して再実行してみろ。
CIntに戻したときのエラー表示の中で「文字が正しくありません。」
という文言があるのなら、全角スペースが原因。
行の先頭のスペースを全部削除してから再実行してみろ。動くはず。

>>142
CIntをValに直してもよけいに動かなくなるだけ。
VBでは動いても、VBSでは動かん。

>>150
1行目の10101101を文字列ではなく数値で渡しているって想定か?
別に数値で渡しても、勝手に型変換されて動くよ。
152デフォルトの名無しさん:2008/05/04(日) 06:18:31
>>151
数値で桁が多すぎると(浮動少数表現に変わるから?)エラーでるよ
153デフォルトの名無しさん:2008/05/04(日) 12:33:44
やっぱりうまくいきません
型が一致しません"Clnt"とでます
パソコンが2000だからとかそういうわけでしょうか
あと素人丸だしですみませんが、一行目の10101101ってどういう意味ですか?
154デフォルトの名無しさん:2008/05/04(日) 12:37:01
もうそのネタ飽きた
155デフォルトの名無しさん:2008/05/04(日) 16:39:54

そもそも「二進法」の意味がわかっとらんだろ?
156デフォルトの名無しさん:2008/05/04(日) 17:22:21
ところが2歩進んだと思ってたのに気が付いたら下がっていたという。
157デフォルトの名無しさん:2008/05/04(日) 19:25:19
2進数はわかってますが
158デフォルトの名無しさん:2008/05/04(日) 22:40:33
>>152
すまんが、前提として10101101をそのままとしていた。
確かに桁が増えたらエラーになる。
16桁か17桁くらいが区切りのはず。
ちなみに浮動少数表現ではなく、対数表現な。

>>153
指摘が間違ってた。
いいか、Clntが間違いだ。CIntだ。
2文字目は小文字のL(エル)ではなく、大文字のI(アイ)だ。

ついでにいうと、二進法で表現した数値を二進数と言うんだ。
159デフォルトの名無しさん:2008/05/05(月) 03:45:40
この会話・・・ぜったい2進数がわかってないな。
160デフォルトの名無しさん:2008/05/05(月) 04:16:03
シュールストレミングうめえ
161デフォルトの名無しさん:2008/05/05(月) 17:06:00
すいませんXPでやったらできました
そこで入力した二進数を十進数に変えるプログラムはどうやるんですか?
162デフォルトの名無しさん:2008/05/05(月) 17:20:48
二進数も十進数も見た目が違うだけで中味は同じ
だから変換は必要ない
163136:2008/05/05(月) 17:27:22
なんか変な流れ作っちゃってすまん

というか>>161なぜそこに戻る?
164デフォルトの名無しさん:2008/05/05(月) 17:39:30
inputboxをどこにいれりゃいいのかわかりませn
165デフォルトの名無しさん:2008/05/06(火) 12:29:27
おまい、ぜったいぜったい、ぜぇ〜〜ったい2進数がわかってないだろ。
166デフォルトの名無しさん:2008/05/06(火) 14:22:30
おまいら暇だな〜
モレモナ〜w
167デフォルトの名無しさん:2008/05/06(火) 15:42:50
vbsで16進数を表示。たとえば
msgbox &hFE

とすると、結果は 254 と表示されます。
ほんとは FE のはずです。
こういうバグがあるから気をつけたほうがいいよ。
168デフォルトの名無しさん:2008/05/06(火) 15:47:27
それはバグ・・・・とは思えないのだが。本来の仕様と違うとか?
169デフォルトの名無しさん:2008/05/06(火) 17:18:09
>>168 変態度かぁ
170デフォルトの名無しさん:2008/05/06(火) 17:59:41
意味わからん
FEって表示したいのなら
msgbox "FE"
って書きゃいいじゃん。
自分で &h つけておいて、何言ってんだろ?
msgbox hex(&hfe)
でもいいけど
171デフォルトの名無しさん:2008/05/06(火) 18:31:12
数値の&HFE と 文字列の"FE" の違いすらわからんヤツがおるのか。
172デフォルトの名無しさん:2008/05/06(火) 21:58:28
>>160
くせぇ!
今頃臭いが伝わってきたよ
173デフォルトの名無しさん :2008/05/11(日) 04:40:36

●6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
http://system-trading.jp/news/index.php?cID=3
[シストレFXグランプリとは]
クリック証券が提供するFXのデモ取引環境を利用して、システムトレードにチャレンジできるFX取引のグランプリです。
お客様ご自身で作成したシステムトレードの機能を評価する「シストレソフト部門」とトレード収益を競う「トレード部門」の2部門構成となっております。

●5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。

▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
http://www.fx-gp.com/about/

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
174デフォルトの名無しさん:2008/05/11(日) 13:31:12
コピペ君って馬鹿だな、まで読んだ。
175デフォルトの名無しさん:2008/06/17(火) 04:14:05
InputBox関数使って、入力値を得たいんですが、
255バイト以上の入力値って無視されるのでしょうか?

解決策があれば教えてください。。


InputText = InputBox("文字列を入力してください")

Dim Fs
Set Fs=CreateObject("Scripting.FileSystemObject")
Set newFile = Fs.CreateTextFile("0000test0000.txt",True)
newFile.WriteLine(InputText)

176デフォルトの名無しさん:2008/06/17(火) 09:13:27
ユニコードで254文字+CR+LFの、最大値を超えています。
177デフォルトの名無しさん:2008/06/17(火) 22:19:12
VBScriptを使って、HTTPステータスコードを取得する方法を探しています。
ある任意のWeb画面に対してスクリプトでリクエストを行い、HTTPステータスコード(200 ok 等)を
取得する方法はありますでしょうか。
どなたかご存知の方がいらっしゃいましたら、ご教授下さい。
178>>177:2008/06/17(火) 22:24:08
すいません。スレ違いだった為、WSHのスレに移します。
179デフォルトの名無しさん:2008/06/19(木) 14:20:45
vbsで、フロッピーのフォーマットを確認なしで実行
する命令ありますか?A:\固定で。
180デフォルトの名無しさん:2008/06/19(木) 18:20:54
>>179 何で確認しなくていいのか?
181デフォルトの名無しさん:2008/06/19(木) 20:40:04
VBSにはファイルにアクセスする命令すらありませんよ
182デフォルトの名無しさん:2008/06/21(土) 07:38:22
それを言うならC言語にもファイルにアクセスする命令は無いな
183デフォルトの名無しさん:2008/07/19(土) 09:45:08
ここまで便利そうなコードが殆どない件・・・
184デフォルトの名無しさん:2008/07/19(土) 11:24:47
>>183が便利そうなコードを書きまくるそうです><
185デフォルトの名無しさん:2008/07/27(日) 01:18:22
とりあえずExcelAddinをインスコするコードとかlnk右クリックでリンク先ディレクトリ表示とか
あるけど需要あるか?
186デフォルトの名無しさん:2008/07/30(水) 21:22:27
test1.bin
test2.bin
test3.bin

これらファイルを選択状態にして、VBSファイルにD&Dすると、
ファイル名順にソートして、1つのファイルに結合するには、どうしたら良いのでしょうか?

1つのファイルを、指定サイズに自動分割するVBSはできたのですが、
その逆のことができるVBSファイルを作りたい。。。

ADODB.Recordset
ADODB.stream あたりを使えば可能?
187デフォルトの名無しさん:2008/07/30(水) 21:26:24
copy /b
188デフォルトの名無しさん:2008/07/30(水) 21:38:44
>>185
参考にさせていただきた
189デフォルトの名無しさん:2008/08/13(水) 09:09:42
CIM_DataFileクラスを用いて、ファイルの各種情報を取得したいのですが、
「説明」のプロパティを取得するときに指定するプロパティ名が分かりません。

具体的には、例えばソリティア(C:\WINDOWS\system32\sol.exe)を
右クリックして表示されるプロパティの「バージョン情報」タブの2行目に
「説明:Solitaire Game Applet」と表示されますが、この値を取得したいのです。

ファイルバージョンなどは、「Version」プロパティで取得できております。
ご存知の方、ご教示お願い致します。
190デフォルトの名無しさん:2008/08/13(水) 18:30:02
189です。
カキコするところ間違えたみたいなので、移動します。スミマセン。
191デフォルトの名無しさん:2008/08/17(日) 21:29:36
>>186-187
作ってみた。

sdir = "C:\temp\" '出力先フォルダ
soutfb = "output.bin" '出力ファイル名
set osh = createobject("wscript.shell") 'シェルオブジェクト
set ofs = createobject("scripting.filesystemobject") 'ファイルオブジェクト
set oarg = wscript.arguments '引数オブジェクト
stmpf1 = "temp1.txt" '一時ファイル
stmpf2 = "temp2.txt" '一時ファイル

'ドラッグ&ドロップしたファイル名を一時ファイルに格納
set out = ofs.createtextfile(sdir & stmpf1, true)
for each s in oarg
  out.writeline s
next
out.close
192デフォルトの名無しさん:2008/08/17(日) 21:31:54
(つづき)

'ファイル名のリストをソートして一時ファイルに格納
osh.run "cmd /c sort " & (sdir & stmpf1) & " > " & (sdir & stmpf2), 0, true
set oin = ofs.opentextfile(sdir & stmpf2)
s = oin.readline

'バイナリファイルのコピー
ofs.copyfile s, (sdir & soutfb)
do until oin.atendofstream
  s = oin.readline
  osh.run "cmd /c copy /b " & (sdir & soutfb) & "+" & s & " " & (sdir & soutfb), 0, true
loop
oin.close

'一時ファイルの消去
ofs.deletefile sdir & stmpf1
ofs.deletefile sdir & stmpf2

msgbox "OK"

↑以上、実行時は行頭の空白を半角に。
193デフォルトの名無しさん:2008/08/17(日) 22:04:23
copyは性能的にしょうがないかもしれんがsortぐらい自前でやれよw
194デフォルトの名無しさん:2008/08/21(木) 21:13:21
VBSにて、SNMP情報の取得を考えてるんですが、
wsnmp32.dll を利用することはできないんでしょうか?

dynwrap.dll というラッパー?も使えないのでしょうか
195デフォルトの名無しさん:2008/08/31(日) 18:59:35
set shell32 = createobject("shell.application")
set fso = createobject("scripting.filesystemobject")
function recyclebin(pathname)
> path = fso.getparentfoldername(pathname)
set there = shell32.namespace(path)
set submenus = there.items.item(fso.getfilename(pathname)).verbs
I = 0
for each method in submenus
if strcomp(method, "削除(&D)") = 0 then
submenus.item(I).doit()
end if
I = I + 1
next
end function
recyclebin wscript.arguments(0)

ファイルやフォルダをドラッグアンドドロップすると、
ごみ箱に移すスクリプト。deletefile とかは
永遠に消えちゃうので不安だ...。
196デフォルトの名無しさん:2008/08/31(日) 19:01:10
すまん、> は、なし。
197デフォルトの名無しさん:2008/08/31(日) 21:05:24
それ、ごみ箱のショートカットと比べてどう便利なの?
198デフォルトの名無しさん:2008/08/31(日) 21:32:26
ファイルをドラッグアンドドロップていうのは
サンプル動作のためで、
関数をスクリプト内で
deletefile の代わりに使います。
199デフォルトの名無しさん:2008/09/16(火) 20:29:18
hail2u.net - Weblog - VBScriptでMSN Messengerの表示アイコンを変更する
http://hail2u.net/blog/coding/change-msn-messenger-display-picture-by-vbscript.html
このMessenger.UIAutomation.1を使って他にも色々出来ないかな、と思って
ドキュメントを探したんですが、どうにも見つからず…。
どなたか詳細ご存じの方いらっしゃいませんか?

Samurizeと組み合わせて、デスクトップから一発で名前とかステータス変えられたら…
200デフォルトの名無しさん:2008/10/05(日) 15:56:24
VBScriptとかJScriptで地味にWSHのプログラム書いてきたのに・・

IronPtythonなんてどうでもいい。

ていうことでVBScriptやJScriptを開発する統合環境みたいなツールってないの?
秀丸で書いてるんだけど、文法チェックや小文字大文字変換で不便でしょうがないんだけど。
201デフォルトの名無しさん:2008/10/05(日) 16:31:17
そんな愚痴をこのスレで言う理由は・・・つまり
VBSで作れと?
202デフォルトの名無しさん:2008/10/05(日) 18:25:17
うん。昔からのVBSやJSユーザを生き伸ばすためにも言語拡張すりゃいいのにとおもって。
203デフォルトの名無しさん:2008/10/05(日) 19:01:39
一応残るだろうけどVBSはもう進化しないでしょ。
同系としてVBAは今のところ代わりが無いから多少変わるかもしれんが。

WSHは見捨てられた子・・・
JScriptつーかJavaScriptならEclipseで使えると思うけど、それじゃダメ?だよね(w
204デフォルトの名無しさん:2008/10/05(日) 20:01:20
いや。わては、WSHとして使いたいんや。

でも、VisualWebDeveloperExpressEditionにWSH用のテンプレートがあるみたいだ。
インスコしよっと。
205デフォルトの名無しさん:2008/10/05(日) 21:16:21
俺はサクラエディタでしこしこ書いとるわ。

>でも、VisualWebDeveloperExpressEditionにWSH用のテンプレートがあるみたいだ。

そんなもんがあるんか。そのうち入れてみよっと。
206デフォルトの名無しさん:2008/10/06(月) 05:31:22
WebDevelopper
207デフォルトの名無しさん:2008/10/23(木) 19:41:52
a.vbsで定義したFunctionをb.vbsで使いたいが、
どうやったらいい?
208デフォルトの名無しさん:2008/10/23(木) 19:55:52
aとかbって何?a.vbsとb.vbsってこと?

つWindows スクリプト ファイル (.wsf)
209208:2008/10/23(木) 19:58:58
レスしたら>>207の意味判ったw

wsfファイルを作ってvbsファイルをインクルードしたらいいよ。

もしくはスクリプトファイルを読み込んでExecuteGlobalするか。
210デフォルトの名無しさん:2008/12/11(木) 03:39:01
テーブルから14桁で取得した日付(例:20081210140059)に、
+1秒した日付(20081210140100)を取得するにはどうしたらいいですか?

windowsアクセスログの履歴がデータとして格納されているテーブルから最新利用履歴日付を取得し、
そこから1秒後の日付でwindowsアクセスログを再検索したいのです。
211デフォルトの名無しさん:2008/12/11(木) 10:47:10
取得するじゃなくて自分で計算すればいいんじゃね?
212デフォルトの名無しさん:2008/12/12(金) 21:44:05
>>211
レスありがとうございます。
秒計算のできる関数を発見したので、試してみます!
213デフォルトの名無しさん:2008/12/13(土) 22:10:34
VBSのことでお助け願いたいのですが…どなたかお願いします!
214デフォルトの名無しさん:2008/12/13(土) 22:22:50
用件書かないやつなんか知らんわ
215デフォルトの名無しさん:2008/12/15(月) 23:48:05
助けて下さい。
25個のエクスプローラを起動させるようにプログラミングしたものが
あるのですが、3の倍数のエクスプローラーが起動したときのみに
ツールバーを表示させるようにしたいのですが
どのように、命令すればいいのでしょうか・・・。
216デフォルトの名無しさん:2008/12/16(火) 00:32:48
>>215
助けて下さい。
25本のチンポを勃起させるようにプログラミングしたものが
あるのですが、3の倍数のチンポが勃起したときのみに
包茎を表示させるようにしたいのですが
どのように、命令すればいいのでしょうか・・・。

ってくらいいみふ
217デフォルトの名無しさん:2008/12/16(火) 01:22:01
>>215
ナベアツに聞け
218デフォルトの名無しさん:2008/12/16(火) 01:35:15
>>215

たとえば 26475
この各桁を足すと 2+6+4+7+5 = 24
さらに各桁を足す 2+4 = 6
この値 6 が 3 の倍数ならば
26475 は 3 で割り切れる。
219デフォルトの名無しさん:2008/12/16(火) 10:08:16
ほほぅ
220デフォルトの名無しさん:2008/12/24(水) 08:41:03
すいません ど素人なんですがよかったら教えてください

CreateObject("WScript.Shell").Run で実行したバッチファイルを停止するスクリプトってどう書くんでしょうか?
221デフォルトの名無しさん:2009/01/09(金) 14:14:10
>>220
ぱっと思いついたのがそのDOS窓掴んで
sendkeyで^C→Yを送るくらい
もっと賢くてスマートなのは他の有識者に任せる
222デフォルトの名無しさん:2009/01/29(木) 14:36:12
Dim fileXML, objXML
Dim node, item, mesg

fileXML = "35640864.xml"

Set objXML = WScript.CreateObject("MSXML.DOMDocument")
objXML.load(fileXML)

For Each node In objXML.getElementsByTagName("Message")

mesg = ""&

id = node.getAttribute("SessionID")


For Each item In node.childNodes

If mesg <> "" Then

mesg = mesg & ","
End If

mesg = mesg & item.nodeName & ":" & item.firstChild.nodeValue

Next

WScript.Echo mesg

Next

XMLの子ノードが;;表示されない・・・
だ・だれか・・・
223デフォルトの名無しさん:2009/01/29(木) 22:07:43
>>220
そのバッチファイルのタイトルをtitleコマンドで適当に一意なものに変更しておいて
一致するプロセス取得してkillすればいいんじゃね?
224デフォルトの名無しさん:2009/01/29(木) 22:32:01
>>222
表示できたかな?
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <Message SessionID="0001">
    <Icon>情報</Icon>
    <Text>情報メッセージ</Text>
  </Message>
  <Message SessionID="0002">
    <Icon>警告</Icon>
    <Text>警告メッセージ</Text>
    <Param>パラ1</Param>
    <Param>パラ2</Param>
  </Message>
</root>
225デフォルトの名無しさん:2009/01/30(金) 10:58:34
どこで質問していいか分からないのでここで質問させて下さい!

vbscriptでmapiを使ってサーバからメールを受信するプログラムを作ってます。
http://72.14.235.132/search?q=cache:iTxznV_noXcJ:msdn.microsoft.com/ja-jp/library/cc421145.aspx+vbscript+MAPI.Session+%E3%83%A1%E3%83%BC%E3%83%AB%E5%8F%97%E4%BF%A1&hl=ja&ct=clnk&cd=5&gl=jp
を見ながら作ってるんですけど、
エラーコード:8004011Dが出て困ってます…

どなたかお知恵を拝借頂けないでしょうか?
basp21は使わない方向でお願いします!
226デフォルトの名無しさん:2009/01/30(金) 20:14:39
BASP21はSMTP/POP3サーバ、MAPIはExchangeサーバに使うものだよ
227デフォルトの名無しさん:2009/02/15(日) 12:59:52
IEでリアルタイムにURLを取得するVBSを書いています
流れはIEが起動してないとき実行すると”IEが表示されていません”と
メッセージを出し終了
IEが起動しているとき実行するとバックグラウンドで
10秒ごとのWebページのURLを取得しIEを終了させると今まで取得したURLを
メッセージで表示し終了
こんな感じで書いたんですが "IEを終了させると今まで取得したURLを
メッセージで表示し終了" この部分がうまく書けません。
具体的にはIEが終了するとオブジェクトが空になるはずなのでその辺をついて
わざとエラーを起こしエラー番号を取得しそのエラーだったら終了
させるような感じで書いたんですがちゃんと動作してくれません
ご教授お願いします

228デフォルトの名無しさん:2009/02/15(日) 13:00:58
コードです
Dim object1, object2, objectie, ieurl, loopflag, hako
loopflag = 0
Set object1 =CreateObject("Shell.Application")
set object2 = object1.Windows()
do While loopflag = 0
for each objectie in object2
hako=objectie.LocationURL
ieurl = ieurl & hako & vbCrLf
hako=""
next
wscript.sleep(10000)
on error resume next
if objectie.LocationURL=""
end if
if err.number=424 then
exit do
end if
msgbox ieurl
loop
If hako = "" Then
MsgBox "インターネットエクスプローラーが開いてないか、閉じました。"
If ieurl <> "" Then
MsgBox ieurl
End If
End If
229227:2009/02/15(日) 15:22:14
事故解決しました
230デフォルトの名無しさん:2009/02/26(木) 23:01:07
VBscriptでiTunesをアクティブにしたあとCtrl+Alt+5、Ctrl+Fと
入力させフルスクリーンにしたいのですが、アクティブに
なったあとの入力を受け付けないようなのです。

なぜきちんと動かないのかお分かりになるかたいらっしゃいませんか?

以下スクリプトです。

dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "iTunes.exe"
WScript.Sleep 10000
objShell.AppActivate "iTunes"
WScript.Sleep 1000
objShell.SendKeys "^(%5)"
WScript.Sleep 1000
objShell.SendKeys "^f"
231教えてくんに:2009/04/30(木) 22:38:51
EXCEL VBA みたいにステップインできるソフトってない?
232デフォルトの名無しさん:2009/05/04(月) 01:07:57
コントロールパネル→ネットワーク接続の「ワイヤレスネットワーク接続」を右クリックして「修復」
これをVBSで実行できますか?
233デフォルトの名無しさん:2009/05/04(月) 01:54:59
ipconfig /renew
234デフォルトの名無しさん:2009/05/05(火) 19:33:28
>>230
私もこのような現象がありました。
VBScriptでキーを送るのと、
物理キーボードでキーを送るのは、
別物として扱われる事があるのでしょうか?
235デフォルトの名無しさん:2009/05/12(火) 22:25:37
vbsの管理者実行ってできるんかな?

インスコフォルダ削除のスクリプトとかをVistaで実行すると、

アクセス拒否されるじゃん?

あぁゅぅのって、管理者実行でアクセス出来ると思うんだけど・・・

分かるヤツいない?
236デフォルトの名無しさん:2009/05/13(水) 00:50:00
Vista の UAC の話なら

set Shell = CreateObject("Shell.Application")
Shell.ShellExecute WScript.FullName, "MyScript.vbs", null, "RunAs"

のように ShellExecute に RunAS パラメタを付ければ管理者権限で実行できるらしい

上の例は一般権限のスクリプトから外部の別のスクリプトを管理者権限で呼び出す例だが
WTL のセットアップスクリプトに、フラグ制御で自分自身のスクリプトを再度管理者権限で呼び出したり、
UACの判定とかのやり方が入ってるから詳しくはそちらを見てくれ
237デフォルトの名無しさん:2009/05/13(水) 19:52:57
おぉw

レスサンクス!(・∀・)

でも、またエラーでたな・・・
二個くらい出てきて、一個目がコレ↓↓
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト:  C\Users\*****\Desktop\\TEST.vbs
行:    14
文字:   1
エラー:  書き込みできません。
コード: 800A0046
ソース:  Microsoft VBScript 実行時エラー
━━━━━━━━━━━━━━━━━━━━━━━━
二個目が↓↓
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト ファイル"C\Windows\system32\My Script.vbs"
が見つかりません。
━━━━━━━━━━━━━━━━━━━━━━━━
実行環境はWindowsVista HomePremium
テストでiTunesのフォルダを指定してやってみたが何故かエラー
レス↓ソースでし
ソースに問題があったら指摘してくれ
238デフォルトの名無しさん:2009/05/13(水) 19:53:38
以下ソース↓↓
━━━━━━━━━━━━━━━━━━━━━━━━

set Shell = CreateObject("Shell.Application")
Shell.ShellExecute WScript.FullName, "MyScript.vbs", null, "RunAs"

Dim objFileSys
Dim strDeletePath

Set objFileSys = CreateObject("Scripting.FileSystemObject")

strDeletePath = "C:\Program Files\iTunes"

objFileSys.DeleteFolder strDeletePath

set objFileSys = Nothing
━━━━━━━━━━━━━━━━━━━━━━━━━

長文失礼..........。
239デフォルトの名無しさん:2009/05/13(水) 21:44:14
えー、MyScript.vbsは単なる例なので当然実行はできない
あえて全部書くなら適当だけどこんな感じ

Dim bElevated
bElevated = False
If WScript.Arguments.length >= 1 Then
If WScript.Arguments.Item(0) = "/elevated" Then
bElevated = true
End If
End If
set Shell = CreateObject("Shell.Application")
If Not bElevated And Shell.IsRestricted("System", "EnableLUA") Then
Shell.ShellExecute WScript.FullName, """" + WScript.ScriptFullName + """" + " /elevated", null, "RunAs"
WScript.Quit(0)
End If

Dim objFileSys
Dim strDeletePath
Set objFileSys = CreateObject("Scripting.FileSystemObject")
strDeletePath = "C:\Program Files\iTunes"
objFileSys.DeleteFolder strDeletePath
set objFileSys = Nothing
240デフォルトの名無しさん:2009/05/13(水) 21:53:41
age
241デフォルトの名無しさん:2009/05/13(水) 22:07:38
お、一個エラー消えたヽ(・∀・ )ノ

まだ
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト:  C\Users\*****\Desktop\\TEST.vbs
行:    18
文字:   1
エラー:  書き込みできません。
コード: 800A0046
ソース:  Microsoft VBScript 実行時エラー
━━━━━━━━━━━━━━━━━━━━━━━━
のエラーが残ってまうな・・・;;

んー、このソースに使ってるスクリプトとかってどこで勉強できる?
URLor本トヵあったらそっちも覗いててみたいんだけど・・

ご指摘感謝感謝(´;ω;`人)
242デフォルトの名無しさん:2009/05/13(水) 22:34:44
800A0046 ってのはアクセス権限のエラーなので、既にスクリプトの問題では
ないような気がする
最初、アンインストール時に残ったゴミでも削除するのかと思ったんだけど
まさかアンイントールせずにフォルダをいきなり削除しようとしてるわけではないよね

C:\Program Files\iTunes
にサービスなどのプログラムがあってまだ使われているなら権限の問題とは
関係なくフォルダの削除は無理だと思うけど
243デフォルトの名無しさん:2009/05/13(水) 22:41:42
あぁー・・やっぱそうなるのかー

http://www.whitire.com/vbs/tips0186.html
コレとかで停止してからってのは駄目なん(・ω・`)?
244デフォルトの名無しさん:2009/05/13(水) 23:06:26
ダメというか無理やりのファイル削除は、レジストリや作業ファイルのゴミが
残る可能性が高い
レジストリや作業ファイルのゴミがあると同じアプリを二度とインストールできなくなったり
最悪OSが不安定になったりするの普通やるものではない

そもそも何故正式な方法でアンインストールしないの?
245デフォルトの名無しさん:2009/05/13(水) 23:40:01
やっぱそうかー;;
OS犠牲にしてまではしたくないな・・・

デスクトップにダイアログ常時表示させといて、選択した必要ないファイル・ソフトの削除を
チャチャッ♪っと済ませられるようにしたいなぁとか、他にも活用できそうだしねー・w・

http://www.whitire.com/vbs/tips0113.html
一応、知恵の糧になるようなものをうpってみる
レジストリのゴミ削除できるかなぁーって(ノ∀`*)
246デフォルトの名無しさん:2009/05/17(日) 09:32:28
2つのフォルダを比較して
差分ファイルを指定フォルダにコピーすることはvbsで可能?
247デフォルトの名無しさん:2009/05/17(日) 10:20:08
>>246
vbs自体にハッシュ比較の機能がないから無理
同じ名前、サイズ、タイムスタンプくらいの判定でいいなら当然可能
248デフォルトの名無しさん:2009/05/17(日) 10:43:25
>>247
さすがにスクリプトでハッシュ比較すると
処理遅いだろうからそれで十分です
ありがとう、今から作ってみます
249デフォルトの名無しさん:2009/05/17(日) 10:50:01
一度は全部読まんとハッシュも出ないから、全比較でいいんじゃね?
比較するにしてもfcとか使ったほうが早いけど。
250デフォルトの名無しさん:2009/05/17(日) 13:19:10
VBSからIEを起動して、VBSでIE内のボタン押下処理した後、

「セキュリティで保護されていない接続へリダイレクトされようとしています。
現在のサイトへ送信中の情報は、セキュリティ保護されていないサイトへ再送信される可能性があります。続行しますか?」

っていうダイアログが表示されるのですが、このダイアログの「はい」のボタンを押下するには、VBSではどのようにすればいいのでしょうか?
251デフォルトの名無しさん:2009/05/18(月) 08:45:15
処理に時間がかかる場合で
プログレスバー表示的なことが出来ればいいのだけど
みんなはどうしてる?
IEを使う方法はわかりにくいし
252デフォルトの名無しさん:2009/05/18(月) 12:35:47
IEが嫌ならコンソールに出力でもしとけよ。
253デフォルトの名無しさん:2009/05/18(月) 13:04:55
しとけよじぇねーだろ!

したらいいんじゃないですか!だろw
254デフォルトの名無しさん:2009/05/18(月) 18:23:55
じぇ
255デフォルトの名無しさん:2009/06/24(水) 00:20:51
   。
   ||
ヾ(o゚ω゚o)ノ゙ プニプニ!プニプニ!
   ||
ヾ(o゚ω゚o)ノ゙ 他板から乱入だ!プニプニ!
   ||
ヾ(o゚ω゚o)ノ゙ プニプニ!プニプニ!
   ||
   O
256デフォルトの名無しさん:2009/09/21(月) 08:47:26
>>250
キー送信でAltとかTabとかSpaceとか送信して押せないかね。

>>251
HTAでプログレスバー作るのは?
IE(HTML)でやるよりソレっぽく仕上がるけど。
257デフォルトの名無しさん:2009/10/03(土) 01:28:39
なんか完全に過疎っているな。

最近、業務での単純作業をvbsで作りこんでみて、使い勝手いいと気づいたんだが。

てか、いつもメモ帳で作っているだが、補完機能とかある軽量の開発環境ツールあったら教えて。
258デフォルトの名無しさん:2009/10/03(土) 09:02:10
補完機能なんて使うほどのものじゃないからなぁ。
VisualStudioが一応対応してるんじゃあないか?
基本的にはVBAやVisualBasicに近いものだし。

TeraPadで色付けワードにVBScript関係のモノと
WSH関係のモノ追加したのでいつも書いてる。
259デフォルトの名無しさん:2009/10/03(土) 12:38:11
即実行テスト出来るのでwpEditor使ってる
260デフォルトの名無しさん:2009/10/05(月) 20:34:03
IEの操作について質問です。
下記のように和英辞書サイトで『空港』という単語を検索するようにしたいのですが、
なぜかテキストボックスに文字が入力されません。
どうしたらいいか教えてください。

Option Explicit
On Error Resume Next

Dim strUrl
Dim objIE

strUrl = "http://dictionary.goo.ne.jp/je/"
Set objIE = WScript.CreateObject("InternetExplorer.Application")
If Err.Number = 0 Then
objIE.Navigate strUrl
objIE.Visible = True
Else
WScript.Echo "エラー:" & Err.Description
End If
Set objIE = Nothing

objIE.document.all("MT").value = "空港"

261デフォルトの名無しさん:2009/10/05(月) 20:43:28
>>260
指定方法が違う
対象のHTMLソースを確認しろ
262デフォルトの名無しさん:2009/10/05(月) 21:13:09
>>260
Dim objIE
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://dictionary.goo.ne.jp/je/"
WScript.Sleep(5000)
objIE.document.dict.MT.value = "空港"
objIE.document.dict.submit()
263260:2009/10/06(火) 17:10:24
>>261-262
回答ありがとうございます。
http://www2s.biglobe.ne.jp/~iryo/vba/IE/index00.html
のサイトを見てフォームの指定をやってみたのですがvbaとはまた違うのですかね?
vbsのIE操作のやり方が載っているサイトなどありましたら教えてください。
264デフォルトの名無しさん:2009/10/06(火) 17:49:49
>>263
基本は一緒でHTMLの知識
最初の>>260で動作しない理由は document.all("MT") では単独のコントロールを指定しないため
よって>>262ではフォーム名を入れて document.dict.MT で指定している

スレチだよな・・・
265デフォルトの名無しさん:2009/12/23(水) 20:50:33
ワード、エクセル、画像、HTMLファイルなどを指定した順番に印刷し、
各ページにページ番号をつけることってvbsで作成可能ですか?
可能だったらどのように作成するかヒント教えてください。
266デフォルトの名無しさん:2010/01/02(土) 21:28:53
ワードとエクセルならそういうフリーソフトがすでにあるけどな
ページ番号がついたかどうかは知らんが
267デフォルトの名無しさん:2010/01/05(火) 23:43:38
>>265
VBSでそういう横断的でかつ細部に至る要求なんて書けたかなってかんじ
ユーザインタフェースへの入力を自動化するのならuwscとかあるんだけど
268デフォルトの名無しさん:2010/02/15(月) 21:42:27
文字列連結.vbs

Function J(arrArg)
J = Join(arrArg, "")
End Function

Wscript.Echo J(Array(1, 2, 3, 4, 5, "A", "B", "C"))

&記号に疲れたひと用
269デフォルトの名無しさん:2010/02/16(火) 23:08:22
どこで聞いたらいいのかわからないので、スレ違いを承知でお聞きしたいのですが、
現在Windows 2003 Serverメインの環境でActive Directoryの運用中です。

ユーザアカウントの新規作成は全て手動で行っているのですが、何とかWSHやADSIを使って
CSVファイルから一括で登録処理を行えるようにしたいと思っています。

しかし、プログラムはおろかコードやスクリプトなど今まで全くさわったことが無いので
ネット上で公開されているサンプルなどを見ても、何を意味しているのかがほとんどわかりません。
勉強するに当たって、参考になる書籍やサイト、別スレなどがあればアドバイスをお願いします。
270デフォルトの名無しさん:2010/02/16(火) 23:16:13
>>269
このあたりが基本
http://technet.microsoft.com/ja-jp/scriptcenter/default.aspx
スクリプト一覧からカテゴリ別サンプルが探せる
271269:2010/02/17(水) 00:37:23
>>270
ありがとう。
そこも見たんだけど、そもそも一つ一つのメソッドがどういうオブジェクトを生成してるのかや、
何故それをしなければならないのか、っていうところからわからなくて困ってる。

Set objCommand = CreateObject("ADODB.Command")
なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。

Scripting guysなんかも読んでるけど、突然理解が追いつかなくなるんだ…
才能無いから諦めた方がいいのかと悩んでしまう
272デフォルトの名無しさん:2010/02/17(水) 00:50:43
>>271
あきらめるの早すぎ。
ADOは一度使い方を覚えれば使いまわせるよ。

VBSでWSHやる前に、
ExcelのVBE環境で色々試してみてはどうか?
ADOもADSIも使えるよ。
デバッガで変数の中身を確認できるので、イメージが膨らむはず。
273デフォルトの名無しさん:2010/02/17(水) 01:06:45
>Set objCommand = CreateObject("ADODB.Command")
>なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
>例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
>その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。

気にすんな
ほとんどの自称プログラマはそこらへんのサンプルコピペして
意味も判らず使ってるだけのレベル
わからんでもこねくりまわしてるうちにとりあえず動く

全部判って書いてる香具師の方が少数だから安心汁
274269:2010/02/17(水) 01:23:56
>>272>>273
アドバイスサンクス。
3ヶ月程悩み続けてたんだが、プログラムとスクリプトの違いすらわからないくらいに初心者なもんで、
参考になる本も探してみたけど、どれも求めているものとは違うから挫けかけてた。

ExcelとかAccessのVBAだと、変数の宣言とかコマンドのプロパティが若干違ってくるから
あえて敬遠してたけど、そっちでも色々試してみる。
もっとも、WSHだと変数はWScript.Echoで確認できるけど、生成したオブジェクトの確認方法が不明だったから
コピペしてきたサンプルが何のために何をしてるのかわからなくて、
その度に途方に暮れてたけど、ちょっと頑張れそうな気がしてきた。

また分からなかったら初心者丸出しの質問をするかもしれないけど、
とりあえず明日から改めて出直してくる。

本当にありがとう!!
275デフォルトの名無しさん:2010/02/17(水) 01:38:07
キーワードと "MSDN" をあわせてググレばたいていの説明は出てくる。
276デフォルトの名無しさん:2010/02/21(日) 17:08:50
test
<pre>
p
</pre>
277デフォルトの名無しさん:2010/02/21(日) 17:29:45
文字列の一部をコメントアウトする.vbs

Wscript.Echo "" _
& "aaa" _
& "bbb" _
& C("" & "ccc" _
) & "ddd" _
& ""

Function C(strArg)
C = ""
End Function

rem とかじゃだめなのさ
278デフォルトの名無しさん:2010/02/28(日) 16:55:49
文字列の一部をコメントアウト2.vbs

Set objDic = CreateObject("Scripting.Dictionary")
i = 0
i = i + 1 : objDic.Add i, "cmd.exe /c"
i = i + 1 : objDic.Add i, "("
i = i + 1 : objDic.Add i, "dir /w"
rem i = i + 1 : objDic.Add i, "|"
rem i = i + 1 : objDic.Add i, "sort /r"
i = i + 1 : objDic.Add i, "|| (pause & exit)"
i = i + 1 : objDic.Add i, ")"
i = i + 1 : objDic.Add i, "&& (echo well done. & pause)"
strCommandLine = Join(objDic.items, " ")
CreateObject("Wscript.Shell").Run strCommandLine
279デフォルトの名無しさん:2010/04/21(水) 01:42:59
だれかEXECメソッドの使い方教えてください;;
ググっても分からない。。
280デフォルトの名無しさん:2010/04/21(水) 06:59:22
wordの.docファイルに埋め込まれた画像をbmpで取り出すプログラムを書いています
Office2003以降のwordがインストールされているPCからだとうまく取れたのですが
OfficeXP以前のwordがインストールされているPCだとうまく動きません
どちらもword2000形式で保存されているファイルに対して操作しています
OfficeXP以前のwordがインストールされているPCでも動くように書くにはどうすればよいですか
281デフォルトの名無しさん:2010/04/21(水) 07:42:42
282質問なんすが:2010/06/09(水) 01:05:23
vistaでファイルを選択するためのダイアログ ボックスを表示するには?
Hey, Scripting Guy! にあった

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
Wscript.Echo objDialog.FileName
End If


では1行目でエラー
ActivXコントローラはObjectを作成できないそうです
283デフォルトの名無しさん:2010/06/09(水) 02:17:23
>>282
XPでファイルを選択するためのダイアログ ボックスを表示するには?
の間違いだろ。
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct07/hey1026.mspx
284デフォルトの名無しさん:2010/06/28(月) 17:05:36
>>282
http://technet.microsoft.com/ja-jp/scriptcenter/ee695752.aspx
>UserAccounts.CommonDialog オブジェクトは、セキュリティ上の問題から Windows Vista で廃止されました。
285デフォルトの名無しさん:2010/07/05(月) 11:44:59
VBSって何?
286デフォルトの名無しさん:2010/07/05(月) 11:59:08
Virtual Big Size
287デフォルトの名無しさん:2010/07/05(月) 22:22:36
VESA BIOS Services
288デフォルトの名無しさん:2010/07/05(月) 22:46:32
Vagina Burst Shower
289デフォルトの名無しさん:2010/07/06(火) 09:19:02
Visual Browsing System
290デフォルトの名無しさん:2010/07/24(土) 17:30:04
数万件のデータをテキストへの書き出す方法で、軽くて早くしたいわけだが
書き出し方法としては

・データごとに直接書き込み
・変数に格納してから一括書き込み
・クリップボードに格納してから一括書き込み

の他になにかある?
配列に格納してエクセルシート経由くらいしか思い付かない
291デフォルトの名無しさん:2010/07/26(月) 11:43:18
元データの格納場所がDBならSQLって手もあるな
292デフォルトの名無しさん:2010/07/26(月) 13:40:13
複数箇所のフォルダ管理だからDB化は難しいかな

そして変数もクリップボードも足りなくて使えないや
数万件ファイル名に各々文字列連結して全部つぎ込むとかムリゲ
txtに書き出すなら配列に格納する意味無さそうだしなあ
293デフォルトの名無しさん:2010/07/26(月) 14:02:03
クリップボード出来ないことはないが、テキストに書き出す20倍くらい時間かかってる
IEクリップボードのせいか?
VBなら早いのに

バックグラウンド処理するのにこんなに時間も負荷もかかるなら、クリップボードは使えないな
294デフォルトの名無しさん:2010/07/26(月) 18:15:12
質問です!
クリップボード使ってテキスト書き出しってど〜やるの?
295デフォルトの名無しさん:2010/07/26(月) 18:37:47
IE使うのが一般的かな
上がクリップボードから読み出し
下がクリップボードへ書き出し
書き出すときはクリップボードをクリアしてから格納すること
Microsoft Forms 2.0設定できればクリップボードも早くなるかもしらんが

objIE.document.parentWindow.clipboardData.GetData( "Text" )
Document.parentWindow.clipboardData.setData "text",""
296デフォルトの名無しさん:2010/07/26(月) 18:40:17
いや、その後に「一括書き込み」するんでしょ?そっちのやり方。
297デフォルトの名無しさん:2010/07/26(月) 19:17:44
何を聞きたいのかよくわからんが・・・
objOutFile.WriteLine strDate で書き込めるだろ
改行したいならクリップボードに格納するときに VBCRLFでつなげればテキストには反映される
298デフォルトの名無しさん:2010/07/26(月) 19:27:58
いや、なにか「速い」機能があるのかと思って・・・

VBだと速いの?
299デフォルトの名無しさん:2010/07/26(月) 20:30:10
そういうことか

前エクセルVBA使ってたときは、クリップボード経由のデータ貼り付けってかなり早かった気がする。
とはいえエクセルだと配列→セルが強力すぎるからあんまり使わないんだけれども。
300デフォルトの名無しさん:2010/09/30(木) 20:04:17
Set objFSO = CreateObject("Scripting.FileSystemObject")

set objOpenFile=objFSO.OpenTextFile("C:\hoge.txt",1,false)

msgbox "ロックちゅ〜"



なんかもんだいありまっか?
301デフォルトの名無しさん:2010/09/30(木) 20:45:49
ファイルロックを同期に使うなとあれほど
302デフォルトの名無しさん:2010/10/22(金) 12:09:59
WshShell.Environment("USER").Item("UNKO") = "うんこ"
Wscript.Echo WshShell.ExpandEnvironmentStrings("%UNKO%")

結果:%UNKO%

値を「うんこ」に設定できません。自分で自分の環境変数は変えられないのですか?
303302:2010/10/22(金) 12:35:04
自己解決しますた
304デフォルトの名無しさん:2010/10/25(月) 20:30:58
以前、自動生成するファイルの拡張子に
.unk ってのを使ってたら(内容不明の場合に作るファイル)
「別に拡張子はナニつかってもいいけどさぁ
 "うんこ"ってのは、ちょっとどうなのよ」
て先輩に言われたことがあったのを思い出した。
305デフォルトの名無しさん:2010/10/26(火) 01:31:14
shine.unko
こんな感じですか?わかりません。
306デフォルトの名無しさん:2010/10/26(火) 18:43:40
>>305
unknownだっつってんだろダラズ
307デフォルトの名無しさん:2010/10/26(火) 21:42:34
うんこなうんか
308デフォルトの名無しさん:2010/10/29(金) 23:53:34
>>304
Lotus Notesなんかも添付ファイルが理解できない時に吐くみたいだね>unk
個人的には3文字中「un」で2文字使うのはどうかと思うので
「UKN」の方が好きだけど(天気図等で使うが少数派…)

いっそのこと3文字にこだわらずに拡張子を「.unknown」にしちゃえば?
(dir /xなど)8.3文字表示で見ると、ちゃんと「.unk」になるし
309デフォルトの名無しさん:2010/10/30(土) 03:10:54
>>308
なるほど、 .ukn か。

.unknownでもまぁ問題は無い気がするが
.unk でも十分伝わると思うんだ。
うんこって読む奴がうんこ。
310デフォルトの名無しさん:2010/10/30(土) 09:52:51
むしろunkでうんこって読める先輩って
kwsk、ktkr、wktk、ksk、gkbrみたいなアブジャド系表記に慣れてる2chねらなんじゃないのかw
311デフォルトの名無しさん:2010/10/31(日) 22:53:19
他コンピューターのパスを返す時に、ネットワークドライブ(\A〜Z)ではなく、
\\サーバー名\フォルダ〜というようにする方法はありますか?
312デフォルトの名無しさん:2010/11/01(月) 00:28:50
あります
313デフォルトの名無しさん:2010/11/06(土) 00:05:55
おまえ、わざと意地悪してるだろ
同僚や部下から嫌われるタイプだな
314デフォルトの名無しさん:2010/11/06(土) 00:06:48
死ねよ
315デフォルトの名無しさん:2010/12/25(土) 06:45:27
久しぶりになにかをVBSで書きたい。
316デフォルトの名無しさん:2010/12/26(日) 21:35:06
じゃあ「何か」を書いてみればいい。
317デフォルトの名無しさん:2011/01/02(日) 00:13:10
MsgBox "Hello World!!"
318デフォルトの名無しさん:2011/01/02(日) 00:18:17
MsgBox "Happy New Year !"
319デフォルトの名無しさん:2011/01/02(日) 00:23:59
ゴサっ

--------------------
dim i
dim j

for i=1 to 1000

j=j+0.1

next

MsgBox j
320デフォルトの名無しさん:2011/01/04(火) 13:34:29
TEXTファイルから
特定の文字や特定の行を抜き出す
スクリプトってない?
三次元測定機からCADに
XYZ手動で打ち込むのもういやになった。
321デフォルトの名無しさん:2011/01/04(火) 15:12:23
>>320
ある。というか簡単だよ
テキストファイルを開いて1行ずつ読みながら正規表現等でチェックしていくだけ
2行以上に渡るデータだと少し面倒だけど大した手間ではない

でも仕様によってはわざわざ作らずに
SakuraエディタなどのテキストエディタのGrep機能で充分だったりするけど
322デフォルトの名無しさん:2011/01/04(火) 17:00:53
textファイルをドラッグアンドドロップで

DIM LOC1= LOCATION OF CIRCLE CIR1 UNITS=MM ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 469.343 0.050 -0.050 469.343 0.000 0.000 ---#----
Y 2.106 0.050 -0.050 2.106 0.000 0.000 ---#----
Z 412.000 0.050 -0.050 412.000 0.000 0.000 ---#----
D 53.996 0.050 -0.050 53.996 0.000 0.000 ---#----
DIM LOC4= LOCATION OF CIRCLE CIR4 UNITS=MM ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 386.074 0.050 -0.050 386.074 0.000 0.000 ---#----
Y 2.461 0.050 -0.050 2.461 0.000 0.000 ---#----
Z 577.913 0.050 -0.050 577.913 0.000 0.000 ---#----
D 44.971 0.050 -0.050 44.971 0.000 0.000 ---#----
     ↑こんな感じの中身を
     こんな風に↓
/469.343/2.106/412.000
/386.074/2.461/577.913

XYZを/に置き換えて
さらにXYZのNOMINALの数字だけを残して
さらにデスクトップにtextで保存されるようなやつです
難しいですね、すいません
323その1:2011/01/04(火) 22:51:41
>>322
とりあえず作ってみた

' [仕様]
' NOMINALの位置は固定(XYZの直後)
' X,Y,Zはこの順番で必ず出現
' 数値間はスペース区切り
' 出力ファイルはデスクトップに元ファイル名(拡張しなし)_XYZ.txtというファイル名で出力
Dim fso,wshShell,regXYZ
Dim inFilePath,outFilePath,inFile,outFile,sDeskTopPath,sLine,retMatches
Dim X,Y,Z,isOutput
Const REG_XYZ_NOMINAL = "^([XYZ]) +([^ ]+) " ' 先頭XYZ の後空白があり次に空白が来るまでの値
Const OUT_FILE_TAIL = "_XYZ.txt" ' 出力ファイル末尾
Set wshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set regXYZ = New RegExp
With regXYZ
.IgnoreCase = False ' 大文字小文字区別する
.Global = False ' 先頭の一致のみ
.Pattern = REG_XYZ_NOMINAL
End With
sDesktopPath = wshShell.SpecialFolders("Desktop") ' デスクトップの取得
inFilePath = WScript.Arguments(0) ' 入力ファイル
If Not fso.FileExists(inFilePath) Then MsgBox(inFilePath & "が存在しません"):WScript.Quit
outFilePath = fso.BuildPath(sDesktopPath, fso.GetBaseName(inFilePath) & OUT_FILE_TAIL)

If fso.FileExists(outFilePath) Then
If MsgBox(outFilePath & "ファイルが存在します。上書きしますか?", vbYesNo ) = vbNo Then Msgbox "処理を中止しました":WScript.Quit
End If
324その2:2011/01/04(火) 22:52:49
Set outFile = fso.CreateTextFile(outFilePath, True)
Set inFile = fso.OpenTextFile(inFilePath, 1, False)
X="":Y="":Z="":isOutput = True
Do While ( Not inFile.AtEndOfStream )
sLine = inFile.ReadLine
Set retMatches = regXYZ.Execute(sLine)
If ( retMatches.Count > 0 ) Then
Select Case retMatches(0).Submatches(0)
Case "X"
X = retMatches(0).SubMatches(1):isOutput = False
Case "Y"
Y = retMatches(0).SubMatches(1):isOutput = False
Case "Z"
Z = retMatches(0).SubMatches(1)
outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
X = "":Y="":Z="":isOutput = True
Case Else
End Select
End If
Loop
if ( Not isOutput ) Then outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
inFile.Close:outFile.Close
set inFile = Nothing:set outFile = Nothing:set WshShell = Nothing
set fso = Nothing:set regXYZ = nothing
MsgBox "完了"
' その1とその2の内容を一つのテキストファイルに貼り付け XYZ.vbs 等のファイル名で保存してください
325323:2011/01/04(火) 23:46:30
追記
ソースを短くするために複数ファイルのドラッグ&ドロップには対応していません
# 複数の関数に分かれていたのを1つにまとめたりしたので

↓辺りを参考にすれば変更は容易です
ttp://msdn.microsoft.com/ja-jp/library/cc364473.aspx
326デフォルトの名無しさん:2011/01/05(水) 10:04:58
プログラム板凄すぎワロタw
ありがとうございます!
327デフォルトの名無しさん:2011/01/07(金) 15:49:03
どなたかリムーバブルメディアを取り出すvbs作ってください
お願いします
ジャンクのスロットローディング式のドライブ買ったらボタンがありませんでした
328デフォルトの名無しさん:2011/01/07(金) 16:53:37
011100111111011111
011110000111101111
001111100011110110
111010101101011101
100011101010101010
329デフォルトの名無しさん:2011/01/08(土) 08:04:12
>>327
ちょっと検索すれば出てくる。少しは自力で探そう

VBSにこだわらないのなら
Vectorで「トレイ 開閉」とかで検索すればフリーソフトがいくらでもあるし

と言ってるうちに見つけた。1行で書けるのが面白かったので個人的にメモ

' 光学ドライブが1台の場合
CreateObject("WMPlayer.OCX").cdromcollection.item(0).eject()

' 光学ドライブが複数ある場合などドライブ指定が必要な時(例は Q: ドライブ)
CreateObject("WMPlayer.OCX").cdromcollection.getByDriveSpecifier("Q:").eject()
330デフォルトの名無しさん:2011/01/08(土) 12:38:00
>>329
APIしか思い浮かばなかった俺には目から鱗だわ<WMPlayer
331デフォルトの名無しさん:2011/01/08(土) 21:00:10
>>329
もうCで作っちゃったけど
1行で済むんですね
ありがとうございました!
332こいぴ:2011/01/09(日) 21:54:03
業務で、VBSにデジタル署名をする必要が出ました。
各種調査しましたが、どうしても方法が解りません。
どのたか、ご教示願います。
333デフォルトの名無しさん:2011/01/09(日) 23:18:39
>>332
ここが色々手順を説明しているので分かりやすいと思う
ttp://msdn.microsoft.com/ja-jp/library/ms974604.aspx
334デフォルトの名無しさん:2011/01/10(月) 21:05:09
無料RPG製作ツール「ロープレジェネレーター」

 直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
 他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。
335デフォルトの名無しさん:2011/01/28(金) 13:34:09
デスクトップ上に任意の文字だけを表示するVBSを作るのはむずかしいでしょうか?
336デフォルトの名無しさん:2011/01/28(金) 14:47:38
>>335
目的がよくわからないけど
スクリーンセーバーでテキスを表示しておけばいいんじゃない?
337デフォルトの名無しさん:2011/01/28(金) 14:52:47
>>336
目的はホットキーに埋め込まれたマクロの実行をする際に

その実行するモードがいま何になっているかをキーを押した時に数秒デスクトップ上に表示させるためです。

338デフォルトの名無しさん:2011/01/28(金) 20:13:40
>>335だけ見ると、そんなの簡単じゃんって思うが。>>337は意味わからんわ。
339デフォルトの名無しさん:2011/01/29(土) 01:00:36
何か文字列を数秒間デスクトップ上に表示させるってだけなら、
もし俺ならVBSではなく以下のバッチファイルで手っ取り早く済ませるんだが…

@ECHO OFF
ECHO 表示したい文字列
PING 0 > NUL
PING 0 > NUL
EXIT
340デフォルトの名無しさん:2011/01/29(土) 07:18:06
それ、"デスクトップ上に"ではなく"ウィンドウ内に"だろ

それで良いならわざわざバッチファイル使わずWScript.ShellのPopupで良いはず
341デフォルトの名無しさん:2011/01/29(土) 08:29:29
>>338-340
具体的なイメージで言うと
透明ウィンドウにテキストのみ表示するかバルーンメッセージ的なものを考えていたのですが
VBSで透明ウィンドウはできないっぽいのであきらめようと思います
342デフォルトの名無しさん:2011/01/29(土) 09:14:11
まあ外部COM使えばどうにでもなる話ではあるが、
それ言うと他も全て「COM使え」で終わってしまう。
343デフォルトの名無しさん:2011/01/30(日) 22:09:09
しまうね
344デフォルトの名無しさん:2011/02/01(火) 21:14:34

       +           +
         +      +
    +     シマウネ━━━━━━━!!!!  +
          /・/\__       +
     +    丶'\||||||||||)〜  +
             << ̄>/    
      _|\∧∧∧MMMM∧∧∧/|_
     >                  <
  ─ / ──┐  /_   /_ヽ|  |ヽ  ム ヒ | |
 ─ /    / / ̄ /   ̄/  | ̄| ̄ 月 ヒ | |
 __ノ   \    _ノ   //\ / | ノ \ ノ L_い o o
345デフォルトの名無しさん:2011/02/01(火) 23:48:04
よろしくお願いしまう
346デフォルトの名無しさん:2011/02/08(火) 22:16:59
VBスクリプトで起動時にリモートデスクトップをマルチセッションで同時起動するスクリプトを書きましたよ

ttp://xbmc.inpane.com/main/omake/windows.php#rdp
347デフォルトの名無しさん:2011/02/09(水) 18:09:40
質問です。

フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックするやり方を教えてください。また、テキストファイルに記述されていないファイルが存在する場合もNGとしたいです。
348デフォルトの名無しさん:2011/02/09(水) 19:43:41
>>347
詰まる部分があるとは思えない初歩的なプログラムな気がするんだが。
とりあえず書いた所までどこかにアップしてみてよ。
349デフォルトの名無しさん:2011/02/09(水) 20:24:29
どこかにアップっていうか、ここに貼ればいいんじゃね?
そんな長いコードにはならんだろ
350デフォルトの名無しさん:2011/02/09(水) 21:15:33
いや、かなり長いコードになるかもよ。
前半の
>フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックする
コレは簡単だよな。悩むこたぁない。

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

考え方としては、前半の処理と、後半の処理は完全に分けて
2本の別のプログラムを書くような気持ちでコーディングすればいいんじゃないかな。
351デフォルトの名無しさん:2011/02/09(水) 21:36:33
何処が厄介?

テキストに書かれたパスを連想配列に入れて
対象フォルダ内のファイルをループ回しながらExistsでチェックするだけだろ
352デフォルトの名無しさん:2011/02/09(水) 21:59:35
ほらね。わかってない。
353デフォルトの名無しさん:2011/02/10(木) 01:35:05
解ってないのは350。恥ずかしい、、、
354347:2011/02/10(木) 08:01:03
皆さんありがとうございます。

前半部分は大体イメージをつかめているのですが、後半部分でつまってます…
355デフォルトの名無しさん:2011/02/10(木) 08:06:41
とにかく自分で出来る部分まで書いて貼るなりどこかにアップするなりしろ

話はそれからだ
356デフォルトの名無しさん:2011/02/10(木) 11:30:54
つまり全ドライブの全フォルダを検索しなきゃならんな
357デフォルトの名無しさん:2011/02/10(木) 11:48:49
普通に考えれば、対象は一部(特定のフォルダ以下)だろ
358デフォルトの名無しさん:2011/02/10(木) 13:09:11
>>357
どうしてそう言い切れる。
本人はフルパスファイル名、つまり絶対パスを指定しているんだぞ
特定フォルダでいいなら相対にするだろ常識的に考えて
359デフォルトの名無しさん:2011/02/10(木) 13:17:09
昨今、相対パスが使われるのは相対パスでなければ困る場合のみで
どちらでも構わない場合は絶対パスを使うことの方が多い件について。
360デフォルトの名無しさん:2011/02/10(木) 15:02:25
>>347が情報小出しにするからイカンのだ
こういう質問者って大体足りてないよな色々と
361デフォルトの名無しさん:2011/02/10(木) 20:22:36
>>359
zipとかの書庫ファイルはなんで相対パスで格納してるか理解できる?
何のためにカレントディレクトリって概念があると思う?
何でわざわざ%SystemRoot%とか環境変数を定義してるのか疑問に思わない?
362デフォルトの名無しさん:2011/02/10(木) 20:26:38
相対パスが絶対的に必要ではない場合はって話をしてるのに
全く的はずれな例を持ってきたな

そういうことは相対パスそのものが無意味とか宣ってる奴に言ってやれ
363デフォルトの名無しさん:2011/02/10(木) 21:27:12
どちらでも構わない場合、ってどういう場合だよ
レスにアンカー付けるときにわざわざ
http://hibari.2ch.net/test/read.cgi/tech/1170492587/362
なんてする奴はいないだろ
逆に「絶対パスが使われるのは絶対パスでなければ困る」時でしかないだろ
364デフォルトの名無しさん:2011/02/10(木) 21:49:46
狭量なやつw
365デフォルトの名無しさん:2011/02/10(木) 22:58:35
>>361
質問者はzipファイルの中身まで調べるなんて設問はして無いだろ。
なんでオマエは論点をずらそうと必死なんだ?
366デフォルトの名無しさん:2011/02/12(土) 11:50:55
vbscriptでmicrosoft bluetooth stackの接続情報を得ることはできませんか?
367デフォルトの名無しさん:2011/02/13(日) 08:23:52
"E:\hogehoge\hoge"
というフォルダが存在した場合、そのフォルダを削除。
存在しなければそのまま終了。

という簡単なスクリプトを教えていただけませんでしょうか?
368デフォルトの名無しさん:2011/02/13(日) 08:51:10
いいよ。

で、どこを教えて欲しいの?
まさか1から10まで丸投げで全部書いてとは言わないよね?
しかも質問スレではなく、自分の書いたものを晒すスレで。
369デフォルトの名無しさん:2011/02/13(日) 14:02:19
いや○投げスレじゃね?ここ。
370デフォルトの名無しさん:2011/02/13(日) 14:18:16
>367
VBSじゃないが、これで事足りないか?
if exist "E:\hogehoge\hoge\." rd/s/q "E:\hogehoge\hoge"
371367:2011/02/13(日) 14:31:51
なんだか趣旨がよくわからないスレでしたが、どこへ質問すれば良いのかわからず、とりあえず書き込んでしまいました。
申し訳ありません。

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

ありがとうございました。
372デフォルトの名無しさん:2011/02/13(日) 14:32:35
hoge\. だとhogeってファイルがあった時も反応するんだよな。
hoge\nul だとディレクトリしか反応しない。
373デフォルトの名無しさん:2011/02/14(月) 23:17:24
質問スレがみつからなかったので、こちらで質問させて頂きます。
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")
って実行した時に、標準出力に結果を出さないようにする方法ってありますか?
ipconfig 1 > nul
みたいな感じで、エラー発生時以外はすべて返ってくる結果を捨てたいのです。
そのまま書いてもうまく動かないです。
374デフォルトの名無しさん:2011/02/15(火) 00:05:35
つgoogle [wscript Exec 標準出力]
375デフォルトの名無しさん:2011/02/15(火) 00:17:00
>374
トラップされるって事は、読み出さない限り無視されるって事ですか?
376デフォルトの名無しさん:2011/02/15(火) 00:19:20
> 標準出力に結果を出さない
はipconfig.exeが対応してなきゃ出来ないよ

WSH(EXEC)が受け取った標準出力を
「コンソールウィンドウに表示しない」
ならどうにでもなるけど
377デフォルトの名無しさん:2011/02/15(火) 00:36:44
>376
コンソールウィンドウに表示しないと、1 > nul って同じ扱いですか?
質問ばかりで申し訳ない。
378デフォルトの名無しさん:2011/02/16(水) 00:51:30
ipconfigはネットワーク設定を確認する為のプログラムなんだから
エラーになるのはexeが見つからない時ぐらいじゃねーの。
ネットワーク設定されて無い時は"設定無し"って正常終了するんだし
379デフォルトの名無しさん:2011/02/16(水) 02:01:02
380デフォルトの名無しさん:2011/02/16(水) 09:26:36
pingで表示したくなくて、WMI使ったな

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

Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Address = '" & hoge & "'")
381デフォルトの名無しさん:2011/02/16(水) 13:03:00
何かすげぇな…

CreateObject("SAPI.SpVoice").Speak"Wellcom to VBScript."
382デフォルトの名無しさん:2011/02/17(木) 05:50:16
CreateObject("SAPI.SpVoice").Speak"KoNoHaYaSaNaRa. Ieru. Null Po."
383デフォルトの名無しさん:2011/02/17(木) 12:24:42
CreateObject("SAPI.SpVoice").Speak"Gutt."
384デフォルトの名無しさん:2011/02/17(木) 22:51:24
"null poor" "gad"にしたらそれっぽく聞こえるようになった
385デフォルトの名無しさん:2011/02/17(木) 23:00:22
こんな化石ネタに乗ってくる奴が居るとは、、、
386デフォルトの名無しさん:2011/02/20(日) 20:13:23.14
ほるだー内にあるoutlook6のメッセージファイル.emlを検索して、エクスプローラにリンク表示するプログラムを作ってます
が、.emlが開けない
アウトルックを軌道してクリックしたメッセージを表示したいのですが、どう書けばいいのでしょう。
wshshell.runでは出来ませんでした……
387デフォルトの名無しさん:2011/02/21(月) 01:17:30.92
ISPの切断>接続をしてくれるPGをどなたかキボン!
telnetでルータ(Aterm)に入って、PPPoEを再接続してくれる物です。
388デフォルトの名無しさん:2011/02/21(月) 07:28:22.68
だからここは自分で作って晒すスレで
質問スレや制作依頼所じゃないと何度言えば…
389デフォルトの名無しさん:2011/02/21(月) 09:56:31.24
ほかにいくか……VBSじゃなくてIEの問題な気がしてきた
390デフォルトの名無しさん:2011/02/21(月) 21:02:49.69
丸投げされるのはムカつくけど多少の質問ならいいんじゃね?

>>387
telnetで入れるならTeraTerm等でマクロ作ったほうが簡単。
もっとも擬似GUIだとお手上げだが。
391デフォルトの名無しさん:2011/02/26(土) 01:19:27.04
昔、telnetをラップするvbs作ったことあったな…
392デフォルトの名無しさん:2011/04/09(土) 21:38:36.77
こんな感じでマイドキュメントをコピーしてバックアップを
取ろうとしてるんですが、Windows 7だとエラーが返ってきて、
コピーできません。
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder "C:\Users\Admin","C:\test"
AdministratorでもコピーできないのってUACの仕様ですか?
393デフォルトの名無しさん:2011/04/09(土) 21:50:40.23
394デフォルトの名無しさん:2011/04/10(日) 00:04:08.05
395デフォルトの名無しさん:2011/04/10(日) 00:16:29.59
>>390を引き合いに出すなら、それを引き合いに出した>>394自身が答えてやらないとなw
396デフォルトの名無しさん:2011/04/10(日) 06:02:52.24
>>392
UACというかVistaからの仕様です
例え管理者といえど他人の敷地には許可無く進入は出来ません。
今までのウィルスならこれで全て無力化される、そんぐらい厳しい仕様。
因みにAdminとAdministratorは別物だよ。
XPまでのユーザー管理とは似た非なるものと認識しておこう。
ポリシーいじれば同じ感じに出来るけどめんどい。
397392:2011/04/10(日) 19:18:31.68
>>393
>>394
質問スレじゃないの理解してませんでした。申し訳ない。

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

>>396
かなりめんどくさそうですね。手作業でやった方が速いのかも…
アクセスフォルダに所有権とかつけてみて、もうちょっとやってみます。
ありがとうございます。
398デフォルトの名無しさん:2011/04/23(土) 17:43:43.24
唐突ですがウサギ型ロボットをR2D2にするためのVBSを公開しましたよ
ttp://xbmc.inpane.com/sub/nabaztag/
399デフォルトの名無しさん:2011/04/23(土) 23:30:59.78
会社の共有PCの管理のため、Windowsのログオンスクリプトにかまして、
とあるプロセスを監視しています。
なので基本的にユーザーがログイン中は常にWscript.exeが動いているのですが、
↓のような無限ループでもいいんですかね?
なんとなく無理やりな感じがして、もっとスマートなやり方があるでしょうか?



Call プロセス監視処理

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

A
SUb やりたい処理
'やりたい処理がおわったらまた、プロセス監視処理をCall
End Sub
400デフォルトの名無しさん:2011/04/27(水) 22:03:44.07
おまえら>>399これくらいも答えられないのかよ
死ねっ!能無しども
会社でもろくな仕事してないんだろうなぁ・・
401デフォルトの名無しさん:2011/04/27(水) 22:11:12.36
>>400
あんまし読んでないしてきとーだけど再帰処理っぽいなと思った。
見つかるまで自分自身を呼び続けたらいいべさ
402デフォルトの名無しさん:2011/04/27(水) 22:38:33.12
403デフォルトの名無しさん:2011/05/20(金) 13:19:16.79
ここで聞いていいのか分かりませんが、分かる方いたら教えてください。
コマンドラインでフォルダを圧縮するためにZIP.VBSというのを使っているのですが、
MakeZIP.VBSでフォルダを圧縮する際、zipファイルにフォルダ名が格納されてしまいます。

photo
 ├aa.jpg
 └bb.jpg

上記のような場合に、zipファイルにphotoフォルダも格納されます。
これをphotoフォルダを格納せず、ファイルのみ格納するにはどこを修正すればよいのでしょうか。
よろしくお願いします。
404デフォルトの名無しさん:2011/05/20(金) 14:38:03.93
そもそもスレ違いだが、それ解らないレベルならZIP.VBSなんか使わずに
コマンドライン型のアーカイバツール使えよ。
GUIで予め設定しておけば渡したフォルダの中身だけ圧縮してくれるものなんて
いくらでもあるから。
405デフォルトの名無しさん:2011/05/23(月) 11:47:33.82
修正も何もコマンドラインをまず書けよ、なっ?
406デフォルトの名無しさん:2011/06/05(日) 10:08:34.52
ブ・・・vbs・・・
わしは・・ワシは今までこんな素晴らしい言語があるなんて知らなかった・・・!
APIなんかいらないじゃん!
407デフォルトの名無しさん:2011/06/05(日) 11:18:49.84
VBSにD&Dしたものを他のソフトのウィンドウへD&Dとして受け渡すことは可能ですか?
408デフォルトの名無しさん:2011/06/05(日) 18:56:55.67
ファイルへのD&Dなら可能
これは単なるコマンドライン実行なので

ウィンドウへのD&Dならデフォでは不可
専用のCOMでも作るか探すかすれば出来ないことはないだろうけど
409デフォルトの名無しさん:2011/06/06(月) 00:45:23.45
サンプルをいじることしか出来ない私には手に負えないですね…
諦めで別な方法を模索してみます
410デフォルトの名無しさん:2011/06/14(火) 02:40:29.91
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>:)|\</?.+?\> で置換して余計なものを取り除けばできました。
しかし、<dd>や<br>などの改行にあたる部分も別途置換しないといけないのでここで詰まってます。
片方づつなら出来るのですが同時に1スクリプト内
でやろうとするにはどうすればいいのでしょうか?


411デフォルトの名無しさん:2011/06/14(火) 02:45:14.28
\<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
412デフォルトの名無しさん:2011/06/14(火) 02:45:45.67
' 書き込みの前から' 正規表現パターンを指定するへループして繰り返せればなと考えているのですが上手く思いつきません。
もし、わかるかたがいらっしゃれば教えてください。よろしくお願いします。
413デフォルトの名無しさん:2011/06/14(火) 04:43:26.73
やりたい事がいまいちわからないが、
複数回やりたいんであれば、
正規表現パターンを配列に入れて、ループするだけじゃないかな〜
414デフォルトの名無しさん:2011/06/14(火) 07:48:13.52
>>411
objRep.Pattern = "<(""[^""]*""|\'[^\']*\'|[^\'"">])*>"
こういうことじゃなくて?
415デフォルトの名無しさん:2011/06/14(火) 19:38:12.72
なんでdat使わないで、
わざわざhtmlなんて難しいものを使う?
416デフォルトの名無しさん:2011/06/15(水) 11:59:02.32
ちょっと見てみた、確かにhtmlよりdatのほうが容量4割減でおいしいんだけどタイトル取得できないのとコメ番号ないから置換するときどうやって割り当てようか思いつかない
417デフォルトの名無しさん:2011/06/15(水) 12:03:32.40
よくみたら1行目の最後にタイトルあったわ
418デフォルトの名無しさん:2011/06/15(水) 19:08:23.10
デスクトップから2ch検索するvbs作ってるんだけど、
変数の件でわからないところがある。
Dim 変数 で宣言する
このとき変数が、例えば2churlとかだと識別子がありません。とエラーがでる

churlなら問題ない、どうして先頭に数字がくるといけないんですか?
識別子がありません。
419デフォルトの名無しさん:2011/06/15(水) 19:30:46.07
先頭に数字が来ることを許すと
Dim 2
とか
Dim 123
という変数が出来てしまう

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

1文字目が英字でさえあれば、1文字変数でも、2文字目以降が数字でも
確実に変数と数値を識別できる
420デフォルトの名無しさん:2011/06/17(金) 20:55:49.75
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
421デフォルトの名無しさん:2011/06/19(日) 01:45:19.27
選択プルダウンボックスとか作れたら便利になるのになぁ
422デフォルトの名無しさん:2011/06/19(日) 02:28:19.04
VBSで選択プルダウンボックス使ってるけど、何か?

VBSというかWSHは、COM、OCXで拡張してナンボなんだから
欲しいけど言語に備わってない機能は、外部で補えば良いだけだ
423デフォルトの名無しさん:2011/06/19(日) 07:13:15.16
自分専用ならそうだろうけど、
comはインストールの壁が越えられない
424デフォルトの名無しさん:2011/06/19(日) 07:17:25.40
超えられるけど、何か?
USBメモリで持ち歩いて使ってる
COMのレジストリ登録を自動化してるとかではなく未登録で
425デフォルトの名無しさん:2011/06/19(日) 07:43:48.47
自信満々で「超えられるけど、何か?(キリッ」だもんなあw
426デフォルトの名無しさん:2011/06/19(日) 08:09:56.20
自信満々に言った「comはインストールの壁が越えられない(キリッ」
を否定されて悔しかったの?
427デフォルトの名無しさん:2011/06/19(日) 08:19:38.57
GetObject
428デフォルトの名無しさん:2011/06/19(日) 08:29:07.02
USB股間に忍ばせて持ち歩く男の人って・・・///
きみの端子にプラグ★イン!
429≠423:2011/06/19(日) 10:02:11.33
>>426
あのね、ある程度の会社ならね、勝手にツール類をインストールする事ができないのね。

USBメモリも、使用禁止、あるいは相当制限されているのが一般的なのよ。
430デフォルトの名無しさん:2011/06/19(日) 12:12:42.62
なんか勘違いしてる子が出てきたなw

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

それと、『ある程度』レベルの会社だと、勝手にツール類をインストールする事ができないところが多いけど
『ある程度』を超えたまともな会社だと、勝手にツール類をインストールする事が出来るところも多い
セキュリティーが確立している上に、VBAやWSHなどの元から入ってる言語でいろいろ作れる奴が多いから
外部からのツールのインストールを制限しても、元から入ってる言語でツールが作れちゃうから意味無いw
逆にまともな会社だでツールのインストールを制限している場合は、WSHもVBAも制限してる
431デフォルトの名無しさん:2011/06/19(日) 18:14:48.56
≠423とか必死に否定すると、余計に・・・・・( ̄ー ̄)ニヤリッ
432デフォルトの名無しさん:2011/06/19(日) 21:27:41.80
「勝手に出来る」って方がおかしいだろ
今の時代どこもピリピリしてるってのに。
単におまえさん自身か会社がその客に信用されてるってだけじゃねーの?
でも普通は申請式だと思うけど。他人の会社で勝手にてのはどうかと思う。
433デフォルトの名無しさん:2011/06/20(月) 00:02:07.13
勝手にしてよいと許されていることを勝手にやる上で、何の咎があると?
なにか勘違いしてやいないか?
434デフォルトの名無しさん:2011/06/20(月) 00:33:54.55
これは突っ込んであげたほうが良いのだろうか?
435デフォルトの名無しさん:2011/06/20(月) 00:59:30.37
生温かい目で見守ってあげるのが良いんじゃないかと
436デフォルトの名無しさん:2011/06/20(月) 10:20:41.11
batファイルは止められませんね
じゃぁバッチ最強じゃん
437デフォルトの名無しさん:2011/06/20(月) 17:46:53.34
<a href="http://upload.jpn.ph/500/bin/やきそば.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やマッチとかが関係ありそうで
調べて試したんですが思うようにいきませんでした。
438デフォルトの名無しさん:2011/06/21(火) 21:55:45.73
まずは基本を学べってレベル
439デフォルトの名無しさん:2011/06/23(木) 15:44:28.14
正規表現の構文がデタラメ。
パターンがデタラメだし後方参照の仕方もデタラメ。

ヘルプもろくに見てないだろ。
440デフォルトの名無しさん:2011/06/23(木) 22:13:57.11
置換という言葉の意味もわからぬまま、これをコピペして値を
置き換えたんだろう。

http://d.hatena.ne.jp/necoyama3/20081202/1228220710
441デフォルトの名無しさん:2011/06/23(木) 22:32:18.65
凄い違和感あったんだけど納得
442デフォルトの名無しさん:2011/06/23(木) 23:57:00.51
>>433
やっぱ許可貰ってんじゃん
ま、当たり前だよなびっくりした
443デフォルトの名無しさん:2011/06/24(金) 07:22:39.31
久しぶりに酷い自演をみた
444デフォルトの名無しさん:2011/06/24(金) 10:19:04.37
>repText = "$2"
この意味不明っぷりがすごいね
445デフォルトの名無しさん:2011/06/24(金) 14:11:47.65
突っ込む所はそこじゃないと思うがw

Echoのとことか、パターン自体に突っ込めよ
446デフォルトの名無しさん:2011/06/24(金) 14:15:34.45
>>440
> objRep.Pattern = "T..t"

感動的なパターンだなw
447デフォルトの名無しさん:2011/06/24(金) 19:23:21.29
>>437
ドリルの刑
ttp://www.amazon.co.jp/dp/4774145092

姉妹編と違って表紙にドリルが載っていないのがイマイチだけど
448デフォルトの名無しさん:2011/06/25(土) 00:10:36.15
>>437も恥ずかしくて出れこれないんだから、いい加減に許してやれよ
449デフォルトの名無しさん:2011/06/25(土) 13:11:24.67
>>443
そんなに悔しかったの?
450天使 ◆KOAgYBL/Xg :2011/06/29(水) 17:41:46.87
さすが VBSなんていう時代遅れツール使ってるスレはレベルが低い
451天使 ◆uL5esZLBSE :2011/07/02(土) 08:25:05.28

ゴミみたいな奴だな
452デフォルトの名無しさん:2011/08/28(日) 14:30:43.29
文字を文字コードの数値に変換して出力したいんだけど誰か助けて
453デフォルトの名無しさん:2011/08/28(日) 20:10:45.21
asc("a")
454デフォルトの名無しさん:2011/09/01(木) 09:14:32.07
何その顔文字、ふざけてるの
455デフォルトの名無しさん:2011/09/01(木) 10:09:24.83
("з")
456デフォルトの名無しさん:2011/11/20(日) 14:29:12.95
(・∀・)
457デフォルトの名無しさん:2011/11/20(日) 15:33:06.16
VBScriptって、1ヶ月もあれば極められるよね

あとはCOMを何処まで使いこなせるかだけ
458デフォルトの名無しさん:2011/11/21(月) 17:49:41.03
そんな時期もありました
459デフォルトの名無しさん:2012/02/10(金) 21:02:00.29
例えば、notepad.exeを起動するvbsは?
460デフォルトの名無しさん:2012/02/10(金) 21:08:54.09
>>459
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"
461459:2012/02/10(金) 22:23:36.81
>460
分かりました。ありがとう

ところで、Option Explicitを書くとshellが宣言されてないと起こられますが
この場合、shellの型は何ですか?
あるいは、Option Explicitを書くべきじゃない?
462デフォルトの名無しさん:2012/02/10(金) 22:46:07.22
>>461
Object 型
VBScript では VB や VBA と違い、宣言で型を記述しないのであまり意識はしないが、
Object 型だけは代入時に Set を必要とするので認識は必要
あと、Option Explicit は書いた方がよい

Option Explicit
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"
463459:2012/02/11(土) 07:35:54.95
>462
ありがとうございました
464デフォルトの名無しさん:2012/02/12(日) 01:57:20.27
Option Explicitはtypo無くしてくれるからな
昔のソース改修でstrPrinterとstrPrnterで1週間ぐらいハマった記憶
今なら真っ先に疑うけど当時はまだ慣れてなくて泣いたなぁ
465デフォルトの名無しさん:2012/03/10(土) 23:34:01.81
>>462
CreateObject()の戻り値がObject型ってだけで変数に型は無いよ
Object型を変数に代入するのに、Setが必要なだけ

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

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

>>464
typoを無くす為にOption Explicitを宣言してはいけない
Option Explicitの宣言は、ローカル変数とグローバル変数の区別を明確にするために宣言すべき
466デフォルトの名無しさん:2012/03/11(日) 04:51:38.09
> 変数に型は無いよ
ちょっとハズレ

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

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

> Option Explicitの宣言は、ローカル変数とグローバル変数の区別を明確にするために宣言すべき
それ、VBやVBAの場合ね
それらの場合はグローバル変数(全モジュール共通変数)とモジュール内変数の区別に役立つ
でもVBSの変数スコープには、グローバル変数、プロシージャ内変数、クラス内変数の3つがあるが
Option Explicitはこれらの区別を明確にする役目は果たさない
467デフォルトの名無しさん:2012/03/11(日) 09:35:32.83
>>466
だから、違うって
全ての変数は型が無いことを保障されてるの、これをValiant型と言います
そして、型を持っているのは、データ側であって変数ではありません
変数に型がある場合は、オブジェクト型の変数に整数を代入する事は絶対に出来ません

次に、Option Explicitは、全てのスコープにDim文を強制します
VBScriptの仕様では、Dimで宣言された変数は該当スコープでのローカル変数として確実に扱われるが、Dimで宣言されない変数は、同名のグローバル変数がある場合、グローバル変数として扱われます
ようは、使うべきでないグローバル変数を誤って使う事をしない為に使われるのであって、typo問題の為に使われているのではない
考えるまでもなく、typoによって引き起こされる問題よりも、グローバル変数への不用意なアクセスによる影響の方がはるかに大きく深刻です
468デフォルトの名無しさん:2012/03/11(日) 10:11:16.22
バリアントの綴りが間違ってた...
ValiantではなくVariantでした。
469デフォルトの名無しさん:2012/03/11(日) 10:54:20.03
なんだ、この子全然解ってないんだね
470デフォルトの名無しさん:2012/03/11(日) 11:14:12.71
>>469
そう、>>466のように変数に型があると勘違いしていると、SubやFunction、Propertyに入力されるデータの型を勝手に期待して自爆する事になるよね
特にVBScriptのClass周りには、変数に型が無い事による罠が散りばめられてるからねぇ
471デフォルトの名無しさん:2012/03/11(日) 13:25:47.06
痛すぎw
472デフォルトの名無しさん:2012/03/11(日) 13:38:11.81
>>471
そう、>>466は理解の薄い痛い子だね
無型の変数に内部型があると信じている辺りが痛すぎる
型を持っているのは、変数ではなく値なのにね

たぶん、VBScript以外のプログラミング言語を使った事が無いんだろうね
473デフォルトの名無しさん:2012/03/11(日) 18:41:00.25
>>467
横レスだけど
ローカルとグローバルでの変数名は、設計レベルで対応すべき話では?
実際の製造(プログラミング)時はtypo対策の方が重要では

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

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

とMSX-BASIC1から入って業務でVBは2(Win版。流石にDOS版は触って無い)から
使っている年寄りとしては思う
474デフォルトの名無しさん:2012/03/11(日) 18:57:57.83
QB「
475デフォルトの名無しさん:2012/03/11(日) 19:15:38.79
>>473
だから、Option Explicitをつければ、コードの再利用に際して変数名に関する問題は起こらなくなるの
476デフォルトの名無しさん:2012/03/11(日) 20:27:28.25
Dimで解決するだろ
477デフォルトの名無しさん:2012/03/11(日) 21:49:45.91
>>476
だからソースの始めに、Option Explicitが必要なんじゃんw
478デフォルトの名無しさん:2012/03/11(日) 22:27:49.57
>>477
は?
typoしないんなら必要ないだろ?

ローカルでDimし忘れたらグローバルでDimしてる変数が使われちゃうぞ
479デフォルトの名無しさん:2012/03/11(日) 23:22:53.96
>>478
お前、馬鹿だろw
Option Explicitが書いてあれば、ローカルでDim宣言されている証明になるが
Option Explicitが書いてあっても、typoしていない証明にはならない
480デフォルトの名無しさん:2012/03/12(月) 06:39:57.23
なんか、自分自身が勘違いしていて痛い奴だってことに気付いてない
蘊蓄野郎が一人でずっと頑張ってるなぁ
481デフォルトの名無しさん:2012/03/12(月) 09:02:44.77
Option Explicitでtypo対策する奴の方がよっぽど痛いけどね
482デフォルトの名無しさん:2012/03/12(月) 19:53:12.43
普通に考えて、変数名をコピペしてたらtypoなんて起きないだろ...
つーかtypoが問題になるって何十年前の開発環境だよ...
483デフォルトの名無しさん:2012/03/12(月) 20:26:55.78
入力補完じゃなくてコピペって・・・・・
それこそ何十年前だよって話だなw

程度が知れてきたぜ
484デフォルトの名無しさん:2012/03/12(月) 20:44:07.58
うはっ、入力補完機能のあるエディタ使ってて、変数名のtypoがプログラム制作上の重要課題ってw
あれだな、うちのメモ帳の方が、あんたの開発環境よりも上って事だなw
この10数年の間、変数名のtypoなんて起きた事ねぇもんw
485デフォルトの名無しさん:2012/03/12(月) 20:56:31.62
この子、相手が一人だと思ってるのかな?
俺は変数名のtypoがプログラム制作上の重要課題なんて一言も言ってないんだが
必死になりすぎて周りの現実が見えてないんだね

大勢に嘲笑されているという現実が・・・・・
486デフォルトの名無しさん:2012/03/12(月) 21:10:17.75
うはっw
とうとう、「俺はtypoなんて言ってねぇ」とか言い出しちゃいましたよ
このお方w
487デフォルトの名無しさん:2012/03/12(月) 21:13:40.15
入れ食い
488デフォルトの名無しさん:2012/03/12(月) 21:20:02.41
そもそもプロシージャとグローバルで名前重複なんて、可読性が低くて
絶対保守したくない類のソース。機械が読めても人が読みにくい。
Option Explicit以前にその時点で根本的に間違っていると思う。

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

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

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

VBSの場合は短い事もあり汎用的に使うfsoとかはグローバルな事も多いけど。
489デフォルトの名無しさん:2012/03/12(月) 22:18:26.28
>>488
馬鹿か
なんの為のスコープ分けだ
もう一度、構造化プログラムについて習いなおせ

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

そして、VBScriptの場合は、グローバルスコープへ直接コーディングをする可能性があるから、Option Explicitによるコードの再利用性の保障が必要なんだっつうの
490デフォルトの名無しさん:2012/03/12(月) 22:31:33.94
Option Explicit「みんな!私のために争わないで!」
491デフォルトの名無しさん:2012/03/13(火) 06:14:50.44
>>489
らちが明かないから何かサンプル上げて説明してみて
492デフォルトの名無しさん:2012/03/13(火) 09:37:52.97
>>491
まず共通部分
<job id="main">
<script language="VBScript" src="test.vbs" />
<script language="VBScript">
fso = "Hello"
MsgBox Test() & vbCrlf & fso
</script>
</job>
493デフォルトの名無しさん:2012/03/13(火) 09:39:40.86
次に、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
494デフォルトの名無しさん:2012/03/13(火) 09:43:32.86
こいつも、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
495デフォルトの名無しさん:2012/03/13(火) 21:41:15.30
散々蘊蓄垂れてこのレベルか
496デフォルトの名無しさん:2012/03/13(火) 21:50:38.27
Option Explicit 云々以前の問題だな
497デフォルトの名無しさん:2012/03/13(火) 21:51:41.48
なんと見苦しい負け惜しみw
498デフォルトの名無しさん:2012/03/13(火) 22:25:08.04
>>493
>Option Explicit無しバージョン
Option ExplicitよりもローカルのDimが無い事の方が影響大でしょ

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

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

「Option Explicit」の有無「だけ」による挙動の違いを説明できないと
499デフォルトの名無しさん:2012/03/13(火) 22:29:53.10
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
500デフォルトの名無しさん:2012/03/14(水) 19:42:16.87
やれやれ、「Option Explicit」の使い方をようやく理解したか?
まあ、なんで、そのエラーが出るのか理解出来て無いってほうが濃厚だなw
なんせ、VBScriptの変数に内部型があるとか言っちゃうぐらいだからなぁw
501デフォルトの名無しさん:2012/03/14(水) 19:45:33.07
自身が勘違いしていた事には気付いたが、
最初に強気で蘊蓄かましてしまった手前、
引くに引けなくなって強がりを続ける465萌え
502デフォルトの名無しさん:2012/03/14(水) 20:28:49.55
>>501
ぷぷぷっ
もう、技術的な話を出来ずに口先だけかよw
「俺は、MSX-BASIC1からBASICを使ってるんだ」って言う割には大した事は無いなぁ

間違っているなら指摘しなw
503デフォルトの名無しさん:2012/03/14(水) 20:47:40.14
ところで、既に>>499を提示してからでも丸一日が過ぎようとしているのに、今更、ファイルをクローズしてないとか言わないよねw
504デフォルトの名無しさん:2012/03/14(水) 21:55:18.55
おーい、沢山いるはずの>>501よーい
技術的な指摘まだかーい
最低限、>>498みたいな、間抜けな指摘はすんなよーw
505デフォルトの名無しさん:2012/03/14(水) 23:04:31.90
もうそろそろ飽きてきた...
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は目の付け所は良かったが、リファレンスぐらいは読んだほうが良いってこった
506デフォルトの名無しさん:2012/03/15(木) 04:54:39.64
負け犬の連投・・・
507デフォルトの名無しさん:2012/03/15(木) 08:42:06.70
>>506
まだやる気かw
頑張って反論よろしくw
508デフォルトの名無しさん:2012/03/17(土) 10:04:12.29
>>462
変数shellがObject型w
間違いを指摘されたら、>>466で内部文字型と内部数値型では扱いが違うとかw

つまりあれかw
MsgBox "123"+4+"5"
はエラーなんだw
なんかカッケーなw
509デフォルトの名無しさん:2012/03/17(土) 14:33:29.53
こんなとこまで来ちゃうお前らの為じゃねーよ
適当にやったけど動いたからいーや的思考な
困ったくんや困ったチャンの為に書いてんだよOption Explicit
詳しい人が必ずメンテするとは限らないのがVB系の怖いとこで
こんなところに来ない人のための事をここに書いて意味あるんですか?
511デフォルトの名無しさん:2012/06/10(日) 17:05:31.39
512デフォルトの名無しさん:2012/07/16(月) 00:40:56.77
今までUWSC(フリーソフト)を使っていましたが、最近、VBScriptを知り、同じような処理ができることを知りました。

VBScriptを勉強中です。
分からないことがあればよろしくね。
513デフォルトの名無しさん:2012/07/16(月) 01:26:02.69
だれか3000円上げるから
24平均律の鍵盤プログラム作ってくれ〜(T_T)
514デフォルトの名無しさん:2012/07/16(月) 01:27:51.13
作曲するのに使います
音色はピアノ音だけでOKです
515デフォルトの名無しさん:2012/07/16(月) 09:32:19.09
コンパイルしたプログラムなら3'000円でいいけど
ソース(ソース丸見えのVBS…というか鍵盤必要ならHTA)で欲しいなら150'000円
516デフォルトの名無しさん:2012/07/16(月) 10:42:01.70
>>515
言葉の意味がよくわからないけど
3000円の方でお願いします
517デフォルトの名無しさん:2012/07/16(月) 10:50:19.70
白鍵とか黒鍵は
ないようなもんなんで
ボタンがズラリと並んでるだけでOKです
Eの位置だけボタンにEって書いてくれたらOKです
518デフォルトの名無しさん:2012/07/16(月) 19:11:52.43
よくわからんけど初音ミクじゃだめなの?
519デフォルトの名無しさん:2012/07/16(月) 19:47:57.27
リアルタイムで音を確認しないと何かね……確信持てないっていうか
シーケンスでやってその日は納得いっても
次の日に聞いたらアレ?って事ばかりなんで
520デフォルトの名無しさん:2012/08/05(日) 23:38:48.37
煽り潰しですね
521デフォルトの名無しさん:2012/08/27(月) 21:54:39.96
知恵袋にも登録したのですが、どうしても知りたいのでご教示お願い致します。
マクロを実行して、他のファイルのマクロまで編集できますか。
いろいろグーグルで調べたのですが、どうもヒットせず実行できそうにありません。
作成したいファイルは追記します。
1.エクセルファイル内にボタンフォームを作り(このファイルを便宜上、ファイル@とする)、ボタンフォームを押すと新しいエクセルファイルが作成される(このファイルを便宜上、ファイルAとする)。
2.次にファイル@から1.とは別のボタンフォームを押すと、「挿入>図>ファイルから」と同じ要領で画像を選択でき、Aファイル内のSheet1・セルA1に画像が貼り付けられる。
3.最後にファイル@に設置した1.と2.とは別のボタンフォームを押すと、ファイルAのVBScriptにスクリプトが書き込まれる(出来ればVBScriptをパスワード保護出来れば幸いです)。
という流れをファイル@のVBScriptなり、モジュール等を使って行いたいのです。
3にあるマクロは、上書き保存ができなくなるマクロのため、1の段階で保存ができると幸いです。
また、複数ファイルを処理する必要が有るため、同一ファイル名で保存しない仕様を求めています。
522デフォルトの名無しさん:2012/08/27(月) 22:31:18.85
全部出来ますよ
但し、マルチな上にスレ違いなので、具体的な説明は伏せますが
523デフォルトの名無しさん:2012/08/29(水) 19:05:51.32
VB・・・・・Sなのか?
524デフォルトの名無しさん:2012/08/30(木) 22:38:44.70
ExcelでVBS……

ワークシートにボタンに見せかけたオブジェクトを貼り、
押すとハイパーリンクで外部のVBScriptを実行する
とかならやった事がある
525デフォルトの名無しさん:2012/08/30(木) 23:09:40.69
ExcelからVBSを呼ぶだけのパターンか

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

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

ExcelからVBSを呼ぶくらいなら、そのVBSを標準モジュールなどに取り込んで
わざわざ外部のVBS呼ばずに内部実行するし
526デフォルトの名無しさん:2012/08/31(金) 10:20:07.61
ってか、VBSならふつうそうでしょ
527デフォルトの名無しさん:2012/08/31(金) 10:21:36.68
だよな
>>524がなんんか面倒くさいことやってるだけで
528デフォルトの名無しさん:2012/09/01(土) 22:37:19.11
一応、マクロを無効にしたExcelからでも実行できるというメリットはあるけど
529デフォルトの名無しさん:2012/09/02(日) 18:43:55.29
officeのマクロはjsに移行するよ
おまえらの書いたVBSなんて保守したくないし、頼むからせめてjsで書いてくれ
530デフォルトの名無しさん:2012/09/02(日) 19:19:43.98
webで使う場合はjsに軍配挙がるけど
wshやテキストエディタのマクロとかはvbsがいいな

つーかvbsの前に、jsしか使えないバカを淘汰して欲しい
vbsしか使えないバカも同じくね
531デフォルトの名無しさん:2012/09/02(日) 20:05:38.74
>>529
VBSの保守をしたくないんじゃなく、VBSを保守する能力が無いの間違いだろ?
532デフォルトの名無しさん:2012/09/03(月) 19:06:20.84
VBSにはプログラム言語としての長所は微塵もないよ
既に言語からもユーザーからも加齢臭とか腐敗臭とか漂わせている
533デフォルトの名無しさん:2012/09/03(月) 19:20:10.07
>>532
Win32 APIの呼び出しができればいんだけどね
もう絶望的かな
534デフォルトの名無しさん:2012/09/04(火) 10:26:00.19
言語なんてなんでもいいよ
535デフォルトの名無しさん:2012/09/23(日) 11:02:10.28
SFC miniかExcel経由で行けるけどキモいよな
しかし生のVBSからwin32api呼べたら怖くてエロサイト行けなくなる
536デフォルトの名無しさん:2012/10/13(土) 09:50:15.66
いまメモ帳で頑張ってるんだけど、
("text").Value = rnd
このtextに乱数の直前に文章を入れたいんだけどどうすればいい?
必要なら全文載せる
537デフォルトの名無しさん:2012/10/13(土) 09:53:17.73
3行目を読み返せ。
538デフォルトの名無しさん:2012/10/13(土) 10:43:46.18
乱数の直前に文章を入れる?

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

msgbox "文章" & rnd
539537:2012/10/13(土) 10:55:59.62
>このtextに乱数の直前に文章を入れたいんだけどどうすればいい?
乱数の直前に、このtextに文章を入れたいんだけどどうすればいい?
540デフォルトの名無しさん:2012/10/13(土) 11:01:38.99
ありがとうございます
541デフォルトの名無しさん:2012/10/21(日) 07:59:37.35
CreateObjectのIEでブラウザの操作を自動化するスクリプト作っててサイトへのログインは自動化できたんだけど、
その後のページにあるボタンを押す動作ができなくて行き詰まってる…

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

1、2は処理に成功してるんだけど、3が何も起こらない(エラーも表示されない)
3が動作しない原因はなんなんだぜ?
542デフォルトの名無しさん:2012/10/21(日) 08:18:06.54
そこのソース撮ってくれ。
543デフォルトの名無しさん:2012/10/21(日) 09:09:12.73
'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.接続」を実行できないんよ(´・ω・`)
544デフォルトの名無しさん:2012/10/21(日) 09:32:48.54
WSH には、こんな使い方もあるんだ!
While
  WScript.Sleep 100
Wend
とかの時間間隔入れてみれば?
http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html
545デフォルトの名無しさん:2012/10/21(日) 10:04:09.14
>>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
546デフォルトの名無しさん:2013/01/05(土) 10:19:06.02
Explorerを起動して任意のフォルダ(ドライブ)を指定で起動する。
その際、n階層下のフォルダまで自動的に展開した状態で開いて欲しい。

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

ドライブルートから1階層下までの固定展開する機能は必須です。
可能ならば起点がドライブルート固定では無くて、パス指定で起点となるフォルダの指定と
自動展開する階層数が1階層で無くソースで指定する箇所があれば出来れば最高に嬉しいです。
547デフォルトの名無しさん:2013/01/05(土) 11:27:15.02
ここは作ってくれって頼む場ではなく
こんな便利なの作ったけどどうよ?って作ったモノを晒す場だぞ

まあ>>546程度のことは多機能ファイラならコマンドやマクロで出来るので
完成したとしても晒してくれなくて結構だがな
548デフォルトの名無しさん:2013/05/04(土) 00:22:48.17
>>547 は?スレタイ読め
549デフォルトの名無しさん:2013/05/06(月) 18:32:10.90
アンカーがズレてるぞ

それともスレの趣旨を理解してないおバカさんかな?
550デフォルトの名無しさん:2013/05/31(金) 02:33:30.04
>>547
エクスプローラでやるから意義があるんだろ
ってか4ヶ月もたつのに反応してくんなや
正確悪すぎてきもい
551デフォルトの名無しさん:2013/05/31(金) 19:26:22.45
えっ?ってなったった
552デフォルトの名無しさん:2013/06/14(金) 11:40:12.42
> 4ヶ月もたつのに反応して
るのは>>548だなw
553桃白白 ◆9Jro6YFwm650 :2013/06/23(日) 00:49:56.40
    |┃三     ∩___∩
    |┃      | ノ      ヽ
    |┃ ≡   /  ●   ● |  <あどうも、こんばんわー!
____.|ミ\___|    ( _●_)  ミ
    |┃=___    |∪|   \
    |┃ ≡   )   ヽノ   人 \ ガラッ
554デフォルトの名無しさん:2013/06/23(日) 10:09:22.10
会社で入力するのめんどいからいろいろVBSで自動化してる。
会社の規則的にやばいので、今はやってないけど自動的にWindowsにログインするようにしてた。
555桃白白 ◆9Jro6YFwm650 :2013/06/24(月) 23:09:44.12
CsvをHTMLのTableに変換しちゃう
https://friendpaste.com/2qcYhFP5yiauSE5lk3DlRa
556デフォルトの名無しさん:2013/06/26(水) 21:08:23.54
CSVファイルをドラッグ&ドロップで読み込んで、
2行目の先頭3文字を抽出してください
557デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
VBSってどんなプログラム作れるの?
558デフォルトの名無しさん:2013/07/02(火) NY:AN:NY.AN
COM使わなきゃ大したことは出来ないが
COM使えば大抵のことは何でも出来る

まあ組み込みCOMだけじゃまだ貧弱だが
COMは優秀なものが腐るほどあるし、自分で作ることも出来る
COM使えばGUIだって作れるし、
WinAPIだってNET Frameworkの全てだって使える
559デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
WMIが便利そうだけど、あまりにも書籍などが少ない
560デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
書籍なんか無くても、ネット上の情報だけで事足りるけどな

余程頭が悪くなければ・・・
561デフォルトの名無しさん:2013/07/05(金) NY:AN:NY.AN
暇がある人は時間かけてネットの情報探せばいいさ
その暇を惜しむから、まとめて書籍にしてくれと思うわけで
562デフォルトの名無しさん:2013/07/05(金) NY:AN:NY.AN
暇ってw
まとめてWMIの情報載ってるページに行き着くのに10秒とかからんだろ?
あとはサイト内検索とページ内検索を駆使すれば、書籍の目次からページを辿るより早いし

それすらも出来ないようなレベルだと、WMIを使いこなすのは無理じゃね?
563デフォルトの名無しさん:2013/07/05(金) NY:AN:NY.AN
まとめてって言葉の真意が伝わってないな
情報を集める事だけがまとめる事じゃないぞ
564デフォルトの名無しさん:2013/07/05(金) NY:AN:NY.AN
もちろん
565桃白白 ◆9Jro6YFwm650 :2013/07/05(金) NY:AN:NY.AN
戦士は胸に一つのバブルソートを抱く
桃白白ブレイブストーリーである。

順番を維持したまま、重複行を除去しちゃう。
https://friendpaste.com/4hvzoL2l8p8kQjoyQiUpUt
566デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>565
このサイトのセキュリティ証明書には問題がありますww
って表示されるの。白桃おじさん、他のサイトがいいよ。
567桃白白 ◆9Jro6YFwm650 :2013/07/06(土) NY:AN:NY.AN
>>566
friendpasteを例外に追加しちゃったらいいよ。たぶんブラウザの設定で
できるはずだから。見た?桃白白ブレイブストーリーのコード見た?
感想とかある?とてもすてきなコードですねとかそういう感想ある?
あとこれ桃白白。
http://livedoor.blogimg.jp/robosoku/imgs/d/f/df309cbc.jpg
568デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>567
バブルソートってやつじゃないのね
よくわかんない
簡単に解説ちょうだい
569桃白白 ◆9Jro6YFwm650 :2013/07/06(土) NY:AN:NY.AN
>>568
つまりこういうことなの。
http://uploda.cc/img/img51d78f6be12a6.png
570デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
>>565と、Scripting.Dictionaryを使った方法(コードは十数行)で
10万行の重複削除の処理時間を比べてみた

>>565         1905.686秒
Scripting.Dictionary    0.178秒

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

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

VBS覚えたてでコード書くのが楽しくて仕方ない時期の初心者さんに言っても無駄かもだが
もう少し適材適所ってものを考えられるようになった方がいいかもな
571桃白白 ◆9Jro6YFwm650 :2013/07/06(土) NY:AN:NY.AN
>>570

            ,、-'" ,、-';;;;;;;;;;;;;;;;;;;;;;;`''‐-、       ゙、、
          ,、-' ,、-'";;;;;;;;;ノ;;;;''-、;;;;;;;;;;;;;;;;;;;`''‐-、__ノ;;;\
        / ,、-'"::;;;;;;,、-'";;;;;;;;;;;;;;;`''- 、_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ヽ;;;;\
.        f_/;;;;;;;、-ニ';;;;;;、-‐ ''''""""''''‐-二、''‐-、___,ノ、 \;;;ヽ
.        |;;;;;;;;,、ニ'";;、-'"           `"ニ、;;;;;;;;;;;;;;\/;\;;',
.        |,-,ニ '::/, -─          .,、-─-゙、-'、;;;;;;;;;;;、-、ノ;;;;)!    ええっ!?
.        Y::::::::/ .,、 -─- 、      ///:::::::::\ ';;;;;;/;;;;;;;;ヽノ
        |::::::;' /://::::::::::ヽ '"""'' .、|:::l /::::::::::::::::ト|;;;;|;;;;;;;O;;;;';ヽ
        ヽ:::|. |::l l::::::::::/,,   .,-、.\:::::::::::::::::::ノ |;;;|;;;;;;;;;;;;;;;;';;;|
         |::::| ̄ヾ;;;;;;;;;;;;/ /_|   ヽJ  ゙、── '"  |;;;|;;;;;;;;;;;;;/;;;;;フ__
        /|::::/.   ,、_,、ヽ,   ___ノ~"ヽ'l    |:;;゙;;;;;0;;;:';;- '-"
        | |::;'.    l;;;;;;;;;;;-'""~__,,,`ヽ;;;;;;ノ    |::;;;;;ヾ=;/''"
        V:::|      ,、-,'二──---、)      ./:;;;;;;;;;;;;/-────
        `|:|!     ,、'ヽ'"   _          _/:;;;;;;;;;;;;/   ____
        |:|;',     `"    ::::::       ,、-'"/:;;;;;;;;;/-─ '"
        |:|;;\              ,、-'"  /二フ
         |:|;;;;;;;`' .、        _,、-‐'"-'",、-'" ̄
      .  |:|;;;;;;;;;;;;/ >.、  ,、-‐'",、-‐'" /_,,,、---──-- 、,,__
        |:|;;;;;;;;;;/ /  -`'" ,、-'   ./-'"            `"'-、
        ||;;;;;;;;;/ .ヽ 、__,、-‐'" ,  _,、-'"
572桃白白 ◆9Jro6YFwm650 :2013/07/06(土) NY:AN:NY.AN
標準入力のデータを幅優先でソートしちゃう。
https://friendpaste.com/12zqzWvuMdK5jQ7XHnrSiu
573桃白白 ◆9Jro6YFwm650 :2013/07/06(土) NY:AN:NY.AN
>>570
     ____
    / ⌒  ⌒  \
  ./( ―) ( ●)  \
  /::⌒(_人_)⌒:::::  |
  |    ー       .|
  \          /
574デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
悔しいけれど論理的な反論が出来ない時にAA使う癖はまだ直らないんだな
575デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
>>569
丁寧にありがとう!
直接ではなくわざわざインデックスを用いるメリットがわからないや!
576桃白白 ◆9Jro6YFwm650 :2013/07/07(日) NY:AN:NY.AN
最初のテキストファイルにない行を出力しちゃう。
https://friendpaste.com/12zqzWvuMdK5jQ7XHohGyz
577デフォルトの名無しさん:2013/07/08(月) NY:AN:NY.AN
白桃もう夏休みか
先に宿題を片付けた方がいいよ
578デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
WMIってADの鯖側で動かさないと他のクライアントの情報って取って来れないよね?
579デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
権限さえあればそんなことはなかったはず
580デフォルトの名無しさん:2013/08/08(木) NY:AN:NY.AN
;p;
581デフォルトの名無しさん:2013/10/04(金) 01:20:43.19
テキストファイルから最終行を読み出して表示したら文字化けしてやがる
ADODB.Streamなんて使ったことねーよ…
このページの最後のやつと
http://netlog.jpn.org/r271-635/2010/06/vbscript_csv_lastline.html
この文字コード変換
http://blog.goo.ne.jp/fukuriko/e/a40eb03d587d572f1389b24d17c60526
これくっつければできるんだろうけど、もうわかんねぇ…久々にやろうとすると無理だ
582桃白白 ◆9Jro6YFwm650 :2013/12/04(水) 19:18:04.29
      /゙ミヽ、,,___,,/゙ヽ
      i ノ   川 `ヽ'
      / ` ・  . ・ i、
     彡,   ミ(_,人_)彡ミ   にゃーん
 ∩,  / ヽ、,      ノ
 丶ニ|    '"''''''''"´ ノ
    ∪⌒∪" ̄ ̄∪
583桃白白 ◆9Jro6YFwm650 :2013/12/08(日) 19:45:03.23
584デフォルトの名無しさん:2013/12/15(日) 04:33:33.24
tes
585桃白白 ◆9Jro6YFwm650 :2013/12/22(日) 21:09:18.87
パステルカラーを出力
https://friendpaste.com/1pWEO8f9PLMXDM5wKMXZqS
586デフォルトの名無しさん:2013/12/23(月) 00:18:09.78
相変わらず無駄が多い、、、
587桃白白 ◆9Jro6YFwm650 :2013/12/28(土) 12:55:53.24
588デフォルトの名無しさん:2013/12/28(土) 15:44:49.45
どっかから集めたコードを切り貼りして大文字化しただけのものなんて
価値無しなので貼らなくていいよ
589デフォルトの名無しさん:2013/12/28(土) 20:15:22.96
'# Baidu IMEがインストールされているかチェックして、インストールされていれば、アンインストーラーを起動するバッチを作ったよ
'# メモ帳に以下の内容を貼り付けて「baidu_check.vbs」というファイル名で保存。
'# 「baidu_check.vbs」をダブルクリックして【Baidu IME】がインストールされているかチェック
590デフォルトの名無しさん:2013/12/28(土) 20:16:46.43
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
591デフォルトの名無しさん:2013/12/30(月) 10:44:04.20
>>589
>>590

Baidu IMEが「入力情報送信しない」でもサーバーに情報を集めていた件の対応か。
すばらしい。
あれって、アン・インストールが普通の手順ではできないって聞いたが。
592デフォルトの名無しさん:2013/12/30(月) 12:32:45.86
593桃白白 ◆9Jro6YFwm650 :2013/12/30(月) 19:16:53.07
  ∠Y"´゙フ
  ;' ゝ‘,,ェ) あけおめー
 ; '(,,゚∀゚)
 ゙;(ノ   ';)
 ヾ,;'   ';
  ''∪''∪
594デフォルトの名無しさん:2014/02/03(月) 17:06:44.36
このスレも桃白白の遊び場みたいだから有効利用しようね
595デフォルトの名無しさん:2014/02/07(金) 16:22:51.04
このスレも桃白白の遊び場みたいだから有効利用しようね
596デフォルトの名無しさん:2014/02/08(土) 19:19:41.23
このスレも桃白白の遊び場みたいだから有効利用しようね
597デフォルトの名無しさん:2014/02/09(日) 02:22:56.15
でも桃白白は有効なコード書けないけどね

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

まあ超初心者の質問に対しては、有効な回答をしたこともあったけど
ちょっと質問のレベルが上がると、まったく答えられないし
598デフォルトの名無しさん:2014/03/08(土) 17:13:17.17
どんだけ桃白白に劣等感感じてんだよwさらしあげw
599デフォルトの名無しさん:2014/03/08(土) 17:23:56.33
NAOの気まぐれ独り言:他人を下げる
http://adviser70.ti-da.net/e3259555.html

世の中には、自分の自信やプライド、存在価値や存在意義を保つために“他人を下げる”ことをする人がいます。
(他人を下げるとは、他人をバカにしたり、見下したり、軽視することです。)
コレが良い悪いという話は置いといて、この“他人を下げる”行為について今日は考えてみました。
僕は“他人を下げる”ことは、人間の“自己防衛本能”の一種だと思っています。
人間はとても繊細な生き物ですからね。
特に、自信やプライドは傷つきやすく壊れやすいものですから、皆、それを必死に守ろうとします。
(ただし、本物の自信やプライドは簡単には傷つきませんし、壊れません。)
また、存在価値や存在意義は人によって違い、何が正解という明確な“答え”がなく、自分を保つのには自分自身の強い意志や独自の価値観が必要となります。
でも、強い意志や独自の価値観なんて、そう簡単に得れるものではありません。
だから、“他人を下げる”んです。
だから、自分が傷つかないように、また自分を保つために“他人を下げる”んですよ。
600デフォルトの名無しさん:2014/03/08(土) 17:28:12.18
Twitter / jack69xz: 他人を下げることしか自分を上げれないならもう同列以下でいいじ ...
https://twitter.com/jack69xz/status/296338741096747008

他人を下げることしか自分を上げれないならもう同列以下でいいじゃん〜つまんねえ奴だな〜
601デフォルトの名無しさん:2014/03/08(土) 17:31:52.18
否定しない生き方 - 院長ブログ「幸せってなぁに?」
http://blog.goo.ne.jp/minamiaoyama_dental/e/64aaa4363fd92fb87726a6e508ec3b4e

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

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

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

長い時間かけて身についた悪い癖は、同じぐらいそれを取り除くのに時間がかかります。
602デフォルトの名無しさん:2014/05/24(土) 23:31:01.94 ID:uhxr0PPh
拾いモノ。通常はSendToフォルダ経由またはD&Dでファイルを指定する

Option Explicit
Dim WS,FSO,ie,Ags,Ag0,I
Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ie = CreateObject("InternetExplorer.Application")
Set Ags = WScript.Arguments
Ag0 = ""
If Ags.Count > 0 Then
For I = 0 to Ags.Count - 1
Ag0 = Ag0 & Chr(34) & FSO.GetAbsolutePathName(Ags(I)) & Chr(34) & vbCrLf
Next
Else
Ag0 = Chr(34) & FSO.GetAbsolutePathName(".") & Chr(34) & vbCrLf
End If
ie.Navigate "about:blank"
Do Until (ie.Busy = False) or (ie.Document.ReadyState = "complete")
WScript.Sleep 10
Loop
ie.Document.ParentWindow.ClipboardData.ClearData
ie.Document.ParentWindow.ClipboardData.SetData "text", Ag0
WScript.Echo(Ag0 & vbCrLf & "以上の文字列をクリップボードへ格納しました。")
Set Ags = Nothing
Set ie = Nothing
Set FSO = Nothing
Set WS = Nothing
WScript.Quit()
603デフォルトの名無しさん:2014/06/14(土) 10:19:12.75 ID:3GqQ9q9L
>>602
> 拾いモノ。通常はSendToフォルダ経由またはD&Dでファイルを指定する

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

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

単にそれだけ???
それだけで、こんなに長く直感的でないコードとなるのが VBS なのか?
604デフォルトの名無しさん:2014/06/14(土) 11:23:29.55 ID:0SKI+ryl
もともとVBSにはクリップボード操作機能は無いからね

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

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

まぁ、直感的に使える機能だけを使ったコードしか書いたことの無い人には
理解できない世界かも知れないが
605デフォルトの名無しさん:2014/06/14(土) 13:36:12.22 ID:1ymPxb6J
うろ覚えだが>>602は昔のWindows95やWindowsNT4.0でも正常に動く命令しか使われてなかった気がする
(少なくとも俺のWindows7+IE11では正常に動いたし、//uオプション付で起動すればUnicodeファイル名も問題なく扱える)
それ以外の方法(例えば ttp://www.vector.co.jp/soft/win95/util/se098868.html のようなフリーソフト)で
同じ事をやろうとすると、どうしてもOS毎の互換性をもっと気にする必要があるから心情的に手を出しづらいかも知れない
606Westrip ◆cFyu7DKD9w :2014/11/25(火) 15:39:40.09 ID:+Ehd3ZDh
「コンピュータ連続運用時間計測」
(常駐型ではない。ローカルグループポリシーエディターおよびイベントビューアを使えるPC環境でないと無意味)
以下のテキストファイルを適当な名前で保存し、拡張子を.txt→.vbsに変えると使える
使い方や注意点などはテキスト内に書いてあるので、必ず読む事
ttp://alp.jpn.org/up/s/21848.txt (このアップローダは1年4〜5ヶ月くらい持つようだ)
607デフォルトの名無しさん:2014/12/19(金) 12:40:35.66 ID:dKKXcASW
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()
608デフォルトの名無しさん:2014/12/19(金) 23:20:35.24 ID:adO/IJZB
妹に入れますねん
609デフォルトの名無しさん:2014/12/20(土) 09:05:52.58 ID:m+ssCFWe
>>608
このスレに来てまでExplzhの作者をからかうとは何て奴だ
610デフォルトの名無しさん:2014/12/25(木) 03:24:30.28 ID:lscuhgwk
' 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()
611デフォルトの名無しさん:2015/01/04(日) 10:55:13.06 ID:wMzfWTLi
何処が便利なの?
612デフォルトの名無しさん:2015/01/04(日) 15:44:01.03 ID:k/mKj4Vo
DOSコマンドで実行できるんでしょ
普通は1秒単位でしかできないから
613デフォルトの名無しさん:2015/01/05(月) 10:54:40.07 ID:Ez8c83Yt
sleep.exeは同名フリーソフトまたは別売りリソースキット内の物を使うしかない
timeoutコマンドはVista以降のWindowsにしか搭載されてない上に、1秒単位でしか待ち時間を指定できない
>610なら古いWindows95などでも(WSHがあればの話だが)そのまま実行できたはず
614デフォルトの名無しさん:2015/01/06(火) 00:12:40.29 ID:kEk+oN5g
まんどくさいなぁ・・・オレならこうする
echo wscript.sleep 3000 >temp.vbs & cscript temp.vbs

あと、1秒単位のラフなsleepなら、pingを流用するのが定石じゃなかろうか
615デフォルトの名無しさん:2015/01/19(月) 22:34:01.04 ID:XQ8dBSiC
ブロックスコープをやりたいのだが
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 てのがバカっぽい
なんとかなりませんか
616マッハ五等
【カワイイ】海外メディアが報じた美人過ぎる議員候補者 美しい国ニッポン!なぜこんなに議員候補者が可愛いのか?と話題に【KWAII】


ttps://www.youtube.com/watch?v=uI59ogPcazE