1read 100read
2012年6月プログラム183: VBSで便利なプログラムを作れスレ (511) TOP カテ一覧 スレ一覧 2ch元 削除依頼
CLDC+MIDP+携帯電話用Javaスレッド part 9 (921)
【論理】Prolog【初心者】 (518)
pythonがこの先生きのこるには (792)
ポインタを難しいと言う奴が理解できない (850)
OpenWatcom C++ (715)
BASICの宿題はお前にまかせた (550)

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


1 :07/02/03 〜 最終レス :12/06/10
素人丸出しお粗末で遅くてもいいので
いますぐ使えるちょっぴり便利プログラムを作れ
(例○○を自動処理してくれるプログラム)

2 :
ずるしてらくしてかれいに2げっとかしらかしら〜

3 :
2ch自動書き込みスクリプト・・・    はVBSなんかじゃなくちゃんとしたプログラムが既にあちこちに存在するか

4 :
>>1が後から何食わぬ顔で制作依頼する糞スレか

5 :
TechNetのHey, Scripting Guy!でも読むとか

6 :
>>3
自動書きこみをする機能がそもそもまともじゃない

7 :
日経ソフトウェアだったかに乗ってたのですが 動きません 助けて
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)

8 :
続き
'指定された桁数のパスワードを作成
For i=0 To KETA - 1
Randomize
X = abs(Int((0 - MAX) * Rnd))
PASS = PASS + PASS_STR(X)
Next
InputBox "パスワードが完成しました","生成完了!",PASS

9 :
>7
どう動かないんだ。
エラーメッセージが出るならエラーメッセージを貼れ。

10 :
BASICって何でここまで読む気が起こらないんだろう

11 :
>>10
構文が冗長だから

12 :
まぁ、COBOLの冗長さには勝てないがな
'VB
For I = 1 To 10
Next
*COBOL
PERFORM VARYING I FROM 1 BY 1 UNTIL I <= 10
END-PERFORM

13 :
>12
間違えてる。UNTILならI>10だ

14 :
>>10
字下げが取れちゃってるのも一因ではないだろうか、この場合。

15 :
<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>

16 :
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 :
VBSでダイアログを表示させることってできないものかな?
構造体は使えないはいろいろと細かいところで制約が多い。。

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

19 :
>>18
ここれは便利なスクリプトを作ってくれとお願いするスレじゃなくて、
自発的に自分が書いた物を晒すスレのような気がするんだが。
漏れの場合は、取得したいファイル名を変数にしてして、毎回
FTPスクリプトを生成して実行する方法にしてる。
ちなみにアカウント情報はcsvにしてるが平文で書いてるので
取り扱いに注意してる。PASVが使いたい場合はGNU版を
使う事。
どっちかっつーとWSHスレ向きジャネ?そのまま質問しても罵倒
されるだけだと思うけど。

20 :
漏れの場合は、取得したいファイル名を変数にしてして、毎回
FTPスクリプトを生成して実行する方法にしてる。
上司にも同じこと言われましたね、。
なんとなくイメージできても、いざ作るとなると難しくて…
どう作ったらいいのかわからないですね。

21 :
>>20
じゃーまず、ここに取得したいファイル名が固定のFTPスクリプトを
生成するVBSを書いてみてよ。

22 :
open itsol01
i1125
i1125
get /export/home/backup/mysql/mysql_&YYYYMMDD&.tar.gz
loop
quit
と書いたテキストファイルをコマンドプロンプトで実行したら、指定したファイルは取得できました。

23 :
>>22
日本語不自由な人?

24 :
何この糞スレ・・・
低脳にスレ立てさせんなよ・・・

25 :
みんな高度なプログラムかくね
このくらいでいいんじゃね?
’びびらせるログオンメッセージ書き込むプログラム?
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

26 :
訂正 ×ここにメッセージでも ○メッセージ
まあなんでもいいんだが・・。

27 :
これ便利じゃねえなそれに遊び心だな。
誰かウイルススレでもしよう・・・・。

28 :
質問なんだけど
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 :
無理でもない

30 :
CreatoShortcutで
NumLock状態の1をショートカットキーに適用したいのですが
Hotkey="Num 1"
Hotkey="NumLock 1"
どちらでもできません
直接作成は無理なのでしょうか?

31 :
俺もNumlockは悩んだ
なんとかいうAPI使って実行ファイル作ったけど無理だった
敗北の想い出が蘇る

32 :
最終的にVBA使ったりするんだよな……
VBS単体だと操作の自動化は不便

