VBSで便利なプログラムを作れスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/02/03(土) 17:49:47いますぐ使えるちょっぴり便利プログラムを作れ
(例○○を自動処理してくれるプログラム)
0002デフォルトの名無しさん
2007/02/03(土) 17:52:270003Windows厨&rlo;wwwね死はCAM。すでXUNILチンアやや
2007/02/03(土) 17:54:410004デフォルトの名無しさん
2007/02/03(土) 18:14:330005デフォルトの名無しさん
2007/02/03(土) 22:14:500006デフォルトの名無しさん
2007/02/04(日) 04:38:30自動書きこみをする機能がそもそもまともじゃない
0007デフォルトの名無しさん
2007/02/08(木) 22:08:15KETA = 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)
00087
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
0009デフォルトの名無しさん
2007/02/09(金) 01:15:14どう動かないんだ。
エラーメッセージが出るならエラーメッセージを貼れ。
0010デフォルトの名無しさん
2007/02/09(金) 01:18:010011デフォルトの名無しさん
2007/02/09(金) 01:22:38構文が冗長だから
0012デフォルトの名無しさん
2007/02/09(金) 02:01:47'VB
For I = 1 To 10
Next
*COBOL
PERFORM VARYING I FROM 1 BY 1 UNTIL I <= 10
END-PERFORM
0013デフォルトの名無しさん
2007/02/09(金) 10:20:33間違えてる。UNTILならI>10だ
0014デフォルトの名無しさん
2007/04/29(日) 02:58:52字下げが取れちゃってるのも一因ではないだろうか、この場合。
0015wol.wsf
2007/06/03(日) 10:59:59<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>
0016computer.class
2007/06/03(日) 11:03:50Class 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もやってみると意外とできるもんだ。
0017デフォルトの名無しさん
2007/06/04(月) 23:41:38構造体は使えないはいろいろと細かいところで制約が多い。。
0018デフォルトの名無しさん
2007/06/27(水) 11:51:05WINDOWSからSolarisにFTP接続してファイルを取得するVBスクリプト。
・ /export/home/backup/mysql/の下にあるファイルを取得
・ /export/home/backup/www/の下にあるファイルを取得
・取得したいファイル名をリスト化、そのリストを読み込んで、
1つのファイルをGET.→FTP切断→FTP接続→ファイルGET→FTP切断の繰り返し
・取得したファイルはSolarisから削除
・日付を管理。最新のを5つだけ残す。一番ファイルを削除
こういったVBSはどうつくればいいんでしょうか?
0019デフォルトの名無しさん
2007/06/27(水) 23:06:22ここれは便利なスクリプトを作ってくれとお願いするスレじゃなくて、
自発的に自分が書いた物を晒すスレのような気がするんだが。
漏れの場合は、取得したいファイル名を変数にしてして、毎回
FTPスクリプトを生成して実行する方法にしてる。
ちなみにアカウント情報はcsvにしてるが平文で書いてるので
取り扱いに注意してる。PASVが使いたい場合はGNU版を
使う事。
どっちかっつーとWSHスレ向きジャネ?そのまま質問しても罵倒
されるだけだと思うけど。
0020デフォルトの名無しさん
2007/06/28(木) 09:04:40FTPスクリプトを生成して実行する方法にしてる。
上司にも同じこと言われましたね、。
なんとなくイメージできても、いざ作るとなると難しくて…
どう作ったらいいのかわからないですね。
0021デフォルトの名無しさん
2007/06/28(木) 09:43:15じゃーまず、ここに取得したいファイル名が固定のFTPスクリプトを
生成するVBSを書いてみてよ。
0022デフォルトの名無しさん
2007/06/28(木) 10:19:50i1125
i1125
get /export/home/backup/mysql/mysql_&YYYYMMDD&.tar.gz
loop
quit
と書いたテキストファイルをコマンドプロンプトで実行したら、指定したファイルは取得できました。
0023デフォルトの名無しさん
2007/06/28(木) 21:12:15日本語不自由な人?
0024デフォルトの名無しさん
2007/06/29(金) 01:24:58低脳にスレ立てさせんなよ・・・
0025VBSって面白いのか?
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
0026VBSって面白いのか?
2007/07/22(日) 23:32:39まあなんでもいいんだが・・。
0027VBSって面白いのか?
2007/07/22(日) 23:36:33誰かウイルススレでもしよう・・・・。
0028デフォルトの名無しさん
2007/07/29(日) 00:14:47s = 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
0029名無し
2007/08/08(水) 20:23:430030デフォルトの名無しさん
2007/08/11(土) 17:05:13NumLock状態の1をショートカットキーに適用したいのですが
Hotkey="Num 1"
Hotkey="NumLock 1"
どちらでもできません
直接作成は無理なのでしょうか?
0031デフォルトの名無しさん
2007/08/12(日) 20:21:53なんとかいうAPI使って実行ファイル作ったけど無理だった
敗北の想い出が蘇る
0032デフォルトの名無しさん
2007/08/14(火) 20:56:42VBS単体だと操作の自動化は不便
0033デフォルトの名無しさん
2007/09/06(木) 20:53:01C#からVBSのFunction呼び出そうしてるんですが
複数の値を返すことができません。
教えてください。
0034デフォルトの名無しさん
2007/09/06(木) 20:54:08vbsが走るのでだめでした。
vbs自体が複数値を返す処理をするためにはどのようにすればよいでしょうか。
値は、Excelのセルからとります。
0035デフォルトの名無しさん
2007/09/06(木) 22:08:151. そのVBScriptの内容をC#へ書き換える。
2. VBScriptをC#プログラム内でホストする。
0036デフォルトの名無しさん
2007/09/06(木) 22:13:43は1は実行済みですけどVBSにも全く一緒のコードを書くことになって
かなり冗長的なコードになるんですよ。
2もしたが取り出すとき複数の値をとるほうほうが不明です。
0037デフォルトの名無しさん
2007/09/06(木) 22:27:49それが無理なら、C#から戻り値を受け取るオブジェクトを渡すってのはどう。
0038デフォルトの名無しさん
2007/09/06(木) 22:33:48配列を返すって考えましたけどVBScriptのリターン文ってありませんよね。
関数名 = 処理
↑こんな感じがリターン文なのかな。
0039デフォルトの名無しさん
2007/09/06(木) 22:40:58型は関数の戻り値の型と同じ(と言ってもVBSは常にVariantだが)。
関数を抜けるときにその変数に入っていた内容が戻り値になる。
これはVB系一般で通用する文法。
0040デフォルトの名無しさん
2007/09/06(木) 23:14:36配列とか返せないと思うんですがいかがでしょう。
0041デフォルトの名無しさん
2007/09/07(金) 00:01:51思うって言われてもなぁ
0042デフォルトの名無しさん
2007/09/07(金) 00:05:36情報量が少ないから断定的な判断はできないんですよ。
0043デフォルトの名無しさん
2007/09/07(金) 00:10:31Array関数で配列を作れる。
その戻り値を関数名の変数に代入すれば
配列を返す関数の出来上がり。
0044デフォルトの名無しさん
2007/09/07(金) 00:11:37調べるのも大事なことだが、試すのだって大事なことだぞ
msgbox a()(2)
function a()
dim b()
redim b(10)
b(2)=100
a=b
end function
こんな感じで出来ない?
0045デフォルトの名無しさん
2007/09/07(金) 00:13:35しかし、型なしには驚いた・・・
0046デフォルトの名無しさん
2007/09/07(金) 12:14:520047デフォルトの名無しさん
2007/09/08(土) 00:52:340048デフォルトの名無しさん
2007/11/01(木) 17:26:59VBSなら<script src=a.vbs ですか?
0049デフォルトの名無しさん
2007/11/01(木) 18:21:37ああ拡張子はなんでもいいが
typeなりlanguage書こうぜw
それとタグは閉じような
気になってしょうがないw
0050デフォルトの名無しさん
2007/11/02(金) 13:45:302つプロバイダ登録してあって、ショートカットで無理やり接続はできたのですが、
なぜだか切断の時に1%くらいの確率で失敗します。
(slect case でやって、引数を保持しているのですが何故か極まれに間違えます)
タスクトレイの接続の所では、何処に繋がっていても切断できますので、せめてこれが
呼び出せればSENDKEYSでなんとかなるんですが…
0051デフォルトの名無しさん
2007/11/02(金) 15:42:000052デフォルトの名無しさん
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>
0053デフォルトの名無しさん
2007/11/04(日) 12:45:31"fm.t"
0054デフォルトの名無しさん
2007/11/04(日) 13:13:19スケジューラで週一自動実行したいんですけど、VBSで可能でしょうか?
0055デフォルトの名無しさん
2007/11/18(日) 23:11:59<a href="javascript:f();void(0)">
というJavaScriptをVBSで書けますか?
0056デフォルトの名無しさん
2007/11/18(日) 23:30:000057デフォルトの名無しさん
2007/11/19(月) 00:18:24修辞がおかしいので>>56見たいに言われるわけだが・・・
0058デフォルトの名無しさん
2007/11/19(月) 17:32:580059デフォルトの名無しさん
2007/11/26(月) 08:03:28FTPだとFTPサーバーの名前を知らないとアノニマスでも接続できませんよね?
どうすれば良いのでしょうか?
0060デフォルトの名無しさん
2007/11/26(月) 16:00:11たとえばスーパーに買い物に行きますよね
でもスーパーの住所を知らなければ買い物できませんよね?
どうすれば良いのでしょうか?
006159です
2007/11/26(月) 20:59:22HTTPからでもダウンロード可能なようですが、全くやり方が不明です。
勉強中の身でして、質問が多くなりますが、お願いいたします。
>60
そのスーパーの住所の調べ方を伝授してください
お願い致します
0062デフォルトの名無しさん
2007/11/26(月) 23:58:170063デフォルトの名無しさん
2007/11/27(火) 00:06:54そこらへんのダウンロードソフトはユーザにURLの入力を求めているだろ。
0064デフォルトの名無しさん
2007/11/27(火) 03:27:14IPアドレスは32bitしかないんだから、総当たりで!
006559です
2007/11/27(火) 08:04:28VBSでこのスレッドを落とす場合
.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ツールが許可もらってやっているように
思えませんので(失礼…)何かしら打開策があると思うのですが
0066デフォルトの名無しさん
2007/11/27(火) 08:53:03ftpが許されてないからです。
httpなら許されてるから、まずはそこから。
0067デフォルトの名無しさん
2007/11/27(火) 09:23:50> Connect("pc11.2ch.netのFTPサーバー", "ユーザー(anonymousでいける?)", "パス")
> で繋いで
> .GetFile("pc11.2ch.netのFTPサーバー/1170492587/*.*", "c:\dowsodata")
> となると思いますが、
いいえ違います
pc11.2ch.netのFTPサーバなんてありません
0068デフォルトの名無しさん
2007/11/27(火) 14:48:35あまりの事にあきれ果てているから?
>>59
釣られたのかもしれないが、マヂレスしておくと君の考えて
いる事は全くの見当違い。
ttp://www5e.biglobe.ne.jp/~aji/3min/index.html
ここのFTP、DNS、HTTPの所でも読んでくれ。
で、理解したら、これ以上聞かないでね。
006959です
2007/11/28(水) 08:57:51<a href="*.dat">download</a>
を、VBSで書くとどうなりますか?
(ダウンロードしますか?と言うダイアログが出ます)
VBSで書いてる途中なのでできれば全部VBSで書きたいんです。
皆さんいろいろ教えていただいてありがとうございました
FTPはファイル交換、DNSはネット接続の中間、HTTPはHTMLを見るため
位の感覚で覚えていましたので、どうやってファイル転送機能なしでファイル転送するんだろう?
ドメイン(biglobe.ne.jp)の部分が同じなので探す方法があるのかと思い、質問しました。
興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で
訊けばいいんですよね?
0070デフォルトの名無しさん
2007/11/28(水) 13:45:34ネットワークの勉強ついでにVBSとかクライアントスクリプトも調べて来い
質問の意図が分からなさ過ぎる
きっと用語を正しく理解していない
> 興味が出ましたので、細かく調べようと思いますが、解らないところは「ネットワーク板」で
> 訊けばいいんですよね?
責任もてないので、「はいそうです」とは言わない
調べられなければ調べられるまで調べつくせ
007159です
2007/11/28(水) 20:59:50すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが
どのようにダウンロードをしているのかを知りたかったんです。
よく考えたらこの命令は単純にアドレス指定してアクセスするだけですね、
ちょっとやってみます。
0072デフォルトの名無しさん
2007/11/28(水) 22:39:14知らないのは罪では無い。
だが、知らないという事を盾にして、初歩的な事を人に聞きまくるのは迷惑。
>すいません、知りたかったのはIriaなどのHPを丸ごとダウンロードしてくるソフトが
こんな事は最早ネットワークすら関係無い。通信技術板で聞こう物なら、
即氏ねと言われてもおかしくない。
初歩的なhtmlを知っていてIriaを使っていれば、どういう仕組みで丸ごと
ダウンロードしているのか、一般的な知能を持っていればわかるはず。
まず人に聞くな。自分で考えろ。
0073デフォルトの名無しさん
2007/11/28(水) 23:44:160074デフォルトの名無しさん
2007/11/29(木) 02:24:51html知っててもhttpの仕組みがわかるわけ無いだろ。
>>59
「XMLHTTP VBS」あたりでググればいくらでもサンプル出てくる。
でも、VBSでリストだけ作ってダウンローダーに渡すのがいろんな意味でおすすめ。
007559です
2007/11/29(木) 07:20:59ありがとうございます、貴方のおっしゃっているように、私のやろうとしている事は
ネットワークとはあまり関係がありませんね。
>74
XMLHTTPですね、ありがとうございます。
タグ辞典読んだり、「VBS ダウンロード」とか組み合わせてググっても
それに対応出来そうな命令が全く出てこなかったんで、困っておりました。
これでやっと点が線で繋がりました!!
0076デフォルトの名無しさん
2007/11/30(金) 10:37:58WshShellオブジェクトでURLショートカットファイルを作成する際にファイル内容
に不足があることがわかりました。
例として、たとえばマイクロソフトのサイト
http://www.microsoft.com/japan/msdn/architecture/
などに対して作成すると、IEで作成した場合に作成される処の
[DOC_pagetools]
XMLUSERDATA__Size=・・・・・
XMLUSERDATA=・・・・・
USERDATAURL=・・・・・
という部分が作成されていませんでした。そしてこの部分がないと、クリック
して実行してもIEで表示できないことがわかりました。どうも実行に際して
不可欠の内容のようでした(これはユーザーの同定等を行っているのでしょうか)。
こうした部分をWshShellオブジェクトのCreateShortcutメソッドで作成する
ことは不可能でしょうか。可能とした場合はどのようにすればよいでしょうか?
なにとぞよろしくお願いします。
0077デフォルトの名無しさん
2007/11/30(金) 19:49:02[InternetShortcut]しかないけど開けるよ?
ファイルに.urlつけてないとかじゃないの?
0078デフォルトの名無しさん
2007/11/30(金) 20:58:14から、ユーザーID(Domain\UserID)を知りたいんだけど、
ActiveDirectoryにどんな方法でアクセスすれば良いですか?
ADSIを使うっぽいのですが、いまいちわかりません。
007976
2007/12/03(月) 23:26:26ご指導ありがとうございます。
おっしゃってくださったことから、今もう一度やってみましたら確かに
今度は動作致しました!
昨日やったときはページが移動しなかったのですが、IE系のトラブルか何か
が重なっていたのかもしれません・・・、お手数おかけしてすみません。
ご指導ありがとうございました。
0080デフォルトの名無しさん
2007/12/08(土) 06:36:58だめだ。それは結局JavaScriptを使っているから。
HTML内にVBSオンリーで同等の機能を実装してくれ。
0081デフォルトの名無しさん
2007/12/08(土) 12:09:40え?>>55はJavaScriptをVBSで書けるかどうか聞いてるじゃん
0082デフォルトの名無しさん
2007/12/08(土) 15:04:43VBSが分からないから日本語に着目して自己満足ですか。
はいはい、あなたは正しく理解し、適切な回答をなさいました。
キミにはたぶん質問者が知りたがっていることを回答するのは無理だね。
>>57は漢字が間違ってるし。
0083デフォルトの名無しさん
2007/12/08(土) 19:01:24わざと誤字を扱うのがネラーの習わし
0084デフォルトの名無しさん
2007/12/09(日) 01:08:07hrefでjavascript関数の後にvoid(0)って一体どんな意味か教えて
0085デフォルトの名無しさん
2007/12/09(日) 01:34:04http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Operators:Special_Operators#void
0086デフォルトの名無しさん
2007/12/09(日) 11:29:05いや、void(0)単体の意味じゃなくて、「f()の後に」void(0)を置く意味が知りたいんだ
0087デフォルトの名無しさん
2007/12/09(日) 12:09:110088デフォルトの名無しさん
2007/12/09(日) 12:50:580089デフォルトの名無しさん
2007/12/10(月) 12:02:32何を期待してるのかわからんが,
とりあえず「f()の後にvoid(0)を置く意味を知りたい」という要求の原因を教えてもらおうか
0090デフォルトの名無しさん
2007/12/10(月) 21:56:53お疲れさん
0091デフォルトの名無しさん
2007/12/10(月) 21:59:040092デフォルトの名無しさん
2007/12/11(火) 18:08:58f();は今のところ自端末じゃ何も設定されてなくて
voidの()内に後でチェックコードでも書くとか?
今は何を作るか知られたくないから意味のないコードしか書いてないとか
0093デフォルトの名無しさん
2007/12/14(金) 10:35:11みんな最後にvoid(0)やfocus()を付けるのはなんでだぜ?
361:ぼけなす 2007/06/16 12:12:44 P+YI6MXb
>>360
Location Bar 本来の機能が邪魔することがあるから.
全体を function として記述してもうまくいくようだ.
0094デフォルトの名無しさん
2007/12/14(金) 22:03:540095デフォルトの名無しさん
2007/12/15(土) 06:34:390096デフォルトの名無しさん
2007/12/17(月) 11:54:282003を起動するには、どう書けばいいんでしょう?
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.WorkBooks.Add()
ExcelObj.Visible = True
0097デフォルトの名無しさん
2007/12/17(月) 13:01:46xlsファイルを2003のExcelで動作するように設定すれば動くんじゃない?
0098デフォルトの名無しさん
2007/12/18(火) 01:05:13すいません。説明不足でした。
常に2003を起動したいわけではなく、2003と2007を必要に応じて使い分けたいのです。
そういう区別はVBSでは無理なんでしょうか?
あと、regmonでVBS実行中に参照されるレジストリを調べてみたところ、どうやら
HKCR\Applications\excel.exeを見て、起動するアプリを決定しているようでした。
つまり、>>96のような書き方では最後にインストールしたバージョンしか起動できないのです。
0099デフォルトの名無しさん
2007/12/18(火) 02:12:08ttp://support.microsoft.com/kb/240794/ja
0100デフォルトの名無しさん
2007/12/18(火) 04:06:22ありがとうございます。さっそく調べてみたところ、
2000 → 9
2002 → 10
2003 → 11
2007 → 12
のように対応していることがわかりました。そこでプログラムを
Set ExcelObj = CreateObject("Excel.Application.11")
と修正してみたのですが、これではまだ2007が起動してしまいます。
もう少しオブジェクトの扱い方を調べる必要があるようです。
0101デフォルトの名無しさん
2007/12/18(火) 12:07:56ヒント:参照設定
0102デフォルトの名無しさん
2007/12/18(火) 21:32:070103デフォルトの名無しさん
2007/12/19(水) 03:29:220104デフォルトの名無しさん
2007/12/19(水) 07:02:16MSOライブラリを複数登録するんでしょうか?
別バージョンのMicrosoft Office Object Library、Microsoft Excel Object Libraryを参照設定から
追加しようとしたのですが無視されてしまいました。
エラーも出ず、追加も出来ず、よくわかりません。
>>102
excel /regserverを実行してみたところ、Officeのインストーラーが起動してシステムの設定をすべて書き換え、
確かにデフォルトのアプリケーションもオブジェクトも切り替わりました。
が、この方法ではいちいちインストーラーが起動するということで、見栄えがよくありませんし、
時間もかかりすぎてしまいます。元に戻す手間もありますし。
>>103
最終的にはウィンドウを出さずに裏でこっそり処理をさせたいので、(>>96のプログラムの3行目が
存在しないイメージです) 単純にショートカットからExcelを起動して最小化、みたいな処理は、
できれば避けたいのです。後出しですみません。
もう少しヒントを、よろしくお願いします。
0105デフォルトの名無しさん
2007/12/19(水) 21:46:150106デフォルトの名無しさん
2007/12/21(金) 15:02:410107デフォルトの名無しさん
2007/12/24(月) 06:18:210108デフォルトの名無しさん
2007/12/24(月) 15:32:02http://support.microsoft.com/kb/292491/ja
0109デフォルトの名無しさん
2007/12/24(月) 15:35:09(office2000以降)CLSIDが共通だって事は、
オートメーションでバージョンを指定することは出来ない ってことじゃねえの?
0110デフォルトの名無しさん
2007/12/24(月) 16:17:150111デフォルトの名無しさん
2007/12/24(月) 16:25:440112デフォルトの名無しさん
2007/12/25(火) 19:44:140113デフォルトの名無しさん
2007/12/25(火) 23:04:38ちょっとした選択ミスがすべてを台無しにする事もある
目的と干渉によるけどやりたいなら自己責任で
0114デフォルトの名無しさん
2008/02/11(月) 06:52:56プログラムに汎用性を持たせるために、一部の変数を外部ファイル化したんですが、
どうすればよいのでしょうか?
実行専用ファイルを作って、その中で変数専用ファイルとメインファイルをPublic変数で繋いで
走らせる事も考えたのですが、できますでしょうか?
って言うかVBSってinclude無いんですか?
0115デフォルトの名無しさん
2008/02/11(月) 12:09:25wsfというものがあってですね
0116デフォルトの名無しさん
2008/02/11(月) 23:26:240117壱壱四
2008/02/12(火) 07:24:04ありがとうございました。
あとはググって調べます
0118デフォルトの名無しさん
2008/03/06(木) 09:58:25というか、挙動不審なんです。
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つまとめるとダメみたいで・・・。
そういう仕様なんでしょうか?
何か書き方にクセがあるんでしょうか?
0119デフォルトの名無しさん
2008/03/08(土) 12:41:440120デフォルトの名無しさん
2008/04/08(火) 00:03:03たとえば「A1」のセルに「VBSで便利なプログラムを作れスレ」と入力してあった場合、
そのうちの『プログラム』だけをフォント赤色に変更する、というような感じです。
セル内の文字列すべてだとできるのですが、セル内の文字列の一部分だけを変更する方法を思いつきません。
ExcelのVBAだとCharactersオブジェクトが使えてたけど、これはVBSでは使えないのでしょうか? (←うまいきませんでした)
なにかいいアイデアあったら、誰か教えてください・・・
0121デフォルトの名無しさん
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
0122デフォルトの名無しさん
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を相対パスで指定して不要項目を削除するには、上記スクリプトを
どのように変更すればいいでしょうか?
0123デフォルトの名無しさん
2008/04/08(火) 16:00:050124デフォルトの名無しさん
2008/04/08(火) 16:18:19レスありがとう。
結局、相対パスはできないということですね。
0125120です
2008/04/08(火) 23:27:32ありがとう。書いてもらったのを参考にして思う通りのものができました。
CharactersオブジェクトのStartとLengthの指定の仕方をまちがってたようです。
任意のフォルダを選択すると、コマンドプロンプトのTREEコマンドみたいな枝?罫線+選択フォルダ以下すべてのサブフォルダ名 OR ファイル名を
Excelに書き出す、というのを作ってたんですが、その出力内容のうち、サブフォルダ名の部分だけを色変えたかったのです。
0126120です
2008/04/08(火) 23:28:08相対パスとるより絶対パスとるほうが簡単だと思うんだけど・・・?
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
*******************************************************
0127122
2008/04/09(水) 13:06:21必ず相対パスでないとだめってわけではないのだけど。
クライアントで取り込んだCSVを編集する為なのね。
まあ、やり方で回避できるのだけど。。。
このコードも活用させていただきますです。
ありがとう。
0128デフォルトの名無しさん
2008/04/10(木) 01:19:36パスがわからないのならドラッグ&ドロップすればいいじゃない、牛丼がないのなら豚丼をたべればいいじゃない。
>>126
そのファンクションいただき。でもエクセルObjectがないと使えないのかー。
0129デフォルトの名無しさん
2008/04/10(木) 02:21:36APIだからエクセルいらない。
0130デフォルトの名無しさん
2008/04/10(木) 16:40:35通常Webから配布しているCSVを加工する為に、VBSを
クライアント配布で色々考えてた。
>>126氏の指摘通りエクセル操作が前提で。
>パスがわからないのならドラッグ&ドロップすればいいじゃない、
それも、そうだと思った強風、豪雨の午後でした orz
>牛丼がないのなら豚丼をたべればいいじゃない。
メタボはいかん。
0131デフォルトの名無しさん
2008/04/20(日) 22:38:51実行させたいときはどうするのでしょうか?
[OK]ボタンが押されなくても複数のメッセージボックス(?)を表示させたいのですが …
0132デフォルトの名無しさん
2008/04/20(日) 23:39:082箇所に同じ質問書くと嫌われるよ。マナー違反。今後気をつけな。
0133デフォルトの名無しさん
2008/04/21(月) 00:21:170134デフォルトの名無しさん
2008/04/21(月) 20:15:020135デフォルトの名無しさん
2008/04/22(火) 11:02:10じみへんは?
言ってないかw
0136デフォルトの名無しさん
2008/05/01(木) 22:03:51VBSで二進法の数を十進法にして表示させるプログラムを教えてください。
0137デフォルトの名無しさん
2008/05/01(木) 23:48:07手計算するのと同じことを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
0138デフォルトの名無しさん
2008/05/01(木) 23:52:390139デフォルトの名無しさん
2008/05/01(木) 23:54:100140デフォルトの名無しさん
2008/05/02(金) 00:25:00ありがとうございます。
0141デフォルトの名無しさん
2008/05/03(土) 11:12:120142デフォルトの名無しさん
2008/05/03(土) 11:41:22Valに直しとけ
0143たわし
2008/05/03(土) 13:27:56二進法の数を十進法にして表示させるプログラムもう少し簡単にできませんか
0144デフォルトの名無しさん
2008/05/03(土) 13:29:000145たわし
2008/05/03(土) 13:36:420146デフォルトの名無しさん
2008/05/03(土) 20:23:260147デフォルトの名無しさん
2008/05/03(土) 21:46:23しかしValでも型が一致しませんとでるんですが
0148デフォルトの名無しさん
2008/05/03(土) 22:43:18お前さんがとてつもない馬鹿で何一つ知らない情報弱者だから
こちらは超能力者にならざるを得ないのをとりあえず理解してくれ。
それを前提とした上で「パソコンでマウスを動かそうとした」とこから
「Valでも型が一致しませんとでる」までの経緯を
お前さんが認識してる「馬鹿」に分からせるように説明しろ。
0149デフォルトの名無しさん
2008/05/04(日) 01:47:230150デフォルトの名無しさん
2008/05/04(日) 01:58:490151デフォルトの名無しさん
2008/05/04(日) 06:09:59ValをCIntに戻して再実行してみろ。
CIntに戻したときのエラー表示の中で「文字が正しくありません。」
という文言があるのなら、全角スペースが原因。
行の先頭のスペースを全部削除してから再実行してみろ。動くはず。
>>142
CIntをValに直してもよけいに動かなくなるだけ。
VBでは動いても、VBSでは動かん。
>>150
1行目の10101101を文字列ではなく数値で渡しているって想定か?
別に数値で渡しても、勝手に型変換されて動くよ。
0152デフォルトの名無しさん
2008/05/04(日) 06:18:31数値で桁が多すぎると(浮動少数表現に変わるから?)エラーでるよ
0153デフォルトの名無しさん
2008/05/04(日) 12:33:44型が一致しません"Clnt"とでます
パソコンが2000だからとかそういうわけでしょうか
あと素人丸だしですみませんが、一行目の10101101ってどういう意味ですか?
0154デフォルトの名無しさん
2008/05/04(日) 12:37:010155デフォルトの名無しさん
2008/05/04(日) 16:39:54そもそも「二進法」の意味がわかっとらんだろ?
0156デフォルトの名無しさん
2008/05/04(日) 17:22:210157デフォルトの名無しさん
2008/05/04(日) 19:25:190158デフォルトの名無しさん
2008/05/04(日) 22:40:33すまんが、前提として10101101をそのままとしていた。
確かに桁が増えたらエラーになる。
16桁か17桁くらいが区切りのはず。
ちなみに浮動少数表現ではなく、対数表現な。
>>153
指摘が間違ってた。
いいか、Clntが間違いだ。CIntだ。
2文字目は小文字のL(エル)ではなく、大文字のI(アイ)だ。
ついでにいうと、二進法で表現した数値を二進数と言うんだ。
0159デフォルトの名無しさん
2008/05/05(月) 03:45:400160デフォルトの名無しさん
2008/05/05(月) 04:16:030161デフォルトの名無しさん
2008/05/05(月) 17:06:00そこで入力した二進数を十進数に変えるプログラムはどうやるんですか?
0162デフォルトの名無しさん
2008/05/05(月) 17:20:48だから変換は必要ない
0164デフォルトの名無しさん
2008/05/05(月) 17:39:300165デフォルトの名無しさん
2008/05/06(火) 12:29:270166デフォルトの名無しさん
2008/05/06(火) 14:22:30モレモナ〜w
0167デフォルトの名無しさん
2008/05/06(火) 15:42:50msgbox &hFE
とすると、結果は 254 と表示されます。
ほんとは FE のはずです。
こういうバグがあるから気をつけたほうがいいよ。
0168デフォルトの名無しさん
2008/05/06(火) 15:47:270169デフォルトの名無しさん
2008/05/06(火) 17:18:090170デフォルトの名無しさん
2008/05/06(火) 17:59:41FEって表示したいのなら
msgbox "FE"
って書きゃいいじゃん。
自分で &h つけておいて、何言ってんだろ?
msgbox hex(&hfe)
でもいいけど
0171デフォルトの名無しさん
2008/05/06(火) 18:31:120172デフォルトの名無しさん
2008/05/06(火) 21:58:28くせぇ!
今頃臭いが伝わってきたよ
0173デフォルトの名無しさん
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万円
0174デフォルトの名無しさん
2008/05/11(日) 13:31:120175デフォルトの名無しさん
2008/06/17(火) 04:14:05255バイト以上の入力値って無視されるのでしょうか?
解決策があれば教えてください。。
InputText = InputBox("文字列を入力してください")
Dim Fs
Set Fs=CreateObject("Scripting.FileSystemObject")
Set newFile = Fs.CreateTextFile("0000test0000.txt",True)
newFile.WriteLine(InputText)
0176デフォルトの名無しさん
2008/06/17(火) 09:13:270177デフォルトの名無しさん
2008/06/17(火) 22:19:12ある任意のWeb画面に対してスクリプトでリクエストを行い、HTTPステータスコード(200 ok 等)を
取得する方法はありますでしょうか。
どなたかご存知の方がいらっしゃいましたら、ご教授下さい。
0178>>177
2008/06/17(火) 22:24:080179デフォルトの名無しさん
2008/06/19(木) 14:20:45する命令ありますか?A:\固定で。
0180デフォルトの名無しさん
2008/06/19(木) 18:20:540181デフォルトの名無しさん
2008/06/19(木) 20:40:040182デフォルトの名無しさん
2008/06/21(土) 07:38:220183デフォルトの名無しさん
2008/07/19(土) 09:45:080184デフォルトの名無しさん
2008/07/19(土) 11:24:470185デフォルトの名無しさん
2008/07/27(日) 01:18:22あるけど需要あるか?
0186デフォルトの名無しさん
2008/07/30(水) 21:22:27test2.bin
test3.bin
これらファイルを選択状態にして、VBSファイルにD&Dすると、
ファイル名順にソートして、1つのファイルに結合するには、どうしたら良いのでしょうか?
1つのファイルを、指定サイズに自動分割するVBSはできたのですが、
その逆のことができるVBSファイルを作りたい。。。
ADODB.Recordset
ADODB.stream あたりを使えば可能?
0187デフォルトの名無しさん
2008/07/30(水) 21:26:240188デフォルトの名無しさん
2008/07/30(水) 21:38:44参考にさせていただきた
0189デフォルトの名無しさん
2008/08/13(水) 09:09:42「説明」のプロパティを取得するときに指定するプロパティ名が分かりません。
具体的には、例えばソリティア(C:\WINDOWS\system32\sol.exe)を
右クリックして表示されるプロパティの「バージョン情報」タブの2行目に
「説明:Solitaire Game Applet」と表示されますが、この値を取得したいのです。
ファイルバージョンなどは、「Version」プロパティで取得できております。
ご存知の方、ご教示お願い致します。
0190デフォルトの名無しさん
2008/08/13(水) 18:30:02カキコするところ間違えたみたいなので、移動します。スミマセン。
0191デフォルトの名無しさん
2008/08/17(日) 21:29:36作ってみた。
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
0192デフォルトの名無しさん
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"
↑以上、実行時は行頭の空白を半角に。
0193デフォルトの名無しさん
2008/08/17(日) 22:04:230194デフォルトの名無しさん
2008/08/21(木) 21:13:21wsnmp32.dll を利用することはできないんでしょうか?
dynwrap.dll というラッパー?も使えないのでしょうか
0195デフォルトの名無しさん
2008/08/31(日) 18:59:35set 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 とかは
永遠に消えちゃうので不安だ...。
0196デフォルトの名無しさん
2008/08/31(日) 19:01:100197デフォルトの名無しさん
2008/08/31(日) 21:05:240198デフォルトの名無しさん
2008/08/31(日) 21:32:26サンプル動作のためで、
関数をスクリプト内で
deletefile の代わりに使います。
0199デフォルトの名無しさん
2008/09/16(火) 20:29:18http://hail2u.net/blog/coding/change-msn-messenger-display-picture-by-vbscript.html
このMessenger.UIAutomation.1を使って他にも色々出来ないかな、と思って
ドキュメントを探したんですが、どうにも見つからず…。
どなたか詳細ご存じの方いらっしゃいませんか?
Samurizeと組み合わせて、デスクトップから一発で名前とかステータス変えられたら…
0200デフォルトの名無しさん
2008/10/05(日) 15:56:24IronPtythonなんてどうでもいい。
ていうことでVBScriptやJScriptを開発する統合環境みたいなツールってないの?
秀丸で書いてるんだけど、文法チェックや小文字大文字変換で不便でしょうがないんだけど。
0201デフォルトの名無しさん
2008/10/05(日) 16:31:17VBSで作れと?
0202デフォルトの名無しさん
2008/10/05(日) 18:25:170203デフォルトの名無しさん
2008/10/05(日) 19:01:39同系としてVBAは今のところ代わりが無いから多少変わるかもしれんが。
WSHは見捨てられた子・・・
JScriptつーかJavaScriptならEclipseで使えると思うけど、それじゃダメ?だよね(w
0204デフォルトの名無しさん
2008/10/05(日) 20:01:20でも、VisualWebDeveloperExpressEditionにWSH用のテンプレートがあるみたいだ。
インスコしよっと。
0205デフォルトの名無しさん
2008/10/05(日) 21:16:21>でも、VisualWebDeveloperExpressEditionにWSH用のテンプレートがあるみたいだ。
そんなもんがあるんか。そのうち入れてみよっと。
0206デフォルトの名無しさん
2008/10/06(月) 05:31:220207デフォルトの名無しさん
2008/10/23(木) 19:41:52どうやったらいい?
0208デフォルトの名無しさん
2008/10/23(木) 19:55:52つWindows スクリプト ファイル (.wsf)
0209208
2008/10/23(木) 19:58:58wsfファイルを作ってvbsファイルをインクルードしたらいいよ。
もしくはスクリプトファイルを読み込んでExecuteGlobalするか。
0210デフォルトの名無しさん
2008/12/11(木) 03:39:01+1秒した日付(20081210140100)を取得するにはどうしたらいいですか?
windowsアクセスログの履歴がデータとして格納されているテーブルから最新利用履歴日付を取得し、
そこから1秒後の日付でwindowsアクセスログを再検索したいのです。
0211デフォルトの名無しさん
2008/12/11(木) 10:47:100212デフォルトの名無しさん
2008/12/12(金) 21:44:05レスありがとうございます。
秒計算のできる関数を発見したので、試してみます!
0213デフォルトの名無しさん
2008/12/13(土) 22:10:340214デフォルトの名無しさん
2008/12/13(土) 22:22:500215デフォルトの名無しさん
2008/12/15(月) 23:48:0525個のエクスプローラを起動させるようにプログラミングしたものが
あるのですが、3の倍数のエクスプローラーが起動したときのみに
ツールバーを表示させるようにしたいのですが
どのように、命令すればいいのでしょうか・・・。
0216デフォルトの名無しさん
2008/12/16(火) 00:32:48助けて下さい。
25本のチンポを勃起させるようにプログラミングしたものが
あるのですが、3の倍数のチンポが勃起したときのみに
包茎を表示させるようにしたいのですが
どのように、命令すればいいのでしょうか・・・。
ってくらいいみふ
0217デフォルトの名無しさん
2008/12/16(火) 01:22:01ナベアツに聞け
0218デフォルトの名無しさん
2008/12/16(火) 01:35:15たとえば 26475
この各桁を足すと 2+6+4+7+5 = 24
さらに各桁を足す 2+4 = 6
この値 6 が 3 の倍数ならば
26475 は 3 で割り切れる。
0219デフォルトの名無しさん
2008/12/16(火) 10:08:160220デフォルトの名無しさん
2008/12/24(水) 08:41:03CreateObject("WScript.Shell").Run で実行したバッチファイルを停止するスクリプトってどう書くんでしょうか?
0221デフォルトの名無しさん
2009/01/09(金) 14:14:10ぱっと思いついたのがそのDOS窓掴んで
sendkeyで^C→Yを送るくらい
もっと賢くてスマートなのは他の有識者に任せる
0222デフォルトの名無しさん
2009/01/29(木) 14:36:12Dim 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の子ノードが;;表示されない・・・
だ・だれか・・・
0223デフォルトの名無しさん
2009/01/29(木) 22:07:43そのバッチファイルのタイトルをtitleコマンドで適当に一意なものに変更しておいて
一致するプロセス取得してkillすればいいんじゃね?
0224デフォルトの名無しさん
2009/01/29(木) 22:32:01表示できたかな?
<?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>
0225デフォルトの名無しさん
2009/01/30(金) 10:58:34vbscriptで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は使わない方向でお願いします!
0226デフォルトの名無しさん
2009/01/30(金) 20:14:390227デフォルトの名無しさん
2009/02/15(日) 12:59:52流れはIEが起動してないとき実行すると”IEが表示されていません”と
メッセージを出し終了
IEが起動しているとき実行するとバックグラウンドで
10秒ごとのWebページのURLを取得しIEを終了させると今まで取得したURLを
メッセージで表示し終了
こんな感じで書いたんですが "IEを終了させると今まで取得したURLを
メッセージで表示し終了" この部分がうまく書けません。
具体的にはIEが終了するとオブジェクトが空になるはずなのでその辺をついて
わざとエラーを起こしエラー番号を取得しそのエラーだったら終了
させるような感じで書いたんですがちゃんと動作してくれません
ご教授お願いします
0228デフォルトの名無しさん
2009/02/15(日) 13:00:58Dim 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
0229227
2009/02/15(日) 15:22:140230デフォルトの名無しさん
2009/02/26(木) 23:01:07入力させフルスクリーンにしたいのですが、アクティブに
なったあとの入力を受け付けないようなのです。
なぜきちんと動かないのかお分かりになるかたいらっしゃいませんか?
以下スクリプトです。
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"
0231教えてくんに
2009/04/30(木) 22:38:510232デフォルトの名無しさん
2009/05/04(月) 01:07:57これをVBSで実行できますか?
0233デフォルトの名無しさん
2009/05/04(月) 01:54:590234デフォルトの名無しさん
2009/05/05(火) 19:33:28私もこのような現象がありました。
VBScriptでキーを送るのと、
物理キーボードでキーを送るのは、
別物として扱われる事があるのでしょうか?
0235デフォルトの名無しさん
2009/05/12(火) 22:25:37インスコフォルダ削除のスクリプトとかをVistaで実行すると、
アクセス拒否されるじゃん?
あぁゅぅのって、管理者実行でアクセス出来ると思うんだけど・・・
分かるヤツいない?
0236デフォルトの名無しさん
2009/05/13(水) 00:50:00set Shell = CreateObject("Shell.Application")
Shell.ShellExecute WScript.FullName, "MyScript.vbs", null, "RunAs"
のように ShellExecute に RunAS パラメタを付ければ管理者権限で実行できるらしい
上の例は一般権限のスクリプトから外部の別のスクリプトを管理者権限で呼び出す例だが
WTL のセットアップスクリプトに、フラグ制御で自分自身のスクリプトを再度管理者権限で呼び出したり、
UACの判定とかのやり方が入ってるから詳しくはそちらを見てくれ
0237デフォルトの名無しさん
2009/05/13(水) 19:52:57レスサンクス!(・∀・)
でも、またエラーでたな・・・
二個くらい出てきて、一個目がコレ↓↓
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト: C\Users\*****\Desktop\\TEST.vbs
行: 14
文字: 1
エラー: 書き込みできません。
コード: 800A0046
ソース: Microsoft VBScript 実行時エラー
━━━━━━━━━━━━━━━━━━━━━━━━
二個目が↓↓
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト ファイル"C\Windows\system32\My Script.vbs"
が見つかりません。
━━━━━━━━━━━━━━━━━━━━━━━━
実行環境はWindowsVista HomePremium
テストでiTunesのフォルダを指定してやってみたが何故かエラー
レス↓ソースでし
ソースに問題があったら指摘してくれ
0238デフォルトの名無しさん
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
━━━━━━━━━━━━━━━━━━━━━━━━━
長文失礼..........。
0239デフォルトの名無しさん
2009/05/13(水) 21:44:14あえて全部書くなら適当だけどこんな感じ
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
0240デフォルトの名無しさん
2009/05/13(水) 21:53:410241デフォルトの名無しさん
2009/05/13(水) 22:07:38まだ
━━━━━━━━━━━━━━━━━━━━━━━━
スクリプト: C\Users\*****\Desktop\\TEST.vbs
行: 18
文字: 1
エラー: 書き込みできません。
コード: 800A0046
ソース: Microsoft VBScript 実行時エラー
━━━━━━━━━━━━━━━━━━━━━━━━
のエラーが残ってまうな・・・;;
んー、このソースに使ってるスクリプトとかってどこで勉強できる?
URLor本トヵあったらそっちも覗いててみたいんだけど・・
ご指摘感謝感謝(´;ω;`人)
0242デフォルトの名無しさん
2009/05/13(水) 22:34:44ないような気がする
最初、アンインストール時に残ったゴミでも削除するのかと思ったんだけど
まさかアンイントールせずにフォルダをいきなり削除しようとしてるわけではないよね
C:\Program Files\iTunes
にサービスなどのプログラムがあってまだ使われているなら権限の問題とは
関係なくフォルダの削除は無理だと思うけど
0243デフォルトの名無しさん
2009/05/13(水) 22:41:42http://www.whitire.com/vbs/tips0186.html
コレとかで停止してからってのは駄目なん(・ω・`)?
0244デフォルトの名無しさん
2009/05/13(水) 23:06:26残る可能性が高い
レジストリや作業ファイルのゴミがあると同じアプリを二度とインストールできなくなったり
最悪OSが不安定になったりするの普通やるものではない
そもそも何故正式な方法でアンインストールしないの?
0245デフォルトの名無しさん
2009/05/13(水) 23:40:01OS犠牲にしてまではしたくないな・・・
デスクトップにダイアログ常時表示させといて、選択した必要ないファイル・ソフトの削除を
チャチャッ♪っと済ませられるようにしたいなぁとか、他にも活用できそうだしねー・w・
http://www.whitire.com/vbs/tips0113.html
一応、知恵の糧になるようなものをうpってみる
レジストリのゴミ削除できるかなぁーって(ノ∀`*)
0246デフォルトの名無しさん
2009/05/17(日) 09:32:28差分ファイルを指定フォルダにコピーすることはvbsで可能?
0247デフォルトの名無しさん
2009/05/17(日) 10:20:08vbs自体にハッシュ比較の機能がないから無理
同じ名前、サイズ、タイムスタンプくらいの判定でいいなら当然可能
0248デフォルトの名無しさん
2009/05/17(日) 10:43:25さすがにスクリプトでハッシュ比較すると
処理遅いだろうからそれで十分です
ありがとう、今から作ってみます
0249デフォルトの名無しさん
2009/05/17(日) 10:50:01比較するにしてもfcとか使ったほうが早いけど。
0250デフォルトの名無しさん
2009/05/17(日) 13:19:10「セキュリティで保護されていない接続へリダイレクトされようとしています。
現在のサイトへ送信中の情報は、セキュリティ保護されていないサイトへ再送信される可能性があります。続行しますか?」
っていうダイアログが表示されるのですが、このダイアログの「はい」のボタンを押下するには、VBSではどのようにすればいいのでしょうか?
0251デフォルトの名無しさん
2009/05/18(月) 08:45:15プログレスバー表示的なことが出来ればいいのだけど
みんなはどうしてる?
IEを使う方法はわかりにくいし
0252デフォルトの名無しさん
2009/05/18(月) 12:35:470253デフォルトの名無しさん
2009/05/18(月) 13:04:55したらいいんじゃないですか!だろw
0254デフォルトの名無しさん
2009/05/18(月) 18:23:550255デフォルトの名無しさん
2009/06/24(水) 00:20:51||
ヾ(o゚ω゚o)ノ゙ プニプニ!プニプニ!
||
ヾ(o゚ω゚o)ノ゙ 他板から乱入だ!プニプニ!
||
ヾ(o゚ω゚o)ノ゙ プニプニ!プニプニ!
||
O
0256デフォルトの名無しさん
2009/09/21(月) 08:47:26キー送信でAltとかTabとかSpaceとか送信して押せないかね。
>>251
HTAでプログレスバー作るのは?
IE(HTML)でやるよりソレっぽく仕上がるけど。
0257デフォルトの名無しさん
2009/10/03(土) 01:28:39最近、業務での単純作業をvbsで作りこんでみて、使い勝手いいと気づいたんだが。
てか、いつもメモ帳で作っているだが、補完機能とかある軽量の開発環境ツールあったら教えて。
0258デフォルトの名無しさん
2009/10/03(土) 09:02:10VisualStudioが一応対応してるんじゃあないか?
基本的にはVBAやVisualBasicに近いものだし。
TeraPadで色付けワードにVBScript関係のモノと
WSH関係のモノ追加したのでいつも書いてる。
0259デフォルトの名無しさん
2009/10/03(土) 12:38:110260デフォルトの名無しさん
2009/10/05(月) 20:34:03下記のように和英辞書サイトで『空港』という単語を検索するようにしたいのですが、
なぜかテキストボックスに文字が入力されません。
どうしたらいいか教えてください。
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 = "空港"
0261デフォルトの名無しさん
2009/10/05(月) 20:43:28指定方法が違う
対象のHTMLソースを確認しろ
0262デフォルトの名無しさん
2009/10/05(月) 21:13:09Dim 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()
0263260
2009/10/06(火) 17:10:24回答ありがとうございます。
http://www2s.biglobe.ne.jp/~iryo/vba/IE/index00.html
のサイトを見てフォームの指定をやってみたのですがvbaとはまた違うのですかね?
vbsのIE操作のやり方が載っているサイトなどありましたら教えてください。
0264デフォルトの名無しさん
2009/10/06(火) 17:49:49基本は一緒でHTMLの知識
最初の>>260で動作しない理由は document.all("MT") では単独のコントロールを指定しないため
よって>>262ではフォーム名を入れて document.dict.MT で指定している
スレチだよな・・・
0265デフォルトの名無しさん
2009/12/23(水) 20:50:33各ページにページ番号をつけることってvbsで作成可能ですか?
可能だったらどのように作成するかヒント教えてください。
0266デフォルトの名無しさん
2010/01/02(土) 21:28:53ページ番号がついたかどうかは知らんが
0267デフォルトの名無しさん
2010/01/05(火) 23:43:38VBSでそういう横断的でかつ細部に至る要求なんて書けたかなってかんじ
ユーザインタフェースへの入力を自動化するのならuwscとかあるんだけど
0268デフォルトの名無しさん
2010/02/15(月) 21:42:27Function J(arrArg)
J = Join(arrArg, "")
End Function
Wscript.Echo J(Array(1, 2, 3, 4, 5, "A", "B", "C"))
&記号に疲れたひと用
0269デフォルトの名無しさん
2010/02/16(火) 23:08:22現在Windows 2003 Serverメインの環境でActive Directoryの運用中です。
ユーザアカウントの新規作成は全て手動で行っているのですが、何とかWSHやADSIを使って
CSVファイルから一括で登録処理を行えるようにしたいと思っています。
しかし、プログラムはおろかコードやスクリプトなど今まで全くさわったことが無いので
ネット上で公開されているサンプルなどを見ても、何を意味しているのかがほとんどわかりません。
勉強するに当たって、参考になる書籍やサイト、別スレなどがあればアドバイスをお願いします。
0270デフォルトの名無しさん
2010/02/16(火) 23:16:13このあたりが基本
http://technet.microsoft.com/ja-jp/scriptcenter/default.aspx
スクリプト一覧からカテゴリ別サンプルが探せる
0271269
2010/02/17(水) 00:37:23ありがとう。
そこも見たんだけど、そもそも一つ一つのメソッドがどういうオブジェクトを生成してるのかや、
何故それをしなければならないのか、っていうところからわからなくて困ってる。
Set objCommand = CreateObject("ADODB.Command")
なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。
Scripting guysなんかも読んでるけど、突然理解が追いつかなくなるんだ…
才能無いから諦めた方がいいのかと悩んでしまう
0272デフォルトの名無しさん
2010/02/17(水) 00:50:43あきらめるの早すぎ。
ADOは一度使い方を覚えれば使いまわせるよ。
VBSでWSHやる前に、
ExcelのVBE環境で色々試してみてはどうか?
ADOもADSIも使えるよ。
デバッガで変数の中身を確認できるので、イメージが膨らむはず。
0273デフォルトの名無しさん
2010/02/17(水) 01:06:45>なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
>例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
>その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。
気にすんな
ほとんどの自称プログラマはそこらへんのサンプルコピペして
意味も判らず使ってるだけのレベル
わからんでもこねくりまわしてるうちにとりあえず動く
全部判って書いてる香具師の方が少数だから安心汁
0274269
2010/02/17(水) 01:23:56アドバイスサンクス。
3ヶ月程悩み続けてたんだが、プログラムとスクリプトの違いすらわからないくらいに初心者なもんで、
参考になる本も探してみたけど、どれも求めているものとは違うから挫けかけてた。
ExcelとかAccessのVBAだと、変数の宣言とかコマンドのプロパティが若干違ってくるから
あえて敬遠してたけど、そっちでも色々試してみる。
もっとも、WSHだと変数はWScript.Echoで確認できるけど、生成したオブジェクトの確認方法が不明だったから
コピペしてきたサンプルが何のために何をしてるのかわからなくて、
その度に途方に暮れてたけど、ちょっと頑張れそうな気がしてきた。
また分からなかったら初心者丸出しの質問をするかもしれないけど、
とりあえず明日から改めて出直してくる。
本当にありがとう!!
0275デフォルトの名無しさん
2010/02/17(水) 01:38:070276デフォルトの名無しさん
2010/02/21(日) 17:08:50<pre>
p
</pre>
0277デフォルトの名無しさん
2010/02/21(日) 17:29:45Wscript.Echo "" _
& "aaa" _
& "bbb" _
& C("" & "ccc" _
) & "ddd" _
& ""
Function C(strArg)
C = ""
End Function
rem とかじゃだめなのさ
0278デフォルトの名無しさん
2010/02/28(日) 16:55:49Set 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
0279デフォルトの名無しさん
2010/04/21(水) 01:42:59ググっても分からない。。
0280デフォルトの名無しさん
2010/04/21(水) 06:59:22Office2003以降のwordがインストールされているPCからだとうまく取れたのですが
OfficeXP以前のwordがインストールされているPCだとうまく動きません
どちらもword2000形式で保存されているファイルに対して操作しています
OfficeXP以前のwordがインストールされているPCでも動くように書くにはどうすればよいですか
0281デフォルトの名無しさん
2010/04/21(水) 07:42:42http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d
scd56jp.exeが日本語版ドキュメントだったはず。
0282質問なんすが
2010/06/09(水) 01:05:23Hey, 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を作成できないそうです
0283デフォルトの名無しさん
2010/06/09(水) 02:17:23XPでファイルを選択するためのダイアログ ボックスを表示するには?
の間違いだろ。
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct07/hey1026.mspx
0284デフォルトの名無しさん
2010/06/28(月) 17:05:36http://technet.microsoft.com/ja-jp/scriptcenter/ee695752.aspx
>UserAccounts.CommonDialog オブジェクトは、セキュリティ上の問題から Windows Vista で廃止されました。
0285デフォルトの名無しさん
2010/07/05(月) 11:44:590286デフォルトの名無しさん
2010/07/05(月) 11:59:080287デフォルトの名無しさん
2010/07/05(月) 22:22:360288デフォルトの名無しさん
2010/07/05(月) 22:46:320289デフォルトの名無しさん
2010/07/06(火) 09:19:020290デフォルトの名無しさん
2010/07/24(土) 17:30:04書き出し方法としては
・データごとに直接書き込み
・変数に格納してから一括書き込み
・クリップボードに格納してから一括書き込み
の他になにかある?
配列に格納してエクセルシート経由くらいしか思い付かない
0291デフォルトの名無しさん
2010/07/26(月) 11:43:180292デフォルトの名無しさん
2010/07/26(月) 13:40:13そして変数もクリップボードも足りなくて使えないや
数万件ファイル名に各々文字列連結して全部つぎ込むとかムリゲ
txtに書き出すなら配列に格納する意味無さそうだしなあ
0293デフォルトの名無しさん
2010/07/26(月) 14:02:03IEクリップボードのせいか?
VBなら早いのに
バックグラウンド処理するのにこんなに時間も負荷もかかるなら、クリップボードは使えないな
0294デフォルトの名無しさん
2010/07/26(月) 18:15:12クリップボード使ってテキスト書き出しってど〜やるの?
0295デフォルトの名無しさん
2010/07/26(月) 18:37:47上がクリップボードから読み出し
下がクリップボードへ書き出し
書き出すときはクリップボードをクリアしてから格納すること
Microsoft Forms 2.0設定できればクリップボードも早くなるかもしらんが
objIE.document.parentWindow.clipboardData.GetData( "Text" )
Document.parentWindow.clipboardData.setData "text",""
0296デフォルトの名無しさん
2010/07/26(月) 18:40:170297デフォルトの名無しさん
2010/07/26(月) 19:17:44objOutFile.WriteLine strDate で書き込めるだろ
改行したいならクリップボードに格納するときに VBCRLFでつなげればテキストには反映される
0298デフォルトの名無しさん
2010/07/26(月) 19:27:58VBだと速いの?
0299デフォルトの名無しさん
2010/07/26(月) 20:30:10前エクセルVBA使ってたときは、クリップボード経由のデータ貼り付けってかなり早かった気がする。
とはいえエクセルだと配列→セルが強力すぎるからあんまり使わないんだけれども。
0300デフォルトの名無しさん
2010/09/30(木) 20:04:17set objOpenFile=objFSO.OpenTextFile("C:\hoge.txt",1,false)
msgbox "ロックちゅ〜"
なんかもんだいありまっか?
0301デフォルトの名無しさん
2010/09/30(木) 20:45:490302デフォルトの名無しさん
2010/10/22(金) 12:09:59Wscript.Echo WshShell.ExpandEnvironmentStrings("%UNKO%")
結果:%UNKO%
値を「うんこ」に設定できません。自分で自分の環境変数は変えられないのですか?
0303302
2010/10/22(金) 12:35:040304デフォルトの名無しさん
2010/10/25(月) 20:30:58.unk ってのを使ってたら(内容不明の場合に作るファイル)
「別に拡張子はナニつかってもいいけどさぁ
"うんこ"ってのは、ちょっとどうなのよ」
て先輩に言われたことがあったのを思い出した。
0305デフォルトの名無しさん
2010/10/26(火) 01:31:14こんな感じですか?わかりません。
0306デフォルトの名無しさん
2010/10/26(火) 18:43:40unknownだっつってんだろダラズ
0307デフォルトの名無しさん
2010/10/26(火) 21:42:340308デフォルトの名無しさん
2010/10/29(金) 23:53:34Lotus Notesなんかも添付ファイルが理解できない時に吐くみたいだね>unk
個人的には3文字中「un」で2文字使うのはどうかと思うので
「UKN」の方が好きだけど(天気図等で使うが少数派…)
いっそのこと3文字にこだわらずに拡張子を「.unknown」にしちゃえば?
(dir /xなど)8.3文字表示で見ると、ちゃんと「.unk」になるし
0309デフォルトの名無しさん
2010/10/30(土) 03:10:54なるほど、 .ukn か。
.unknownでもまぁ問題は無い気がするが
.unk でも十分伝わると思うんだ。
うんこって読む奴がうんこ。
0310デフォルトの名無しさん
2010/10/30(土) 09:52:51kwsk、ktkr、wktk、ksk、gkbrみたいなアブジャド系表記に慣れてる2chねらなんじゃないのかw
0311デフォルトの名無しさん
2010/10/31(日) 22:53:19\\サーバー名\フォルダ〜というようにする方法はありますか?
0312デフォルトの名無しさん
2010/11/01(月) 00:28:500313デフォルトの名無しさん
2010/11/06(土) 00:05:55同僚や部下から嫌われるタイプだな
0314デフォルトの名無しさん
2010/11/06(土) 00:06:480315デフォルトの名無しさん
2010/12/25(土) 06:45:270316デフォルトの名無しさん
2010/12/26(日) 21:35:060317デフォルトの名無しさん
2011/01/02(日) 00:13:100318デフォルトの名無しさん
2011/01/02(日) 00:18:170319デフォルトの名無しさん
2011/01/02(日) 00:23:59--------------------
dim i
dim j
for i=1 to 1000
j=j+0.1
next
MsgBox j
0320デフォルトの名無しさん
2011/01/04(火) 13:34:29特定の文字や特定の行を抜き出す
スクリプトってない?
三次元測定機からCADに
XYZ手動で打ち込むのもういやになった。
0321デフォルトの名無しさん
2011/01/04(火) 15:12:23ある。というか簡単だよ
テキストファイルを開いて1行ずつ読みながら正規表現等でチェックしていくだけ
2行以上に渡るデータだと少し面倒だけど大した手間ではない
でも仕様によってはわざわざ作らずに
SakuraエディタなどのテキストエディタのGrep機能で充分だったりするけど
0322デフォルトの名無しさん
2011/01/04(火) 17:00:53DIM 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で保存されるようなやつです
難しいですね、すいません
0323その1
2011/01/04(火) 22:51:41とりあえず作ってみた
' [仕様]
' 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
0324その2
2011/01/04(火) 22:52:49Set 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 等のファイル名で保存してください
0325323
2011/01/04(火) 23:46:30ソースを短くするために複数ファイルのドラッグ&ドロップには対応していません
# 複数の関数に分かれていたのを1つにまとめたりしたので
↓辺りを参考にすれば変更は容易です
ttp://msdn.microsoft.com/ja-jp/library/cc364473.aspx
0326デフォルトの名無しさん
2011/01/05(水) 10:04:58ありがとうございます!
0327デフォルトの名無しさん
2011/01/07(金) 15:49:03お願いします
ジャンクのスロットローディング式のドライブ買ったらボタンがありませんでした
0328デフォルトの名無しさん
2011/01/07(金) 16:53:37011110000111101111
001111100011110110
111010101101011101
100011101010101010
0329デフォルトの名無しさん
2011/01/08(土) 08:04:12ちょっと検索すれば出てくる。少しは自力で探そう
VBSにこだわらないのなら
Vectorで「トレイ 開閉」とかで検索すればフリーソフトがいくらでもあるし
と言ってるうちに見つけた。1行で書けるのが面白かったので個人的にメモ
' 光学ドライブが1台の場合
CreateObject("WMPlayer.OCX").cdromcollection.item(0).eject()
' 光学ドライブが複数ある場合などドライブ指定が必要な時(例は Q: ドライブ)
CreateObject("WMPlayer.OCX").cdromcollection.getByDriveSpecifier("Q:").eject()
0330デフォルトの名無しさん
2011/01/08(土) 12:38:00APIしか思い浮かばなかった俺には目から鱗だわ<WMPlayer
0331デフォルトの名無しさん
2011/01/08(土) 21:00:10もうCで作っちゃったけど
1行で済むんですね
ありがとうございました!
0332こいぴ
2011/01/09(日) 21:54:03各種調査しましたが、どうしても方法が解りません。
どのたか、ご教示願います。
0333デフォルトの名無しさん
2011/01/09(日) 23:18:39ここが色々手順を説明しているので分かりやすいと思う
ttp://msdn.microsoft.com/ja-jp/library/ms974604.aspx
0334デフォルトの名無しさん
2011/01/10(月) 21:05:09直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。
0335デフォルトの名無しさん
2011/01/28(金) 13:34:090336デフォルトの名無しさん
2011/01/28(金) 14:47:38目的がよくわからないけど
スクリーンセーバーでテキスを表示しておけばいいんじゃない?
0337デフォルトの名無しさん
2011/01/28(金) 14:52:47目的はホットキーに埋め込まれたマクロの実行をする際に
その実行するモードがいま何になっているかをキーを押した時に数秒デスクトップ上に表示させるためです。
0338デフォルトの名無しさん
2011/01/28(金) 20:13:400339デフォルトの名無しさん
2011/01/29(土) 01:00:36もし俺ならVBSではなく以下のバッチファイルで手っ取り早く済ませるんだが…
@ECHO OFF
ECHO 表示したい文字列
PING 0 > NUL
PING 0 > NUL
EXIT
0340デフォルトの名無しさん
2011/01/29(土) 07:18:06それで良いならわざわざバッチファイル使わずWScript.ShellのPopupで良いはず
0341デフォルトの名無しさん
2011/01/29(土) 08:29:29具体的なイメージで言うと
透明ウィンドウにテキストのみ表示するかバルーンメッセージ的なものを考えていたのですが
VBSで透明ウィンドウはできないっぽいのであきらめようと思います
0342デフォルトの名無しさん
2011/01/29(土) 09:14:11それ言うと他も全て「COM使え」で終わってしまう。
0343デフォルトの名無しさん
2011/01/30(日) 22:09:090344デフォルトの名無しさん
2011/02/01(火) 21:14:34+ +
+ +
+ シマウネ━━━━━━━!!!! +
/・/\__ +
+ 丶'\||||||||||)〜 +
<< ̄>/
_|\∧∧∧MMMM∧∧∧/|_
> <
─ / ──┐ /_ /_ヽ| |ヽ ム ヒ | |
─ / / / ̄ /  ̄/ | ̄| ̄ 月 ヒ | |
__ノ \ _ノ //\ / | ノ \ ノ L_い o o
0345デフォルトの名無しさん
2011/02/01(火) 23:48:040346デフォルトの名無しさん
2011/02/08(火) 22:16:59ttp://xbmc.inpane.com/main/omake/windows.php#rdp
0347デフォルトの名無しさん
2011/02/09(水) 18:09:40フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックするやり方を教えてください。また、テキストファイルに記述されていないファイルが存在する場合もNGとしたいです。
0348デフォルトの名無しさん
2011/02/09(水) 19:43:41詰まる部分があるとは思えない初歩的なプログラムな気がするんだが。
とりあえず書いた所までどこかにアップしてみてよ。
0349デフォルトの名無しさん
2011/02/09(水) 20:24:29そんな長いコードにはならんだろ
0350デフォルトの名無しさん
2011/02/09(水) 21:15:33前半の
>フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックする
コレは簡単だよな。悩むこたぁない。
問題は後半のコレ
>テキストファイルに記述されていないファイルが存在する場合もNG
やっかいだぜ?
考え方としては、前半の処理と、後半の処理は完全に分けて
2本の別のプログラムを書くような気持ちでコーディングすればいいんじゃないかな。
0351デフォルトの名無しさん
2011/02/09(水) 21:36:33テキストに書かれたパスを連想配列に入れて
対象フォルダ内のファイルをループ回しながらExistsでチェックするだけだろ
0352デフォルトの名無しさん
2011/02/09(水) 21:59:350353デフォルトの名無しさん
2011/02/10(木) 01:35:050354347
2011/02/10(木) 08:01:03前半部分は大体イメージをつかめているのですが、後半部分でつまってます…
0355デフォルトの名無しさん
2011/02/10(木) 08:06:41話はそれからだ
0356デフォルトの名無しさん
2011/02/10(木) 11:30:540357デフォルトの名無しさん
2011/02/10(木) 11:48:490358デフォルトの名無しさん
2011/02/10(木) 13:09:11どうしてそう言い切れる。
本人はフルパスファイル名、つまり絶対パスを指定しているんだぞ
特定フォルダでいいなら相対にするだろ常識的に考えて
0359デフォルトの名無しさん
2011/02/10(木) 13:17:09どちらでも構わない場合は絶対パスを使うことの方が多い件について。
0360デフォルトの名無しさん
2011/02/10(木) 15:02:25こういう質問者って大体足りてないよな色々と
0361デフォルトの名無しさん
2011/02/10(木) 20:22:36zipとかの書庫ファイルはなんで相対パスで格納してるか理解できる?
何のためにカレントディレクトリって概念があると思う?
何でわざわざ%SystemRoot%とか環境変数を定義してるのか疑問に思わない?
0362デフォルトの名無しさん
2011/02/10(木) 20:26:38全く的はずれな例を持ってきたな
そういうことは相対パスそのものが無意味とか宣ってる奴に言ってやれ
0363デフォルトの名無しさん
2011/02/10(木) 21:27:12レスにアンカー付けるときにわざわざ
http://hibari.2ch.net/test/read.cgi/tech/1170492587/362
なんてする奴はいないだろ
逆に「絶対パスが使われるのは絶対パスでなければ困る」時でしかないだろ
0364デフォルトの名無しさん
2011/02/10(木) 21:49:460365デフォルトの名無しさん
2011/02/10(木) 22:58:35質問者はzipファイルの中身まで調べるなんて設問はして無いだろ。
なんでオマエは論点をずらそうと必死なんだ?
0366デフォルトの名無しさん
2011/02/12(土) 11:50:550367デフォルトの名無しさん
2011/02/13(日) 08:23:52というフォルダが存在した場合、そのフォルダを削除。
存在しなければそのまま終了。
という簡単なスクリプトを教えていただけませんでしょうか?
0368デフォルトの名無しさん
2011/02/13(日) 08:51:10で、どこを教えて欲しいの?
まさか1から10まで丸投げで全部書いてとは言わないよね?
しかも質問スレではなく、自分の書いたものを晒すスレで。
0369デフォルトの名無しさん
2011/02/13(日) 14:02:190370デフォルトの名無しさん
2011/02/13(日) 14:18:16VBSじゃないが、これで事足りないか?
if exist "E:\hogehoge\hoge\." rd/s/q "E:\hogehoge\hoge"
0371367
2011/02/13(日) 14:31:51申し訳ありません。
>>370 さんのバッチファイルで満足な結果が得られました。
まさか1行で済むとは思いもしませんでした。
ありがとうございました。
0372デフォルトの名無しさん
2011/02/13(日) 14:32:35hoge\nul だとディレクトリしか反応しない。
0373デフォルトの名無しさん
2011/02/14(月) 23:17:24Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")
って実行した時に、標準出力に結果を出さないようにする方法ってありますか?
ipconfig 1 > nul
みたいな感じで、エラー発生時以外はすべて返ってくる結果を捨てたいのです。
そのまま書いてもうまく動かないです。
0374デフォルトの名無しさん
2011/02/15(火) 00:05:350375デフォルトの名無しさん
2011/02/15(火) 00:17:00トラップされるって事は、読み出さない限り無視されるって事ですか?
0376デフォルトの名無しさん
2011/02/15(火) 00:19:20はipconfig.exeが対応してなきゃ出来ないよ
WSH(EXEC)が受け取った標準出力を
「コンソールウィンドウに表示しない」
ならどうにでもなるけど
0377デフォルトの名無しさん
2011/02/15(火) 00:36:44コンソールウィンドウに表示しないと、1 > nul って同じ扱いですか?
質問ばかりで申し訳ない。
0378デフォルトの名無しさん
2011/02/16(水) 00:51:30エラーになるのはexeが見つからない時ぐらいじゃねーの。
ネットワーク設定されて無い時は"設定無し"って正常終了するんだし
0379デフォルトの名無しさん
2011/02/16(水) 02:01:02ttp://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_03.html
0380デフォルトの名無しさん
2011/02/16(水) 09:26:36こんな感じだったと思う。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Address = '" & hoge & "'")
0381デフォルトの名無しさん
2011/02/16(水) 13:03:00CreateObject("SAPI.SpVoice").Speak"Wellcom to VBScript."
0382デフォルトの名無しさん
2011/02/17(木) 05:50:160383デフォルトの名無しさん
2011/02/17(木) 12:24:420384デフォルトの名無しさん
2011/02/17(木) 22:51:240385デフォルトの名無しさん
2011/02/17(木) 23:00:220386デフォルトの名無しさん
2011/02/20(日) 20:13:23.14が、.emlが開けない
アウトルックを軌道してクリックしたメッセージを表示したいのですが、どう書けばいいのでしょう。
wshshell.runでは出来ませんでした……
0387デフォルトの名無しさん
2011/02/21(月) 01:17:30.92telnetでルータ(Aterm)に入って、PPPoEを再接続してくれる物です。
0388デフォルトの名無しさん
2011/02/21(月) 07:28:22.68質問スレや制作依頼所じゃないと何度言えば…
0389デフォルトの名無しさん
2011/02/21(月) 09:56:31.240390デフォルトの名無しさん
2011/02/21(月) 21:02:49.69>>387
telnetで入れるならTeraTerm等でマクロ作ったほうが簡単。
もっとも擬似GUIだとお手上げだが。
0391デフォルトの名無しさん
2011/02/26(土) 01:19:27.040392デフォルトの名無しさん
2011/04/09(土) 21:38:36.77取ろうとしてるんですが、Windows 7だとエラーが返ってきて、
コピーできません。
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder "C:\Users\Admin","C:\test"
AdministratorでもコピーできないのってUACの仕様ですか?
0393デフォルトの名無しさん
2011/04/09(土) 21:50:40.23>>388
0394デフォルトの名無しさん
2011/04/10(日) 00:04:08.05>>390
0395デフォルトの名無しさん
2011/04/10(日) 00:16:29.590396デフォルトの名無しさん
2011/04/10(日) 06:02:52.24UACというかVistaからの仕様です
例え管理者といえど他人の敷地には許可無く進入は出来ません。
今までのウィルスならこれで全て無力化される、そんぐらい厳しい仕様。
因みにAdminとAdministratorは別物だよ。
XPまでのユーザー管理とは似た非なるものと認識しておこう。
ポリシーいじれば同じ感じに出来るけどめんどい。
0397392
2011/04/10(日) 19:18:31.68>>394
質問スレじゃないの理解してませんでした。申し訳ない。
>>395
フォローありがとうございます。
>>396
かなりめんどくさそうですね。手作業でやった方が速いのかも…
アクセスフォルダに所有権とかつけてみて、もうちょっとやってみます。
ありがとうございます。
0398デフォルトの名無しさん
2011/04/23(土) 17:43:43.24ttp://xbmc.inpane.com/sub/nabaztag/
0399デフォルトの名無しさん
2011/04/23(土) 23:30:59.78とあるプロセスを監視しています。
なので基本的にユーザーがログイン中は常にWscript.exeが動いているのですが、
↓のような無限ループでもいいんですかね?
なんとなく無理やりな感じがして、もっとスマートなやり方があるでしょうか?
Call プロセス監視処理
�@
Sub プロセス監視処理
Do
'WMIからプロセス取得して、目標のプロセスがでたらループ抜け
Wscript.Sleep 1000
Until
Call やりたい処理
End Sub
�A
SUb やりたい処理
'やりたい処理がおわったらまた、プロセス監視処理をCall
End Sub
0400デフォルトの名無しさん
2011/04/27(水) 22:03:44.07死ねっ!能無しども
会社でもろくな仕事してないんだろうなぁ・・
0401デフォルトの名無しさん
2011/04/27(水) 22:11:12.36あんまし読んでないしてきとーだけど再帰処理っぽいなと思った。
見つかるまで自分自身を呼び続けたらいいべさ
0402デフォルトの名無しさん
2011/04/27(水) 22:38:33.12http://mackerel.axfc.net/uploader/Img/l/7923901924/v/Img_114179.jpg
0403デフォルトの名無しさん
2011/05/20(金) 13:19:16.79コマンドラインでフォルダを圧縮するためにZIP.VBSというのを使っているのですが、
MakeZIP.VBSでフォルダを圧縮する際、zipファイルにフォルダ名が格納されてしまいます。
photo
├aa.jpg
└bb.jpg
上記のような場合に、zipファイルにphotoフォルダも格納されます。
これをphotoフォルダを格納せず、ファイルのみ格納するにはどこを修正すればよいのでしょうか。
よろしくお願いします。
0404デフォルトの名無しさん
2011/05/20(金) 14:38:03.93コマンドライン型のアーカイバツール使えよ。
GUIで予め設定しておけば渡したフォルダの中身だけ圧縮してくれるものなんて
いくらでもあるから。
0405デフォルトの名無しさん
2011/05/23(月) 11:47:33.820406デフォルトの名無しさん
2011/06/05(日) 10:08:34.52わしは・・ワシは今までこんな素晴らしい言語があるなんて知らなかった・・・!
APIなんかいらないじゃん!
0407デフォルトの名無しさん
2011/06/05(日) 11:18:49.840408デフォルトの名無しさん
2011/06/05(日) 18:56:55.67これは単なるコマンドライン実行なので
ウィンドウへのD&Dならデフォでは不可
専用のCOMでも作るか探すかすれば出来ないことはないだろうけど
0409デフォルトの名無しさん
2011/06/06(月) 00:45:23.45諦めで別な方法を模索してみます
0410デフォルトの名無しさん
2011/06/14(火) 02:40:29.91抽出までは上手くいきました。
しかし、正規表現による置換ができません
例えばこのスレの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スクリプト内
でやろうとするにはどうすればいいのでしょうか?
0411デフォルトの名無しさん
2011/06/14(火) 02:45:14.28Dim 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
0412デフォルトの名無しさん
2011/06/14(火) 02:45:45.67もし、わかるかたがいらっしゃれば教えてください。よろしくお願いします。
0413デフォルトの名無しさん
2011/06/14(火) 04:43:26.73複数回やりたいんであれば、
正規表現パターンを配列に入れて、ループするだけじゃないかな〜
0414デフォルトの名無しさん
2011/06/14(火) 07:48:13.52objRep.Pattern = "<(""[^""]*""|\'[^\']*\'|[^\'"">])*>"
こういうことじゃなくて?
0415デフォルトの名無しさん
2011/06/14(火) 19:38:12.72わざわざhtmlなんて難しいものを使う?
0416デフォルトの名無しさん
2011/06/15(水) 11:59:02.320417デフォルトの名無しさん
2011/06/15(水) 12:03:32.400418デフォルトの名無しさん
2011/06/15(水) 19:08:23.10変数の件でわからないところがある。
Dim 変数 で宣言する
このとき変数が、例えば2churlとかだと識別子がありません。とエラーがでる
churlなら問題ない、どうして先頭に数字がくるといけないんですか?
識別子がありません。
0419デフォルトの名無しさん
2011/06/15(水) 19:30:46.07Dim 2
とか
Dim 123
という変数が出来てしまう
これってどうやって変数の2や123と、数値の2や123を識別するの?
ってことになるので、必ず英字を入れなければならないというルールが必要になるわけで
1文字の変数がある以上、その英字が入る位置は1文字目、つまり先頭になり
1文字目が英字でなければいけない=先頭が数字ではいけない
ってことになるわけだ
1文字目が英字でさえあれば、1文字変数でも、2文字目以降が数字でも
確実に変数と数値を識別できる
0420デフォルトの名無しさん
2011/06/17(金) 20:55:49.75作成しているのだが、どうもうまくいきません。
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
0421デフォルトの名無しさん
2011/06/19(日) 01:45:19.270422デフォルトの名無しさん
2011/06/19(日) 02:28:19.04VBSというかWSHは、COM、OCXで拡張してナンボなんだから
欲しいけど言語に備わってない機能は、外部で補えば良いだけだ
0423デフォルトの名無しさん
2011/06/19(日) 07:13:15.16comはインストールの壁が越えられない
0424デフォルトの名無しさん
2011/06/19(日) 07:17:25.40USBメモリで持ち歩いて使ってる
COMのレジストリ登録を自動化してるとかではなく未登録で
0425デフォルトの名無しさん
2011/06/19(日) 07:43:48.470426デフォルトの名無しさん
2011/06/19(日) 08:09:56.20を否定されて悔しかったの?
0427デフォルトの名無しさん
2011/06/19(日) 08:19:38.570428デフォルトの名無しさん
2011/06/19(日) 08:29:07.02きみの端子にプラグ★イン!
0429≠423
2011/06/19(日) 10:02:11.33あのね、ある程度の会社ならね、勝手にツール類をインストールする事ができないのね。
USBメモリも、使用禁止、あるいは相当制限されているのが一般的なのよ。
0430デフォルトの名無しさん
2011/06/19(日) 12:12:42.62あのね、comにインストールの壁なんて無いって話であって
USBメモリなんて、全く関係ない話なのよ
それと、『ある程度』レベルの会社だと、勝手にツール類をインストールする事ができないところが多いけど
『ある程度』を超えたまともな会社だと、勝手にツール類をインストールする事が出来るところも多い
セキュリティーが確立している上に、VBAやWSHなどの元から入ってる言語でいろいろ作れる奴が多いから
外部からのツールのインストールを制限しても、元から入ってる言語でツールが作れちゃうから意味無いw
逆にまともな会社だでツールのインストールを制限している場合は、WSHもVBAも制限してる
0431デフォルトの名無しさん
2011/06/19(日) 18:14:48.560432デフォルトの名無しさん
2011/06/19(日) 21:27:41.80今の時代どこもピリピリしてるってのに。
単におまえさん自身か会社がその客に信用されてるってだけじゃねーの?
でも普通は申請式だと思うけど。他人の会社で勝手にてのはどうかと思う。
0433デフォルトの名無しさん
2011/06/20(月) 00:02:07.13なにか勘違いしてやいないか?
0434デフォルトの名無しさん
2011/06/20(月) 00:33:54.550435デフォルトの名無しさん
2011/06/20(月) 00:59:30.370436デフォルトの名無しさん
2011/06/20(月) 10:20:41.11じゃぁバッチ最強じゃん
0437デフォルトの名無しさん
2011/06/20(月) 17:46:53.34という内容のテキストファイルから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やマッチとかが関係ありそうで
調べて試したんですが思うようにいきませんでした。
0438デフォルトの名無しさん
2011/06/21(火) 21:55:45.730439デフォルトの名無しさん
2011/06/23(木) 15:44:28.14パターンがデタラメだし後方参照の仕方もデタラメ。
ヘルプもろくに見てないだろ。
0440デフォルトの名無しさん
2011/06/23(木) 22:13:57.11置き換えたんだろう。
http://d.hatena.ne.jp/necoyama3/20081202/1228220710
0441デフォルトの名無しさん
2011/06/23(木) 22:32:18.650442デフォルトの名無しさん
2011/06/23(木) 23:57:00.51やっぱ許可貰ってんじゃん
ま、当たり前だよなびっくりした
0443デフォルトの名無しさん
2011/06/24(金) 07:22:39.310444デフォルトの名無しさん
2011/06/24(金) 10:19:04.37この意味不明っぷりがすごいね
0445デフォルトの名無しさん
2011/06/24(金) 14:11:47.65Echoのとことか、パターン自体に突っ込めよ
0446デフォルトの名無しさん
2011/06/24(金) 14:15:34.45> objRep.Pattern = "T..t"
感動的なパターンだなw
0447デフォルトの名無しさん
2011/06/24(金) 19:23:21.29ドリルの刑
ttp://www.amazon.co.jp/dp/4774145092
姉妹編と違って表紙にドリルが載っていないのがイマイチだけど
0448デフォルトの名無しさん
2011/06/25(土) 00:10:36.150449デフォルトの名無しさん
2011/06/25(土) 13:11:24.67そんなに悔しかったの?
0450天使 ◆KOAgYBL/Xg
2011/06/29(水) 17:41:46.870451天使 ◆uL5esZLBSE
2011/07/02(土) 08:25:05.28ゴミみたいな奴だな
0452デフォルトの名無しさん
2011/08/28(日) 14:30:43.290453デフォルトの名無しさん
2011/08/28(日) 20:10:45.210454デフォルトの名無しさん
2011/09/01(木) 09:14:32.070455デフォルトの名無しさん
2011/09/01(木) 10:09:24.830456デフォルトの名無しさん
2011/11/20(日) 14:29:12.950457デフォルトの名無しさん
2011/11/20(日) 15:33:06.16あとはCOMを何処まで使いこなせるかだけ
0458デフォルトの名無しさん
2011/11/21(月) 17:49:41.03■ このスレッドは過去ログ倉庫に格納されています