33 :
こんばんは。
C#からVBSのFunction呼び出そうしてるんですが
複数の値を返すことができません。
教えてください。

34 :
C#側からvbsを走らせるときにC#側のFor文だと処理するたびに
vbsが走るのでだめでした。
vbs自体が複数値を返す処理をするためにはどのようにすればよいでしょうか。
値は、Excelのセルからとります。

35 :
俺が考え付く方法は次の2つ。
1. そのVBScriptの内容をC#へ書き換える。
2. VBScriptをC#プログラム内でホストする。

36 :
>>35
は1は実行済みですけどVBSにも全く一緒のコードを書くことになって
かなり冗長的なコードになるんですよ。
2もしたが取り出すとき複数の値をとるほうほうが不明です。

37 :
配列を返せばいいのでは?
それが無理なら、C#から戻り値を受け取るオブジェクトを渡すってのはどう。

38 :
>>37
配列を返すって考えましたけどVBScriptのリターン文ってありませんよね。
関数名 = 処理
↑こんな感じがリターン文なのかな。

39 :
そう。関数内では関数名と同名の変数が存在する。
型は関数の戻り値の型と同じ(と言ってもVBSは常にVariantだが)。
関数を抜けるときにその変数に入っていた内容が戻り値になる。
これはVB系一般で通用する文法。

40 :
なるほどね。けど、関数名と同名の変数が定義されてるって時点で
配列とか返せないと思うんですがいかがでしょう。

41 :
>>40
思うって言われてもなぁ

42 :
>>41
情報量が少ないから断定的な判断はできないんですよ。

43 :
>>40
Array関数で配列を作れる。
その戻り値を関数名の変数に代入すれば
配列を返す関数の出来上がり。

44 :
>>42
調べるのも大事なことだが、試すのだって大事なことだぞ
msgbox a()(2)
function a()
dim b()
redim b(10)
b(2)=100
a=b
end function
こんな感じで出来ない?

45 :
おおきにおおきに、明日試してみる。
しかし、型なしには驚いた・・・

46 :
BASICなめんな

47 :
型がない訳じゃなく実行時バインディングで表に出てこないだけ

48 :
JavaScriptなら<script src=a.js
VBSなら<script src=a.vbs ですか?

49 :
>>48
ああ拡張子はなんでもいいが
typeなりlanguage書こうぜw
それとタグは閉じような
気になってしょうがないw

50 :
PPPOEをVBSで切断できないですかね?
2つプロバイダ登録してあって、ショートカットで無理やり接続はできたのですが、
なぜだか切断の時に1%くらいの確率で失敗します。
(slect case でやって、引数を保持しているのですが何故か極まれに間違えます)
タスクトレイの接続の所では、何処に繋がっていても切断できますので、せめてこれが
呼び出せればSENDKEYSでなんとかなるんですが…

51 :
JavaScriptでの o = new Option(); をVBScriptに書き直すとどうなりますか?

52 :
↓デバッグおねがいします
<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 :
>>52
"fm.t"

54 :
プリンタの管理ユーティリティにある自動電源ONオプションをタスク
スケジューラで週一自動実行したいんですけど、VBSで可能でしょうか?

55 :
HTMLのVBSで
<a href="javascript:f();void(0)">
というJavaScriptをVBSで書けますか?

56 :
MsgBox "<a href=""javascript:f();void(0)"">"

57 :
>>55
修辞がおかしいので>>56見たいに言われるわけだが・・・

58 :
拡張子を.htaにしてみるとか

59 :
BASP21でダウンロードソフトを作ろうと思っているんですが、
FTPだとFTPサーバーの名前を知らないとアノニマスでも接続できませんよね?
どうすれば良いのでしょうか?

60 :
>>59
たとえばスーパーに買い物に行きますよね
でもスーパーの住所を知らなければ買い物できませんよね?
どうすれば良いのでしょうか?

61 :
Iriaとかのダウンロードソフトはどうしてるんでしょうか?
HTTPからでもダウンロード可能なようですが、全くやり方が不明です。
勉強中の身でして、質問が多くなりますが、お願いいたします。
>60
そのスーパーの住所の調べ方を伝授してください
お願い致します

62 :
プロトコルの勉強をしましょう…

63 :
>>61
そこらへんのダウンロードソフトはユーザにURLの入力を求めているだろ。

64 :
>>61
IPアドレスは32bitしかないんだから、総当たりで!

65 :
皆さんご返信ありがとうございます
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 :
>>65
ftpが許されてないからです。
httpなら許されてるから、まずはそこから。

67 :
>>65
> Connect("pc11.2ch.netのFTPサーバー", "ユーザー(anonymousでいける?)", "パス") 
> で繋いで 
> .GetFile("pc11.2ch.netのFTPサーバー/1170492587/*.*", "c:\dowsodata") 
> となると思いますが、 
いいえ違います
pc11.2ch.netのFTPサーバなんてありません

68 :
全員がこの後に及んでスレ違いと言い出さないのは、
あまりの事にあきれ果てているから?
>>59
釣られたのかもしれないが、マヂレスしておくと君の考えて
いる事は全くの見当違い。
ttp://www5e.biglobe.ne.jp/~aji/3min/index.html
ここのFTP、DNS、HTTPの所でも読んでくれ。
で、理解したら、これ以上聞かないでね。

69 :
すみません、質問を変えます!
<a href="*.dat">download</a>
を、VBSで書くとどうなりますか?
(ダウンロードしますか?と言うダイアログが出ます)
VBSで書いてる途中なのでできれば全部VBSで書きたいんです。
皆さんいろいろ教えていただいてありがとうございました
FTPはファイル交換、DNSはネット接続の中間、HTTPはHTMLを見るため
位の感覚で覚えていましたので、どうやってファイル転送機能なしでファイル転送するんだろう?
ドメイン(biglobe.ne.jp)の部分が同じなので探す方法があるのかと思い、質問しました。
興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で
訊けばいいんですよね?

70 :
>>69
ネットワークの勉強ついでにVBSとかクライアントスクリプトも調べて来い
質問の意図が分からなさ過ぎる
きっと用語を正しく理解していない
> 興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で 
> 訊けばいいんですよね? 
責任もてないので、「はいそうです」とは言わない
調べられなければ調べられるまで調べつくせ

71 :
>70
すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが
どのようにダウンロードをしているのかを知りたかったんです。
よく考えたらこの命令は単純にアドレス指定してアクセスするだけですね、
ちょっとやってみます。

72 :
>>71
知らないのは罪では無い。
だが、知らないという事を盾にして、初歩的な事を人に聞きまくるのは迷惑。
>すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが
こんな事は最早ネットワークすら関係無い。通信技術板で聞こう物なら、
即と言われてもおかしくない。
初歩的なhtmlを知っていてIriaを使っていれば、どういう仕組みで丸ごと
ダウンロードしているのか、一般的な知能を持っていればわかるはず。
まず人に聞くな。自分で考えろ。

73 :
待て、しかして希望せよ

74 :
>>72
html知っててもhttpの仕組みがわかるわけ無いだろ。
>>59
「XMLHTTP VBS」あたりでググればいくらでもサンプル出てくる。
でも、VBSでリストだけ作ってダウンローダーに渡すのがいろんな意味でおすすめ。

75 :
>72
ありがとうございます、貴方のおっしゃっているように、私のやろうとしている事は
ネットワークとはあまり関係がありませんね。
>74
XMLHTTPですね、ありがとうございます。
タグ辞典読んだり、「VBS ダウンロード」とか組み合わせてググっても
それに対応出来そうな命令が全く出てこなかったんで、困っておりました。
これでやっと点が線で繋がりました!!

76 :
間違えてVB.NETのスレで聴いてしまったのですが、こちらでお聴きすべきでした。
WshShellオブジェクトでURLショートカットファイルを作成する際にファイル内容
に不足があることがわかりました。
例として、たとえばマイクロソフトのサイト
http://www.microsoft.com/japan/msdn/architecture/
などに対して作成すると、IEで作成した場合に作成される処の
[DOC_pagetools]
XMLUSERDATA__Size=・・・・・
XMLUSERDATA=・・・・・
USERDATAURL=・・・・・
という部分が作成されていませんでした。そしてこの部分がないと、クリック
して実行してもIEで表示できないことがわかりました。どうも実行に際して
不可欠の内容のようでした(これはユーザーの同定等を行っているのでしょうか)。
こうした部分をWshShellオブジェクトのCreateShortcutメソッドで作成する
ことは不可能でしょうか。可能とした場合はどのようにすればよいでしょうか?
なにとぞよろしくお願いします。

77 :
>>76
[InternetShortcut]しかないけど開けるよ?
ファイルに.urlつけてないとかじゃないの?

78 :
ドメインユーザーのSID(S-x-x-x....)
から、ユーザーID(Domain\UserID)を知りたいんだけど、
ActiveDirectoryにどんな方法でアクセスすれば良いですか?
ADSIを使うっぽいのですが、いまいちわかりません。

79 :
>>77
ご指導ありがとうございます。
おっしゃってくださったことから、今もう一度やってみましたら確かに
今度は動作致しました!
昨日やったときはページが移動しなかったのですが、IE系のトラブルか何か
が重なっていたのかもしれません・・・、お手数おかけしてすみません。
ご指導ありがとうございました。

80 :
>>56
だめだ。それは結局JavaScriptを使っているから。
HTML内にVBSオンリーで同等の機能を実装してくれ。

81 :
>>80
え?>>55はJavaScriptをVBSで書けるかどうか聞いてるじゃん

82 :
>>81
VBSが分からないから日本語に着目して自己満足ですか。
はいはい、あなたは正しく理解し、適切な回答をなさいました。
キミにはたぶん質問者が知りたがっていることを回答するのは無理だね。
>>57は漢字が間違ってるし。

83 :
>82
わざと誤字を扱うのがネラーの習わし

84 :
>>82
hrefでjavascript関数の後にvoid(0)って一体どんな意味か教えて

85 :
>>84
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Operators:Special_Operators#void

86 :
>>85
いや、void(0)単体の意味じゃなくて、「f()の後に」void(0)を置く意味が知りたいんだ

87 :
void(0)を付けないでブラウザのアドレスバーに打ち込んでみるとわかるよ

88 :
つけてもつけなくても変わらんよ

89 :
>>86
何を期待してるのかわからんが,
とりあえず「f()の後にvoid(0)を置く意味を知りたい」という要求の原因を教えてもらおうか

90 :
ああ、説明できないならもういいよ
お疲れさん

91 :
とりあえずプログラム板もID付けて欲しいぜ・・・

92 :
void(0);だけじゃ何の効果も示さないみたいな
f();は今のところ自端末じゃ何も設定されてなくて
voidの()内に後でチェックコードでも書くとか?
今は何を作るか知られたくないから意味のないコードしか書いてないとか

93 :
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 :
だからアドレスバーに打ち込んでみるとわかるって言ったのに

95 :
条件が揃わないとわからないんじゃね

96 :
Excelの2003と2007がインストールされた環境で、以下のVBSを実行すると2007が起動します。
2003を起動するには、どう書けばいいんでしょう?
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.WorkBooks.Add()
ExcelObj.Visible = True

97 :
それってWindowsの設定の問題じゃないの?
xlsファイルを2003のExcelで動作するように設定すれば動くんじゃない?

98 :
>>97
すいません。説明不足でした。
常に2003を起動したいわけではなく、2003と2007を必要に応じて使い分けたいのです。
そういう区別はVBSでは無理なんでしょうか?
あと、regmonでVBS実行中に参照されるレジストリを調べてみたところ、どうやら
HKCR\Applications\excel.exeを見て、起動するアプリを決定しているようでした。
つまり、>>96のような書き方では最後にインストールしたバージョンしか起動できないのです。

99 :
2003はたぶん Excel.Application.9 で,2007はしらね
ttp://support.microsoft.com/kb/240794/ja

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
MVVMについて語ろう (277)
CELL (531)
NetBeans Part6 (767)
いまだに LZH で配布してるヤツって何なの? (302)
懐かしのMS-DOSプログラミング (364)
【独学】一人で勉強する奴らのスレ【自習】 (377)
--log9.info------------------
に興味がある孤男 (201)
寂しい (264)
お前らが初めてしたのって何歳? (278)
オタクが羨ましい… (270)
公務員試験を受ける孤男-2 (343)
旅行の何が楽しいのか分からない孤男 (601)
【1986】昭和61年生まれの孤独な男性 Part5 (476)
【合宿】自動車学校行ってる孤男6 (584)
「AKB48」前田敦子 「私、孤独なの」 (323)
劣等感が強い 2 (445)
女がよく勘違いしていること (346)
友達がいないとかどうでもよくね? (282)
女性ホルモン服用している孤男 (252)
その場で言えなかった事を書くスレ (616)
一人焼肉 (234)
休日することなくてパRの日々3 (434)
--log55.com------------------
■1,800億kW節約■照明をLEDにしたら効果ありますか
総括原価方式..をやめれば電気代半額
◆浜岡原発停止ならば、関東への電力供給を止めろ◆
東電社員もスリーマイル島の時みたいに射殺される?
東京電力の施設、社員の現状を報告するスレ
プルサーマル発電について語るスレ
            環境省 2      
福島原発事故は安倍晋三による人災