トップページ⇒tech
1001コメント270KB

WSH(・∀・)スレッド! Part 4

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2009/05/24(日) 01:22:48
( ´ゝ`) 誰か詳しい情報キボンヌ

●過去スレ
WSH(・∀・)スレッド!
http://pc11.2ch.net/test/read.cgi/tech/1055075469/
WSH(・∀・)スレッド! Part 2
http://pc11.2ch.net/test/read.cgi/tech/1176698934/
WSH(・∀・)スレッド! Part 3
http://pc12.2ch.net/test/read.cgi/tech/1208948450/

●関連スレ
お前ら、wsh使ってますか? Part7
http://pc12.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画 Part2
http://pc12.2ch.net/test/read.cgi/tech/1220874815/
★WSHでCGI★JScriptVBScript
http://pc11.2ch.net/test/read.cgi/php/1059745064/

●公式サイト
Windows Script
http://www.microsoft.com/japan/msdn/scripting/

●個人サイト
Windows Scripting Host
http://homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
http://winscript.s41.xrea.com/wiki/index.php
0002デフォルトの名無しさん2009/05/24(日) 12:30:47
>>1
乙

WSHやVBSずっと消えないで欲しい
というか消えたら困る
0003デフォルトの名無しさん2009/05/24(日) 12:43:45
VB6よりは長生きできるさきっと
0004デフォルトの名無しさん2009/05/25(月) 00:03:22
javascriptが残るならjscriptも残るだろうし、wshも当然残ることになる。そうなるとvbscriptも残るし、htaが残るのは当然だ。
0005デフォルトの名無しさん2009/05/25(月) 01:03:14
ある日、次のバージョンのWindowsでは対応しないことになって終わる
0006デフォルトの名無しさん2009/05/25(月) 02:10:47
だんだん使いにくくなるな
scriptcontrolはvistaで消えた
<input type=file>はie8で使えん
...
0007デフォルトの名無しさん2009/05/25(月) 03:42:08
ここの人たちは PowerShell は使ってる?

>>2
WSH消えたら困る人ってあんまり見かけないけど
案件でWSH酷使してるんか?
0008デフォルトの名無しさん2009/05/25(月) 12:17:42
>>7
いままで標準装備のWSHで処理しなかった人たちは、今後標準装備になるPowerShellも使わんだろうな。
0009デフォルトの名無しさん2009/05/25(月) 14:20:01
>>7
俺は個人だよ

msgboxが好きなので(ホントはpopupメソ)
powershellは未だ手付かず

WSHから自由に.netのクラスライブラリ
呼び出せるといいんだけどね
0010デフォルトの名無しさん2009/05/25(月) 23:58:28
そういうcomを作ればよい
0011デフォルトの名無しさん2009/05/30(土) 12:53:57
com?やだよメンドクサイ
標準装備で出来ることがWSHのメリットなのにさ。

WSHからSystem.Collections.ArrayList呼ぶことなら結構あるけどな。
0012デフォルトの名無しさん2009/05/30(土) 14:05:09
System.Collections.ArrayListはcomから呼べるように特別に作ってあるのか
それとも、ほかのクラスもレジストリに書けば呼べるのか?
0013デフォルトの名無しさん2009/05/30(土) 14:20:31
ttp://www.isla-plata.org/wiki/pukiwiki.php?%B3%AB%C8%AF%A5%EA%A5%BD%A1%BC%A5%B9%2FJScript%2F%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%AB%A4%E9.Net%20Framework%A5%AF%A5%E9%A5%B9%A4%F2%CD%F8%CD%D1%A4%B9%A4%EB%A1%CA%A5%CE%A5%A6%A5%CF%A5%A6%CA%D4%A1%CB
0014デフォルトの名無しさん2009/05/30(土) 16:30:39
で、どっち?
0015デフォルトの名無しさん2009/05/30(土) 17:49:11
>>13
ここまでまとめた人が居るんか、すごいな
でもやっぱりあんまり使えなそう

結局powershell覚えて出力をWSHで受け取るとか
本末転倒だなw
0016デフォルトの名無しさん2009/05/30(土) 21:52:20
PowerShellでもWin32API使いにくいからな
FindWindowやSendMessageが標準環境で簡単に使えるようにならんかな
0017デフォルトの名無しさん2009/05/30(土) 22:39:18
スクリプト言語の中にはC関数を直接呼び出せるものがあってな
0018デフォルトの名無しさん2009/05/30(土) 23:37:40
そんなもん、いくらでも有るが
0019デフォルトの名無しさん2009/05/31(日) 00:00:38
なんでvbscriptは
0020デフォルトの名無しさん2009/05/31(日) 01:55:01
こんなにかわいいの?
0021デフォルトの名無しさん2009/06/02(火) 17:33:30
シフトキーを押しながらの操作はWSHでどうするの?
0022デフォルトの名無しさん2009/06/02(火) 19:00:42
WSHを実行するのにシフトキーを押す必要はありません。
0023デフォルトの名無しさん2009/06/02(火) 22:45:16
なるほど
0024デフォルトの名無しさん2009/06/06(土) 14:55:08
>>21
copyhereやmovehereみたいに用意されてるものもあるが
ショートカットの貼り付けや
invokeverb "delete"みたいに用意されてないものもある
ないものはあきらめてほかの方法さがせ
0025デフォルトの名無しさん2009/06/06(土) 19:22:13
なるほど
0026デフォルトの名無しさん2009/06/10(水) 15:44:18
mailto:sage
0027デフォルトの名無しさん2009/06/10(水) 16:28:32
getobject("hoge.xls")して、それが新規インスタンスか、
既存のインスタンスか、区別する方法は?
0028デフォルトの名無しさん2009/06/10(水) 22:14:31
普通にやれば良いだけでは?
0029デフォルトの名無しさん2009/06/10(水) 23:46:59
抽象的な質問なのですが、wshでアプリケーションを操作する・・・では無くて
wshでアプリケーションを作る事は可能ですか?
0030デフォルトの名無しさん2009/06/10(水) 23:54:37
GUIつきのアプリは厳しいんじゃないか?
0031デフォルトの名無しさん2009/06/10(水) 23:58:39
そのためのHTAです。
0032デフォルトの名無しさん2009/06/11(木) 02:03:46
<SCRIPT language="vbscript">
str = "Hello World!!"
</SCRIPT>
<BODY>
<P><変数strを、ここに出力したい。></P>
</BODY>
0033デフォルトの名無しさん2009/06/11(木) 08:09:32
w
0034デフォルトの名無しさん2009/06/11(木) 12:27:33
<BODY>
<P>Hello World!!</P>
</BODY>
0035デフォルトの名無しさん2009/06/11(木) 13:11:12
>>27
ないんじゃないか
getobjectする前に排他オープンしてみるとか
0036デフォルトの名無しさん2009/06/11(木) 14:05:51
<html><BODY><!-- NHKニュース速報すくりぷと.hta -->
<div align="center"><i>NHKニュース速報 </i><span id =span1></span><span id =span2></span></div></BODY>
<script language=vbscript>
Window.ReSizeTo 480,360
Sub Window_onLoad()
span2.innerhtml="<font size=1> アナログ</font>"
For iii = 0 to 10
span1.innerhtml = "日経平均、" & iii & "万円台突破"
createobject("WScript.Shell").Run "%COMSPEC% /c ping -n " & 1 & " 127.0.0.1>nul", 0, true
next
end sub
</script></html>
0037デフォルトの名無しさん2009/06/11(木) 14:18:30
<html>
<body>
<!-- 完璧すぎる.hta -->
<p>変数strを、ここに出力したい。</p>
<span id =strspan></span>
</body>
<script language=vbscript>
sub window_onLoad()
str = "Hello World!!"
strspan.innerhtml = str
end sub
</script>
</html>
0038デフォルトの名無しさん2009/06/11(木) 19:32:35
>変数strを、ここに出力したい。
といってるくせに違うところに出してどうする?
0039デフォルトの名無しさん2009/06/11(木) 19:34:27
>>37
setintervalかsettimeout使えよ
0040デフォルトの名無しさん2009/06/12(金) 19:35:43
getobject("hoge.xls")
と
getobject("hoge.xls","excel.sheet")
の違いはなんだろう?
0041デフォルトの名無しさん2009/06/12(金) 20:27:34
,"excel.sheet"があるかないかの違い。
0042デフォルトの名無しさん2009/06/13(土) 01:46:37
ハズレ
0043デフォルトの名無しさん2009/06/13(土) 12:43:27
Active にするオブジェクトを指定してるんじゃなかったっけか?
0044デフォルトの名無しさん2009/06/13(土) 15:37:34
どちらもWorkbookオブジェクトが取れる
0045デフォルトの名無しさん2009/06/13(土) 15:41:08
getobject("hoge.xls")
は新規と既存がとれるけど
getobject("hoge.xls","excel.sheet")
は新規のみだろ
getobject("","excel.sheet")がcreateobjectなのはその1例だろ

0046デフォルトの名無しさん2009/06/18(木) 22:56:09
exec.vbs
createobject("wscript.shell").exec("notepad")
を作って
wscript exec.vbs|more
とすると、wscriptは終了してるのに、notepadの終了を待ちます。
なぜか、わかる人いますか?
0047デフォルトの名無しさん2009/06/19(金) 00:09:58
C:\>notepad|more
0048デフォルトの名無しさん2009/06/19(金) 01:06:15
createobject("wscript.shell").run("notepad")
だと待たないからrunとexecの違いのなにかだろ
0049デフォルトの名無しさん2009/06/19(金) 01:40:10
start /b /wait notepad|more
start /b notepad|more
パイプがinheritされて閉じられてないみたいだな
0050デフォルトの名無しさん2009/06/22(月) 18:45:55
作業の自動化ができる、って具体的に何を自動化したいの?
連投スクリプトとかできるの?
0051デフォルトの名無しさん2009/06/22(月) 19:40:30
それはお前さん次第さ
0052デフォルトの名無しさん2009/06/22(月) 19:42:21
明日の会議で自動的に受け答えしてくれる?
0053デフォルトの名無しさん2009/06/22(月) 19:55:21
それもお前さん次第さ
0054デフォルトの名無しさん2009/06/22(月) 19:59:47
俺の代わりに飯食ってきてくれるか?いま手が離せない
0055デフォルトの名無しさん2009/06/22(月) 20:05:23
それはまた別の話
0056デフォルトの名無しさん2009/06/22(月) 20:36:12
どうやら>>52と>>54の間辺りにWSHでできる事の限界があるらしい
0057デフォルトの名無しさん2009/06/22(月) 22:43:00
じゃあ俺の心の隙間を埋めてくれるのかい?
0058デフォルトの名無しさん2009/06/23(火) 21:23:44
埋め
0059デフォルトの名無しさん2009/06/24(水) 22:58:30

0060デフォルトの名無しさん2009/06/25(木) 16:04:09
WSHにてインストールされているプリンタの一覧を取得する方法はありますか?
0061デフォルトの名無しさん2009/06/25(木) 16:10:32
あります
0062デフォルトの名無しさん2009/06/28(日) 18:48:32
ありがたい
0063デフォルトの名無しさん2009/07/06(月) 23:32:01
WSHで現在アクティブなウィンドウを取得する方法ってありませんか?
最前面に来て使用しているであろうアプリを調べたいのです。
0064デフォルトの名無しさん2009/07/07(火) 00:20:49
ない
win32api使え
0065デフォルトの名無しさん2009/07/07(火) 00:39:04
SFCminiとAutoitXを入れましょう。これでWSHからwin32apiも使い放題。window操作もやりたい放題。
0066632009/07/07(火) 00:55:00
>>64、65

ありがとうございます。調べてみます。

ネットで調べてうすうすAPIというものを使わないと無理そうだとは思ってたのですが
やはりそうですか・・
0067デフォルトの名無しさん2009/07/07(火) 01:08:28
WSHから離れて、dmscript( 日本人製作の
Jscriptと同様のスクリプト、dm.exe -l オプションでワンライナーの
ようにも使えるので場合によってはWSHからWin32Apiの機能を利用可能)、
UWSC(日本人製作、ドキュメント多し)、
なでしこ(日本人製作、ドキュメント多し)、
AutohotkeyやAutoIT3(AutoItXとほぼ同じ)をつまんで見るのも吉。
これらは、SFCminiやAutoITXに比べて、ポータブルでも使えるメリットがある。
0068デフォルトの名無しさん2009/07/07(火) 01:11:48
あんま怪しいツールは入れたくないんだよね
0069デフォルトの名無しさん2009/07/07(火) 01:47:20
MS純正
excel
powershell
vb.net
0070デフォルトの名無しさん2009/07/07(火) 01:56:27
どれもOS標準添付じゃないし…
0071デフォルトの名無しさん2009/07/07(火) 20:05:15
結局は XUL が最強だよな
0072デフォルトの名無しさん2009/07/07(火) 21:29:45
.netはvistaに標準添付だろ
0073デフォルトの名無しさん2009/07/07(火) 22:51:00
開発環境も?
0074デフォルトの名無しさん2009/07/08(水) 01:39:17
vbc.exe
0075デフォルトの名無しさん2009/07/08(水) 01:51:31
>>74

ttp://www.moonmile.net/blog/?p=18
>実は Windows XP3 や Vista のマシンでは既に .NET Framework が(勝手に)導入されており、
>実は環境変数を設定すれば Visual C# Express Edition を入れなくても
>コンパイルができます。当然実行もできます。

へぇそうなんだ。常識なの?良いこと聞いた、thx
0076デフォルトの名無しさん2009/07/08(水) 19:59:39
IEで、Ctrl+Nでウィンドウの新規作成を行った時と等価な状態(セッション情報等を継承)で、
WSHでIEのウィンドウの新規作成を行い、
かつそのIEのウィンドウのオブジェクトIDを得るにはどうしたら宜しいでしょうか?
0077デフォルトの名無しさん2009/07/08(水) 20:44:55
>>76
ここはWSHのスレであって
IEコンポーネントAPIのスレではないのでスレ違い。
0078デフォルトの名無しさん2009/07/08(水) 23:01:22
Shell.apliction でグルグルすると既存のieオブジェクトやエクスプローラーのハンドルとれるじゃん。
またはieオブジェクト作ったときのオブジェクトに、例えば objIe.hWndってやってもハンドル取れる。
0079デフォルトの名無しさん2009/07/09(木) 02:51:48
>>78
やりたい事は、セッション情報を引き継いだIEの新規ウィンドウの生成(Ctrl+Nに相当)です。

例えば、

ie1 = new ActiveXObject("InternetExplorer.Application");
ie1.Navigate("http://www.example.com/login/");
// ログイン処理

ie2 = new ActiveXObject("InternetExplorer.Application");
ie2.Navigate("http://www.example.com/foo/bar.html");

とした場合、ie1の派生物とie2の派生物では別セッションとなってしまい、
ie1でログイン状態がセッション管理により行われている場合、
ie2では非ログイン状態になってしまいます。
0080デフォルトの名無しさん2009/07/09(木) 03:30:44
>>79
window.open ではダメなの?
0081デフォルトの名無しさん2009/07/13(月) 17:21:30
>>78
どれがアクティブか調べる方法は?
0082デフォルトの名無しさん2009/07/13(月) 18:38:09
普通にやれば良いんじゃないの?
0083デフォルトの名無しさん2009/07/13(月) 19:48:59
普通にWin32APIのFindWindow クラス名でやれば良いんじゃないの?
0084デフォルトの名無しさん2009/07/15(水) 21:19:25
>>83
タブの区別がつかん
0085デフォルトの名無しさん2009/08/11(火) 19:02:06
statustextでつくとは!
0086デフォルトの名無しさん2009/08/22(土) 06:23:12
CreateObject("Shell.Application").Windows.Item
でアクティブ取れるんだね。
0087デフォルトの名無しさん2009/08/22(土) 15:05:28
正確には
でアクティブ取れたんだね。
0088デフォルトの名無しさん2009/08/22(土) 19:44:04
>>87
え?Vista以降は取れないとか?
0089デフォルトの名無しさん2009/08/23(日) 14:13:39
え?IE7以降は取れないとか?
0090デフォルトの名無しさん2009/08/27(木) 15:49:26
どこで聞けばいいのかわからないのでここで質問を
piyo1hogera.txt
piyo2hogera.txt
piyo3hogera.txt
piyo5hogera.txt
pito8hogera.txt
というように番号がとびとびになっているようなファイルの集まりから数字だけを抽出して
htmlファイルに反映させたいんだけどどうすればいい?

一応, ファイル一覧は抽出できるんだけどそっから数字だけを抽出するにはどうすればいいかわからないので。
0091デフォルトの名無しさん2009/08/27(木) 19:08:52
>>90
正規表現を使うのが簡単
var num;
if (/(\d+)/.exec(ファイル名) != null) { // ファイル名に数字を含んでいたら
num = RegExp.$1; //抽出した数字
}
0092デフォルトの名無しさん2009/08/29(土) 01:14:59
$1wwwwwwwwwwww
0093デフォルトの名無しさん2009/09/07(月) 19:22:11
WScript.Echoで文字色変えられますか?もし変えられるなら方法も
0094デフォルトの名無しさん2009/09/08(火) 05:55:20
>>93
コンソールの文字色変更だったらオススメはしない
一応、コンソールAPI or エスケープシーケンス を使うことで出来るけどね
↑は環境を変更する必要があるので、HTAを使った方がマシだと思う
0095デフォルトの名無しさん2009/09/08(火) 16:20:44
tscmd.zipのechoc.exeを使うといいかも
0096デフォルトの名無しさん2009/09/08(火) 16:48:43
createobject("wscript.shell").exec "cmd /c color ac"
0097デフォルトの名無しさん2009/09/08(火) 20:36:48
>>95-96
間違ってはいないけど >>93 の意図とは違うだろ・・・ワザとか?
0098デフォルトの名無しさん2009/09/08(火) 22:19:41
>>96はだめみたいよ
標準入出力をリダイレクトしてコンソール環境を継承してない?
0099デフォルトの名無しさん2009/09/08(火) 22:58:31
>>93
NT系OSのコマンドプロンプトでは色指定などのエスケープシーケンスは標準ではサポートされない
エスケープシーケンス ANSI.SYS などのキーワードで検索
0100デフォルトの名無しさん2009/09/08(火) 23:43:35
echo エスケープシーケンス | ansi.exe
みたいなのがあったような
0101デフォルトの名無しさん2009/09/09(水) 01:02:43
PowerShellの中では文字色変えられるけど、
CMDに戻ると色が消えるのはなんでだろう?
0102デフォルトの名無しさん2009/09/09(水) 15:31:45
>>98
ok cmd /c color ac
ng cmd /c color ac <nul >nul 2>nul

0103デフォルトの名無しさん2009/09/09(水) 20:43:53
createobject("wscript.shell").exec "command con /c cmd /c color ac"
0104デフォルトの名無しさん2009/09/10(木) 17:30:19
無理ぽ
0105デフォルトの名無しさん2009/09/11(金) 17:34:00
なんかズレテるな
0106デフォルトの名無しさん2009/09/11(金) 19:35:57
>>105
なんかズレてるな
0107デフォルトの名無しさん2009/09/11(金) 20:06:31
excel経由でコンソールAPIを呼ぶ
0108デフォルトの名無しさん2009/09/12(土) 19:25:50
>>103
なんかコードページがズレてるな
createobject("wscript.shell").exec "chcp.com 932"
0109デフォルトの名無しさん2009/09/14(月) 14:35:30
InvokeVerbで、右クリックメニューのサブメニューは 呼べないんでしょうか
0110デフォルトの名無しさん2009/09/15(火) 07:22:20
>>109
どういう状況下で何をしたいのか理解できないけど
InvokeVerbで呼べないならレジストリ読んで実行しとけ
0111デフォルトの名無しさん2009/09/15(火) 14:46:42
InvokeVerb "メニュー項目\サブメニュー項目"
とでもできればよいが
0112デフォルトの名無しさん2009/09/16(水) 12:44:13
InvokeVerbEx "メニュー項目","サブメニュー項目"
0113デフォルトの名無しさん2009/09/17(木) 23:30:32
WordのActiveXコンポーネントについて聞いて良いですか?
WSHから、documentオブジェクトに
他所で生成したリストをMailMergeさせることは出来たんですが、
実際のデータが割り当てられたプレビュー状態を表示させるメソッドってありますか?
ツールバーのボタンを押せばちゃんと表示されます。
0114デフォルトの名無しさん2009/09/18(金) 00:15:01
>>113
こんなんで良いの?
var word = new ActiveXObject('Word.Application');
word.visible = true
var doc = word.Documents.Add();
doc.Content.InsertAfter("hello, world.");
doc.PrintPreview();
0115デフォルトの名無しさん2009/09/18(金) 00:28:10
>>114
ありがとうございます。
説明が悪かったのですが、印刷プレビューではなくて、
通常のレイアウト内の、差し込み印刷のプレビュー表示です。
右、左でレコードを移動できるあれです。
ツールバーのボタンを押さないと、<<名前>>みたいなフィールドのままですよね。
それを、差し込んだ状態で見せたいんです。
ちゃんとデータソースと結合は出来ているのですが。
スレ違いですかね・・・
0116デフォルトの名無しさん2009/09/18(金) 00:42:13
>>115
失礼、差込印刷なって使ったことなかったので

とすると、これ?
doc.MailMerge.ViewMailMergeFieldCodes = false
01171162009/09/18(金) 00:43:29
×差込印刷なって
○差込印刷なんて
orz...
0118デフォルトの名無しさん2009/09/18(金) 00:46:24
>>116
調べてみたら、それで間違いないと思います!
今ちょっとWordが無い環境なんで、改めて試してみます。
ありがとうございました。
0119デフォルトの名無しさん2009/09/19(土) 01:54:02
ABALE.ZIPとかいうCOMが入っているのですが、これって使えるの?
0120デフォルトの名無しさん2009/09/24(木) 22:41:49
Wordの印刷についてお聞きしたいんですが.
Wordを印刷するプログラムを書いたのですが,
プリンタを任意に指定する方法がわかりません.
以下のプログラムでは,”通常使うプリンタ”になってしまいます.
プリンタを指定する場合はどのようにすればよいのでしょうか?
できれば,引数からプリンタを指定するようにしたいです.
よろしくお願いいたします.

var pf,obj;
var objArgs = WScript.Arguments;
pf = new ActiveXObject("Word.Application");
pf.DisplayAlerts = false;
obj = pf.Documents.Open(objArgs(0),0,1);
obj.PrintOut();
obj.Close(0);
WScript.Quit(0);
0121デフォルトの名無しさん2009/09/24(木) 23:08:20
>>120
試してないけど、
pf.ActivePrinter = "プリンタ名"
あたり?

ちなみに、明らかにword固有の機能はスレ違い
VBAスレなどに行ってください
0122デフォルトの名無しさん2009/09/25(金) 00:41:38
>>121
ありがとうございます.
その方法で動きました
0123デフォルトの名無しさん2009/09/25(金) 00:44:39
ちなみに、VBAスレでは、VBやVBSでも書ける話はスレ違いと言われるので、
さらにほかのスレに行ってください
0124デフォルトの名無しさん2009/09/25(金) 04:29:36
> ちなみに、VBAスレでは、VBやVBSでも書ける話はスレ違いと言われる
ハズレ

「VBやVBSでも書ける話」がスレ違いなのではなく
「Word.ApplicationやExcel.Applicationを使わずにVBやVBSでも書ける話」がスレ違いと言われる

VBやVBSでも書ける話でも、WordやExcel固有機能の話なら、当然スレ違いじゃない
だってVBAのAはWord.[A]pplicationやExcel.[A]pplicationのAなんだから
0125デフォルトの名無しさん2009/09/25(金) 14:50:55
new ActiveXObject("Shell.Application").ShellExecute(objArgs(0),"プリンタ名",null,"printto");
は、どのスレだろう?
0126デフォルトの名無しさん2009/09/25(金) 17:04:12
すいません。質問させてください。
「画面のプロパティ」の内容に当たるレジストリを書き換えるコードを書いています。
が、ログオフか再起動をしないと反映されません。
ログオフ、再起動なしで反映させる方法はありませんか?
0127デフォルトの名無しさん2009/09/25(金) 19:13:20
たぶんスレ違いと言われるんじゃまいか
0128デフォルトの名無しさん2009/09/25(金) 20:04:19
>>126
設定するモノによる
「画面のプロパティ」の画面自体をVBSで操作した方が楽ぢゃねぇ?
0129デフォルトの名無しさん2009/09/25(金) 20:15:00
VBSで画面の操作なんかできんのか
0130デフォルトの名無しさん2009/09/25(金) 20:38:11
sendkeysだろ
>>126
inichangeとかsettingchangeとかぐぐれ
0131デフォルトの名無しさん2009/09/25(金) 20:56:04
sendkeysはVBSじゃないけど
0132デフォルトの名無しさん2009/09/26(土) 02:07:43
w
0133デフォルトの名無しさん2009/09/26(土) 10:29:44
wはVBSじゃないけど
0134デフォルトの名無しさん2009/09/29(火) 15:59:53
WScript.Echo "w"
はVBSね
0135デフォルトの名無しさん2009/09/29(火) 18:50:17
Is there any here document in WSH?
0136デフォルトの名無しさん2009/10/01(木) 23:18:05
UserとPasswdを指定してリモートのファイルにアクセスするならMapNetworkDriveが使えるけど
ドライブのマッピングをしたくない場合って他に何か方法あるかな?
net useコマンド叩けばいいんだけど、あんまり美しくない。。。
0137デフォルトの名無しさん2009/10/01(木) 23:26:31
pushdとかは?
0138デフォルトの名無しさん2009/10/01(木) 23:28:32
FileSystemObject って UNC に対応してなかったけ?
0139デフォルトの名無しさん2009/10/02(金) 01:32:32
UNCってUser/Pass指定できるんだっけ?
0140デフォルトの名無しさん2009/10/02(金) 01:53:29
マップしてfsoで開いてアンマップ
0141デフォルトの名無しさん2009/10/07(水) 12:46:15
指定したパスのフォルダをエクスプローラーで、
サイズや位置を指定して開く方法があったら教えてください。
ぐぐろうとすると InternetExplorerでのやり方ばかりヒットしてしまって・・・
0142デフォルトの名無しさん2009/10/07(水) 13:25:15
' 変数の定義,WSHの準備,etc...
Option Explicit
Dim FSO,WS,AG,WE,strOs,strInp,strCom,intRet
Set FSO=CreateObject("Scripting.FileSystemObject")
Set WS=CreateObject("WScript.Shell")
Set AG=WScript.Arguments
Set WE=WS.Environment("PROCESS") : strOs=WE("OS")

' RunメソッドでEXPLORER.EXEを起動し、引数で指定されたドライブ/フォルダ(省略時は現在のドライブ/フォルダ)をツリー枠と共に表示
strInp="." : If (AG.Count > 0) Then strInp=AG(0)
strCom="EXPLORER /e,/root," & Chr(34) & FSO.GetAbsolutePathName(strInp) & Chr(34)
intRet=WS.Run(strCom , 1, true)

' WSHのバージョンが5.1以降かつOSがWindowsNT系(NT/2000/XPなど)の場合、処理内容をイベントID:4(情報)でWindowsNTイベントログへ記録
If (WScript.Version > "5.0") And (strOs = "Windows_NT") Then
WS.LogEvent 4, "(bvExplorer.vbs) 次のコマンドラインを実行しました。" & vbCrLf & strCom
End If

' 各オブジェクトのメモリ リソース等を開放し、本スクリプト実行を終了
Set FSO=Nothing : Set WS=Nothing : Set AG=Nothing : Set WE=Nothing
WScript.Quit()
0143デフォルトの名無しさん2009/10/07(水) 20:30:11
Set ie=GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
ie.Visible=True
ie.Top=
ie.Width=
...
0144デフォルトの名無しさん2009/10/09(金) 13:05:03
FSOその他でシンボリックリンクの判定できる?
ターゲット取り出せる?
0145デフォルトの名無しさん2009/10/09(金) 19:10:05
ExecuteExcel4Macro("CALL(""user32"",""FindWindowExA"",
はよくあるが、
ExecuteExcel4Macro("CALL(""user32"",""FindWindowExW"",
はできないのか?
0146デフォルトの名無しさん2009/10/09(金) 22:54:27
>>144
シンボリックリンクなら。ジャンクションはこれでは無理。たぶんWMIでいけるんじゃないか。
動かしたのは Win7RC なので、XP では無理。Vista はどうかわからん。

Set shell = CreateObject ("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = shell.Namespace("C:\temp")
For Each fname in folder.Items
filePath = folder.GetDetailsOf(fname, 179)
fileAttr = folder.GetDetailsOf(fname, 6)
isFolder = InStr(1,fileAttr,"D",1)
isLink = InStr(1,fileAttr,"L",1)
If isFolder = 1 Then
Set fEntry = fso.GetFolder(filePath)
Else
Set fEntry = fso.GetFile(filePath)
End If
If isLink <> 0 Then
Wscript.echo filePath & " is linking to " & _
folder.GetDetailsOf(fname, 188)
End If
Next
0147デフォルトの名無しさん2009/10/09(金) 22:57:38
ごみが残ってた。これいらん。
' If isFolder = 1 Then
' Set fEntry = fso.GetFolder(filePath)
' Else
' Set fEntry = fso.GetFile(filePath)
' End If
0148デフォルトの名無しさん2009/10/10(土) 14:48:07
おー、さんきゅう
ただし、Vistaでは属性に、Lが付かんね
リンク先はあるので、ショートカットでなければで区別するかな
0149デフォルトの名無しさん2009/10/10(土) 17:33:03
そうなんだ。それじゃ >>147 の fEntry で fEntry.Attributes AND 1024 を調べてみ。
0150デフォルトの名無しさん2009/10/11(日) 16:10:12
分類に「リンク」があるかでも区別できるかも

folder.GetDetailsOf(fname, 188)
Vistaで187 
ExtendedPropertyのほうがよいが、IDが不明
GetDetailsOfとExtendedPropertyの対応表か調べる方法があればよいが
0151デフォルトの名無しさん2009/10/11(日) 20:57:35
あった
System.Link.TargetParsingPath
ms-help://MS.MSDNQTR.v90.ja/shellcc/platform/shell/reference/properties/link/system_link_targetparsingpath.htm
0152デフォルトの名無しさん2009/10/12(月) 21:37:40
すみません
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1131686451
この答えを教えていただけないでしょうか
よろしくお願いします
0153デフォルトの名無しさん2009/10/12(月) 22:32:38
>>152
取得順はソートされない(詳細はFATやNTFSの構造の話になるので省略する)
取得したデータを自前でソートしろ
0154デフォルトの名無しさん2009/10/12(月) 22:50:19
>>152
自前ソートが面倒であれば以下のとちらかで手抜きしろ
・ソート指定したdirコマンドの結果を使う
・basp21のReadDirを利用する
0155デフォルトの名無しさん2009/10/12(月) 23:01:18
>>153-154
ソートするには取得してからでないとダメということですね
ありがとうございます

取得するフォルダの順番というものは決まっているのでしょうか?
対象のフォルダに
20090101
20090102
20090201
20090202
とこのような感じでサブフォルダがありまして
フォルダが読み込まれる順番を調べているのですが
どうも情報がうまくさがせないものでして
echoなどで出しておりますとおそらく昇順だとは思うのですが
明示的にできないか・もしくは昇順であることを裏付ける何かがないかと思いまして
0156デフォルトの名無しさん2009/10/12(月) 23:12:55
ループの処理のあとにsleep10000くらい入れて
処理フォルダ見とけばいいんじゃない?
0157デフォルトの名無しさん2009/10/12(月) 23:19:53
>>155
FATに関して言えば情報格納順であり
ファイルやフォルダ削除/作成により順番が変わる
NTFSについても確実に名称でソートされている訳ではない
環境依存にしたくなければソートしろ
0158デフォルトの名無しさん2009/10/12(月) 23:24:42
>>156-157
ありがとうございます
複雑な内部の問題なんですね…
ソートしてから使いチアと思います。
本当に助かりました
0159デフォルトの名無しさん2009/10/13(火) 00:12:04
横レスですが、
みなさんソートはどうしてますか?
バブルソートが楽ですけど、量が増えると遅くて重くて。
エクスプローラがどんなに大量のファイルがあっても一瞬でソートできるように、
何か便利な方法ないでしょうか?
01601592009/10/13(火) 00:16:54
すんません、>>154で出てた・・・
0161デフォルトの名無しさん2009/10/13(火) 15:32:29
JSciptのArray.sort()でええ
0162デフォルトの名無しさん2009/10/13(火) 15:41:58
CreateObject("System.Collections.SortedList")
0163デフォルトの名無しさん2009/10/14(水) 18:16:19
>>21-25
keybd_eventでシフトキー押しながら
invokeverb "delete"
すればよいよ
0164デフォルトの名無しさん2009/11/08(日) 21:10:28
質問です
vbsで特定ページのソースを取得し、X行目がYという内容と一致するかのチェックをするスクリプトを作りたいのですが
ソース全体を出力する方法はobjIE.Document.Body.InnerHtmlでできるのは分かったんですが
ソース全体の閲覧ではなくソースのX行目がYという文字列と一致するかどうかの分岐を作るのはどうすればいいのでしょうか?
0165デフォルトの名無しさん2009/11/08(日) 21:42:02
>>164
ネタ? どこまで理解できていないのか読み取れない・・・

InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得
Mid系関数でX行目のデータを取得
If文で分岐

当然ループは使うぞ
0166デフォルトの名無しさん2009/11/08(日) 23:00:09
>>165
分かりにくくてすみません
>InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得
>Mid系関数でX行目のデータを取得
ここが分かりませんでした

もう少し調べてみます
0167デフォルトの名無しさん2009/11/08(日) 23:58:40
俺ならXMLDOMで全体取ってから
\nでsplitするかな。
0168デフォルトの名無しさん2009/11/09(月) 01:21:37
StrBody = objIE.Document.Body.InnerHTML
lntPos = InStr(1, StrBody, Chr(13), 1)
これの戻り値がどうやっても0になってしまいます
対処法お願いします
0169デフォルトの名無しさん2009/11/09(月) 15:46:51
Chr(13)?
0170デフォルトの名無しさん2009/11/09(月) 15:54:55
>>169
段落コードのつもりなんですが
0171デフォルトの名無しさん2009/11/09(月) 16:38:05
Chr(10)
0172デフォルトの名無しさん2009/11/09(月) 17:26:14
段落コード?
0173デフォルトの名無しさん2009/11/09(月) 17:33:14
HTMLにおける「段落」をめぐって
ttp://www.asahi-net.or.jp/~WQ6K-YN/para.html
0174デフォルトの名無しさん2009/11/09(月) 18:32:24
ソース?
0175デフォルトの名無しさん2009/11/09(月) 19:13:38
>>170
HTMLの段落はそっちでしたか
InStrが返す値が明らかに存在する文字を検索しても0になってしまうのはStrBodyが長すぎるせいなのでしょうか?
長さ制限は無いはずだしStrBodyをためしにechoで出力してみたらちゃんと表示されてるのでStringは収納されてるはずなんですが

>>167
ちょっとこちらも調べて見ます
0176デフォルトの名無しさん2009/11/09(月) 21:58:26
>長すぎるせいなのでしょうか?
それはない
>InStrが返す値が明らかに存在する文字を検索しても0になってしまう
それもない
0177デフォルトの名無しさん2009/11/09(月) 23:21:28
>>176
無いはずなのは分かってるんですけどなぜかそうなってしまうんです
ためしにVBで>>168のIntPosをMsgBoxで出力しようとしてもなぜか0に
0178デフォルトの名無しさん2009/11/10(火) 01:02:57
すみません
IntPos = の部分がうまく変数として認識されていなかったのが問題だった見たいです
解決しました
0179デフォルトの名無しさん2009/11/10(火) 17:02:37
意味不明だが
on error resume next
でも使ってんのか?やめとけ
option explicit
は使っとけ
0180デフォルトの名無しさん2009/11/16(月) 22:17:29
ttp://d.hatena.ne.jp/hasegawayosuke/20091028/p1
0181デフォルトの名無しさん2009/11/17(火) 15:03:31
いみふ
結局使えないんだろ?
0182デフォルトの名無しさん2009/11/18(水) 20:01:43
以前は
cscript //e:jscript -
が使えたが
0183デフォルトの名無しさん2009/11/18(水) 22:00:30
?

>cscript //e:jscript -
WScript.Echo(WScript.Version);
^Z
5.7
0184デフォルトの名無しさん2009/11/22(日) 15:42:09
>cscript //e:jscript -
入力エラー: スクリプト ファイル "-" が見つかりません。
0185デフォルトの名無しさん2009/11/25(水) 02:05:32
>cscript //e:jscript con
WScript.Echo(WScript.Version);
^Z
5.7
0186デフォルトの名無しさん2009/11/26(木) 12:03:39
レンホウ「こんなロボット作って、なんになるんです?」
0187デフォルトの名無しさん2009/11/26(木) 18:04:00
ロボットになるんです
0188デフォルトの名無しさん2009/11/28(土) 17:39:05
>cscript //e:jscript con
CScript エラー: Windows Script Host の実行に失敗しました。 (この操作を完了するの
に十分な記憶域がありません。 )
0189デフォルトの名無しさん2009/11/28(土) 19:47:24
純粋なあの頃は仕事で追い詰められて自殺なんて都市伝説だと思ってたけど
今じゃ知り合いの失踪も自殺も体験した
0190デフォルトの名無しさん2009/12/02(水) 10:59:46
正規表現が文法的に正しいかどうかを判別する方法はありませんか
括弧が足りないとか教えてくれなくていい
スクリプトが異常終了しないでtrueかfalseを返してくれればいい
0191デフォルトの名無しさん2009/12/02(水) 18:48:37
try catch
0192デフォルトの名無しさん2009/12/02(水) 19:26:27
>>191
駄目だった
try {var re = /asd(fgh/;}
catch(e){WScript.echo("error");}
0193デフォルトの名無しさん2009/12/02(水) 19:36:59
RegExp.compile
0194デフォルトの名無しさん2009/12/02(水) 19:58:42
>>192
RegExp
0195デフォルトの名無しさん2009/12/05(土) 00:05:02
wshで
var n=/a]b/;
と打ったらエラーが出ませんでした。他の括弧ならエラーが出ます。
エスケープ無しの右かぎ括弧ってなにか特別な意味はありますか?
この場合は、"a]bと続く三文字"と解釈して大丈夫なんですか?
0196デフォルトの名無しさん2009/12/05(土) 14:20:01
ためせば?
0197デフォルトの名無しさん2009/12/13(日) 13:23:44
Excel2003と2010が共存している環境で
WSHを使うことで両者を使い分けようとしています。
参考 : http://www.drk7.jp/MT/archives/001226.html

RegRead("HKEY_CLASSES_ROOT\\CLSID\\{00024500-0000-0000-C000-000000000046}\\LocalServer32\\").replace(/ \/[^ \/]+/g, '')
で、Excel 最新版(最後にインストールしたもの?)のパスは得られるのですが、古い方のパスを得られません。

何か良い方法はないでしょうか?
0198デフォルトの名無しさん2009/12/13(日) 13:24:56
今は決めうちで、「C:\Program Files\Microsoft Office\*\EXCEL.EXE」の * の部分を変えて存在確認をとって処理しています。
* の部分は、
Office2010 : office14
Office2007 : office12
Office2003 : office11
Office2002 : office10
Office2000 : office9
Office97 : office8
Office95 : office
であっているでしょうか?
よろしくお願いします。
0199デフォルトの名無しさん2009/12/13(日) 19:27:38
ttp://support.microsoft.com/kb/234788/ja
0200デフォルトの名無しさん2009/12/15(火) 18:19:27
EXCEL.EXEを検索してFileVersionで判定すべき
0201デフォルトの名無しさん2009/12/23(水) 00:00:12
Office2010ってもう発売されてるんだ.....
0202デフォルトの名無しさん2009/12/23(水) 14:44:53
さあ
0203デフォルトの名無しさん2009/12/23(水) 14:50:06
office13は?
0204デフォルトの名無しさん2009/12/24(木) 09:35:19
スレちがい
0205デフォルトの名無しさん2010/01/13(水) 18:31:33
お願いだから教えてください。スレ違いかも知れないけどPower Shellスレないみたいだし・・

Windows Power Shell(2.0)でIEを起動してマウスクリックをエミュレートさせようとした場合、Win32API(mouse_event)を使うと思うんですが
DllImport("usr32.dll",Charset=Charset.Auto)でCharset = ←の=の後がどうとかいって、実行できません。Charsetのくだりを全削除すると今度は予期しない属性と出てしまいます。

mouse_eventにこだわりはないんですが
IEを立ち上げ
マウスクリックをエミュレートする

処理を教えてください。APIなら宣言部もお願い;;

0206デフォルトの名無しさん2010/01/13(水) 18:37:51
205ですけど

座標とかハードコーディングで大丈夫ですので肝を簡潔にお願い;;
0207デフォルトの名無しさん2010/01/13(水) 23:40:26
スレちがい
Windows PowerShell 2.0 Part2
0208デフォルトの名無しさん2010/01/14(木) 00:07:23
普通はDOM使うんじゃなかろうか、いや知らんけど
0209デフォルトの名無しさんNGNG?PLT(23400)
>>207
URLも貼ってあげなよ

http://pc12.2ch.net/test/read.cgi/win/1261106064/
0210デフォルトの名無しさん2010/02/22(月) 21:41:34
次のように Folderオブジェクトの SubFolders でFolderコレクションを取得したとして、

 Set c = folder.SubFolders

これを For Each ではなくて以下のように For で処理したいです。

 For i = 0 To c.Count
  :
 Next

このループの中で、i 番目のアイテムを取得するにはどうしたらよいでしょうか?
c(i) でも c.Item(i) でもダメでした。
0211デフォルトの名無しさん2010/02/22(月) 21:44:18
c.Items(i)
02122102010/02/22(月) 21:50:27
それだと
オブジェクトでサポートされていないプロパティまたはメソッドです。:'c.Items'
です。
ちなみに、c.Item("Test") みたいに、実在するフォルダ名を与えればフォルダオブジェクトは取って来れます。
それじゃ意味無いですが。
0213デフォルトの名無しさん2010/02/22(月) 22:06:18
c(i).Value
c(i).Item()
02142102010/02/22(月) 22:17:28
>>213
プロシージャの呼び出し、または引数が不正です。
0215デフォルトの名無しさん2010/02/22(月) 23:29:43
Shell.Application の FolderItems のほうを使ったら?
0216デフォルトの名無しさん2010/02/25(木) 21:55:47
配列に入れて使え
0217デフォルトの名無しさん2010/02/25(木) 22:13:00
For i = 0 To c.Count
j=0
 For Each f In c
If j=i Then Exit For
j=j+1
 Next
MsgBox f
Next
0218デフォルトの名無しさん2010/02/25(木) 22:55:24
番号は使えないみたいだな
ItemクリックしたらDictionaryに飛んだ

ttp://msdn.microsoft.com/en-us/library/9kcx47hd%28VS.85%29.aspx
0219デフォルトの名無しさん2010/03/01(月) 21:36:27
test
0220デフォルトの名無しさん2010/03/05(金) 12:44:09
WMI使ってリモートPCのIP変更したいんだが、変更後にRPCエラー待ちが発生して自動処理が難しい。
エラー待ちを無視するとか、なんかいい方法知ってる人がいたら助けて。

On Error Resume Next

strComputer = "10.1.1.1"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
Next
0221デフォルトの名無しさん2010/03/12(金) 19:00:04
素朴な疑問なのですが・・・
JScriptの変数の宣言(var文)って書いても書かなくても動きますが
どちらが推奨されますか?
0222デフォルトの名無しさん2010/03/12(金) 20:20:27
>>221
書いた場合と書かない場合は意味が違う
宣言時にはできるだけ書くべきと思う
--------------
a = 10;
function foo() {a = 20;}
foo();
WScript.Echo(a);
--------------
結果:20
--------------
var a = 10;
function foo() {var a = 20;}
foo();
WScript.Echo(a);
--------------
結果:10
02232212010/03/14(日) 04:11:27
>>222
なるほど。そう言う違いがあるのですか・・・
ありがとうございました
0224デフォルトの名無しさん2010/03/20(土) 12:34:38
varといえば

var a = 10;
var a;

で、aがundefinedになると思い込んでいて
はまりかけたことがあった。
0225デフォルトの名無しさん2010/04/05(月) 23:24:20
バッチファイルからWSHを呼び出す際、
バッチからサブルーチン呼出すみたいにパラメータ渡すことは可能ですか・
0226デフォルトの名無しさん2010/04/05(月) 23:52:43
>>225
可能
渡されたパラメタはWScript.Argumentsで参照できる
0227デフォルトの名無しさん2010/04/06(火) 00:13:23
有難う御座います!
0228デフォルトの名無しさん2010/04/09(金) 10:28:58
WSHの何か良いリファレンスブックみたいなのってありますか?
言語は何の奴でもまぁ使えると思うんで何でも良いんですが
0229デフォルトの名無しさん2010/04/09(金) 11:49:47
Scripting Guide 2000
02302282010/04/10(土) 01:11:59
すいません、日本語の書籍でお願いしますorz
0231デフォルトの名無しさん2010/04/10(土) 01:32:23
>>230
初心者なら scd56jp.exe 内の script56.chm だけで良くねぇ?
02322282010/04/10(土) 02:27:18
>>231
おお、これは凄い便利ですね。
ありがとうございます、凄い役にたちそうなんで嬉しいんですが
オフラインで使える本も、それはそれで欲しいです。
書籍の持ち込みは可能だけどデータの持ち込みは厳しい場所に持ち込みたいので。
0233デフォルトの名無しさん2010/04/10(土) 11:33:33
公式のヘルプを知らなかったって…
0234デフォルトの名無しさん2010/04/17(土) 11:37:25
VWD2005でVBSのコード補完してくれるらしいから
インストールしたけどVBSは全く補完してくれないよ。
かんか設定必要?
0235デフォルトの名無しさん2010/04/24(土) 04:06:49
CoInitialize は呼び出されていません。
こういう場合はどうすれば?
0236デフォルトの名無しさん2010/04/25(日) 18:46:06
CoInitialize を呼び出せば?
0237デフォルトの名無しさん2010/04/29(木) 21:04:56
ちょっと教えてください。

Wshからバッチファイルを呼び出す事は可能ですか?
0238デフォルトの名無しさん2010/04/29(木) 22:01:02
ちょっと教えてください。

WshからCoInitializeを呼び出す事は可能ですか?
0239デフォルトの名無しさん2010/04/29(木) 22:53:38
COMを挟めば可能
0240デフォルトの名無しさん2010/04/29(木) 22:59:32
COMが呼べるってことは既にCoInitializeされてることを意味するので無意味
0241デフォルトの名無しさん2010/04/30(金) 00:39:11
意味しないよ
0242デフォルトの名無しさん2010/05/01(土) 18:16:08
explorerのnavigation paneのshow/hideはshowbrowsebarでできないのか?
0243デフォルトの名無しさん2010/05/01(土) 21:52:27
セキュリティ対策だから無理だろ
0244デフォルトの名無しさん2010/05/28(金) 18:03:17
Windowsスクリプティング環境比較:PowerShell vs WSH
http://www.atmarkit.co.jp/fwin2k/operation/pshvswsh/pshvswsh_01.html
>Windows XPがリリースされ、先日Windows Vistaがリリースされるまで何年も経過したにもかかわらず、
>WSHのバージョンはVer.5.6からVer.5.7へとマイナー・バージョンアップにとどまっている。
>実はWSHは今後メジャー・バージョンアップされない運命にあるのだ。

バージョンアップされないってホント?
0245デフォルトの名無しさん2010/05/28(金) 22:30:32
うそ
0246デフォルトの名無しさん2010/05/28(金) 22:47:28
>>244
なんか困るの?
つか、他の手段への以降してるんじゃないの?
0247デフォルトの名無しさん2010/05/28(金) 22:50:33
移行だね。
0248デフォルトの名無しさん2010/05/29(土) 16:07:55
バージョンアップしなくてもよいからインラインスクリプトをサポートしてほしいな
0249デフォルトの名無しさん2010/05/29(土) 21:25:33
exec("cmd",0) も
0250デフォルトの名無しさん2010/06/14(月) 11:44:46
質問です。
例えば、sample01.exeという単一ファイルに対して、コンテキストメニューでavast!の"検査(S) sample01.exe"を実行することは
FolderItems→FolderItem→InvokeVerbでできます。
一方、ファイルが複数選択された状態では、コンテキストメニューは、"選択した領域のウィルス検査(S)"となり、
これを実行すると選択された全てのファイルに対してまとめて処理が行われます。
この例のようにファイルを複数選択した状態で、"選択した領域のウィルス検査(S)"をWSHで実行するにはどうすればよいですか?
0251デフォルトの名無しさん2010/06/14(月) 15:20:04
set items=folder.items
items.filter SHCONTF_NONFOLDERS,"*.exe"
items.invokeverbex "選択した領域のウィルス検査(S)"
0252デフォルトの名無しさん2010/06/14(月) 15:22:56
ashQuick.exeを呼べばいいんじゃないの
0253デフォルトの名無しさん2010/06/14(月) 16:29:09
>>251-252
ありがとうございます。

252のサンプル、大変参考になりました。

0254デフォルトの名無しさん2010/06/14(月) 16:31:01
>>253
失礼。まちがえました。
× 252のサンプル、大変参考になりました。
○ 251のサンプル、大変参考になりました。
0255デフォルトの名無しさん2010/06/20(日) 19:09:05
JavaScriptを使ったWSHでIEを操作してハイパーリンクをクリックさせるってどうやってる?
0256デフォルトの名無しさん2010/06/20(日) 20:36:09
>>255
自己解決した


と思ったら次の問題が発生した

<form action="..." method="post" >
<input type="text" name="text">
<input type="submit" name="exec" value="test">

のフォームをVBSで操作したいんだが
objIE.Document.Forms(0).test.value = test
objIE.Document.Forms(0).exec.click
だとエラーになる

objIE.Document.Forms(0).test.value = test
objIE.Document.Forms(0).exec.click
objIE.Document.Forms(0).Action="./_msg_post"
objIE.Document.Forms(0).Method="POST"
objIE.Document.Forms(0).Submit
でも同じようにエラーになるんだけどなぜ?
0257デフォルトの名無しさん2010/06/20(日) 21:36:56
>>256
エラーの質問の時は環境とエラー詳細を書け

まさか
×test
○text
なんてことはないよね
0258デフォルトの名無しさん2010/06/21(月) 18:54:32
>>257
Windows7
エラーは詳細不明 エラー番号が8004005
0259デフォルトの名無しさん2010/06/21(月) 19:11:02
>>258
80004005だよ・・・orz
0260デフォルトの名無しさん2010/06/21(月) 19:43:57
Dim K As Long

For K = 0 To 5
MsgBox "今" & K & "周目"
Next K

これ
7で動かないんだけど7以外で動く人いる?
0261デフォルトの名無しさん2010/06/21(月) 19:52:13
>>260
それは vba の書き方じゃないの?
vbscript なら以下

Dim K

For K = 0 To 5
MsgBox "今" & K & "周目"
Next
0262デフォルトの名無しさん2010/06/22(火) 14:23:24
>>260
いない
0263デフォルトの名無しさん2010/06/24(木) 18:25:10
JavaScriptのWSHにVBScriptで取得した文字列を渡す方法ってある?
0264デフォルトの名無しさん2010/06/24(木) 19:29:43
つwsf
0265デフォルトの名無しさん2010/06/24(木) 20:06:17
sss="xxx"
createobject("wscript.shell").run "aaa.js " & sss
0266デフォルトの名無しさん2010/06/24(木) 20:11:05
runするならプロセス環境変数で渡してもOKだな
0267デフォルトの名無しさん2010/06/24(木) 22:20:36
ちょっと難しい質問


WSHで起動したExcelのInputBoxに入力された数値を別のWSHに渡すことはできる?


WSH1.vbsでExcelのInputBoxを起動して数値を入力
その数値を
WSH2.vbsに渡す


0268デフォルトの名無しさん2010/06/24(木) 23:27:10
>>267
普通にできる
逆に「どーやったらできない」のか聞きたいくらいだ
0269デフォルトの名無しさん2010/06/24(木) 23:59:10
>>268
どうやればいいんだ…orz
0270デフォルトの名無しさん2010/06/25(金) 00:24:25
sss=inputbox()
createobject("wscript.shell").run "wsh2.vbs " & sss
0271デフォルトの名無しさん2010/06/25(金) 00:36:54
wsh2.vbsにも指定したsssにはwsh1で入力した数値が入ってるんだね?
参考になった!本当にありがとう!
0272デフォルトの名無しさん2010/06/25(金) 00:45:02
sssに入ってるというより、sssに渡したい値を引数として入れて
別のスクリプトを起動するっつうことだろ。
その結果、受けるほうはWScript.Argumentsで引数として受け取る。
またはWScript.CreateObject("WScript.Shell").Environment("Process")で渡して、受け取る。
テキストファイルを使っても渡せることは渡せる。
0273デフォルトの名無しさん2010/06/25(金) 00:48:40
「〜できる?」
  ↓
「どうやればいいんだ…orz」
  ↓                 ←今ココ
「全部ソース書いて」
0274デフォルトの名無しさん2010/06/25(金) 00:52:37
JScriptは永遠に不滅です!
0275デフォルトの名無しさん2010/06/25(金) 11:46:42
>>272
Processに入力されたデータを入れるには?
0276デフォルトの名無しさん2010/06/25(金) 15:27:41
それはとっても難しい質問だね
0277デフォルトの名無しさん2010/06/25(金) 15:41:12
どうやればいいんだ…orz
0278デフォルトの名無しさん2010/06/25(金) 16:20:56
>>275
> ○○に入力された××を入れるには?

「誤字」と言うよりは「理解不足」だと思う
って言うか、もう少し「人間としてのレベル」を上げて来い



以下に示す程度のガキは相手にされないことが多い
・どこまで分かるのか書かない        ←「オレが分かるように答えろ」というレベル
・「どうやればいいんだ…orz」を多用     ←「助けてママ〜」というレベル
・スレ内を検索できない
・ググれない
・scd56jp.exeをDLしてマニュアルを読むことができない
0279デフォルトの名無しさん2010/06/25(金) 22:46:06
>>278
>scd56jp.exeのマニュアル見てやっとわかった ありがとう
0280デフォルトの名無しさん2010/06/26(土) 11:09:02
>>279
そうか。具体的にどう解決できた?サンプルを書いてみて。
0281デフォルトの名無しさん2010/06/26(土) 12:51:16
>>280
WSH = WScript.CreateObject("WScript.Shell").Environment("Process")a = Inputbox
WSH = Item("A") = a
0282デフォルトの名無しさん2010/06/26(土) 13:30:20
>>281
ごめん携帯からあわてて書いたからおかしくなったわ

1.vbs
WSH = WScript.CreateObject("WScript.Shell")
env = WSH.Environment("Process")
A = InputBox()
env.Item("a") = A

2.vbs
WSH = WScript.CreateObject("WScript.Shell")
env = WSH.Environment("Process")

A = + env.Item("a")
WScript.echo(A)
0283デフォルトの名無しさん2010/06/26(土) 14:13:16
WSHのコードやよく使う関数をdllにできたらすごく便利だね うふ
0284デフォルトの名無しさん2010/06/26(土) 14:17:06
classでまとめておくのはやってる。
0285デフォルトの名無しさん2010/06/26(土) 14:25:54
>>282
vbsだからset 使わんと駄目なんだろう。あとWSHもオブジェクトだからたぶん駄目だろ。あとはrun付け足せばいいはず。
WScript.CreateObject("WScript.Shell").Run "wscript.exe " & WScript.CreateObject("ファイルシステムなんちゃら").GetParentなんちゃら(WSH.ScriptFullName) & "\2.vbs"

vbs全然つかってねえやw
0286デフォルトの名無しさん2010/06/26(土) 14:39:49
>>285
だってこれJScript用だし
0287デフォルトの名無しさん2010/06/26(土) 14:56:09
>>286
>>だってこれJScript用だし
>>282 に >>1.vbs
って書いてあるのに、それはねえべよ〜w こんな後だしジャンケンは初めてみたわw
0288デフォルトの名無しさん2010/06/26(土) 15:16:12
>>287
うん
そりゃね
VBSで動作実験してからJScript用に変えたから…



先にそれを書いておくべきだった すまない
0289デフォルトの名無しさん2010/06/26(土) 15:39:06
今回は >>278 の忠告を聞かない>>287が悪い。
0290デフォルトの名無しさん2010/06/26(土) 16:08:30
wscript.exe //e:jscript 2.vbs
で起こすから…
0291デフォルトの名無しさん2010/06/26(土) 17:35:03
審判長「ただ今の協議について説明いたします。
行事は、忠告を聞かなかった>>287の右足が俵を割ったと判定して
>>286に軍配を上げましたが、
>>290 のカウンターが>>287のあごにヒットしたため、
>>290の勝ちと判定いたします。」
0292デフォルトの名無しさん2010/06/26(土) 20:10:52
ttp://memoofwork.seesaa.net/article/13976209.html

のリンク数分回すのがうまく動かない


Length はリンク個数を取得してるのはわかるんだが・・・
なんで次へ のリンクに飛ばないんだ?
0293デフォルトの名無しさん2010/06/26(土) 20:31:48
>>292
わすれてた
リンクの場所はGoogleの検索結果です
0294デフォルトの名無しさん2010/06/26(土) 20:47:07
>>292
ちょっと見た感じ、元のページの内容が怪しそう
hrefってURLを表してるんじゃないの?

×If objIE.Document.links(i).href = "次へ" Then
○If objIE.Document.links(i).innerText = "次へ" Then
これならどう?
0295デフォルトの名無しさん2010/06/26(土) 20:58:08
>>294
できました!ありがとうございます!
0296デフォルトの名無しさん2010/06/26(土) 22:05:16
ごめんなさい 追加で質問です・・・
>>292をJScriptで同じようなことをさせてみようと思ったんですけどうまくできないんです

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("http://www.google.co.jp/search?hl=ja&source=hp&q=amazon&aq=0&aqi=g7g-r3&aql=&oq=a&gs_rfai=");
WScript.sleep(1000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
IE.Document.links(i).innerText=("次へ");
IE.Document.links(i).Click();};

これだと動かないんですがどうしたらいいでしょうか・・・
0297デフォルトの名無しさん2010/06/26(土) 22:26:35
>>297
これで動いた

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("http://www.google.co.jp/search?hl=ja&source=hp&q=amazon&aq=0&aqi=g7g-r3&aql=&oq=a&gs_rfai=");
WScript.sleep(1000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
if ((""+IE.Document.links[i].innerText)==("次へ")) {
IE.Document.links[i].click();
break;
}
};
0298デフォルトの名無しさん2010/06/26(土) 22:33:41
>>298
ありがとうございました
0299デフォルトの名無しさん2010/06/26(土) 22:59:09
>>297
>if ((""+IE.Document.links[i].innerText)==("次へ"))
このような方法は知りませんでした

もっと勉強します ありがとうございました!
0300デフォルトの名無しさん2010/06/26(土) 23:03:25
ああ、失礼
最初の ""+ はなくてもよいかも
オブジェクトが null になる可能性がある場合、これをいれておくととりあえあず文字列になって
エラーにならないので入れてみた(最初に>>296を起動したときエラーになったので念のために)
正しくオブジェクトが取得できる前提なら不要
0301デフォルトの名無しさん2010/06/27(日) 00:13:58
>>300
エラーになったみたいです・・・
一行目の1文字目の文字が正しくないって・・・
どういうことなんでしょうか
0302デフォルトの名無しさん2010/06/27(日) 03:19:22
1行目1文字目はいくらなんでもおかしい

文字が全角になってるとか、
ファイルがBOM付きのUTF-8になってるとか、
構文以前の基本的な個所でエラーになってる可能性がないか?
0303デフォルトの名無しさん2010/06/28(月) 03:00:29
WSHでOperaやFireFoxにURLを渡すのは不可能なんだろうか…


スレイプニルはできるのになぁ
0304デフォルトの名無しさん2010/06/28(月) 03:14:35
bugbrowser や Nilbrowserも出来るね。
0305デフォルトの名無しさん2010/06/28(月) 03:15:26
>>303
釣りとしか思えないなぁ・・・

バカが「OperaやFireFoxにURLを渡すのは不可能なんだろうか」って言うようなソースを晒してくれ
0306デフォルトの名無しさん2010/06/28(月) 03:33:17
>>305
ActiveXがないからWSHが使えないだけでActiveXがあればWSHが使えるんだからOperaやFireFoxにもActiveXが搭載できればいいんじゃないかと思うんだが
0307デフォルトの名無しさん2010/06/28(月) 03:47:18
>>306
コレは完全に釣りだな
面白いからソース晒せ
0308デフォルトの名無しさん2010/06/28(月) 03:56:58
>>307
RunでOpera.exeだのFireFox.exeを起動させただけのソースコードがみたいとは奇っ怪な
0309デフォルトの名無しさん2010/06/28(月) 04:07:27
>>308
「Sleipnirではできる」のに「OperaやFireFoxではできない」って言う奇怪なソースを早く晒せ

釣りには「ノリ」も必要だぞ
0310デフォルトの名無しさん2010/06/28(月) 09:43:40
恥ずかしい後釣り宣言来ました
0311デフォルトの名無しさん2010/06/28(月) 14:35:12
つDDE
0312デフォルトの名無しさん2010/06/28(月) 14:44:54
>>303
で何したいン?ただ外部のスクリプトからFirefoxでURLを開ければいいのか、FireFoxをスクリプトでいろいろ制御したいのか?
0313デフォルトの名無しさん2010/06/28(月) 19:25:00
IEで開いたページにあるリンクのURLをSendKeyを使ってメモ帳に書き込むコードを作ってみたのですが

一括で書き込んでるから途中で内容がぐちゃぐちゃになってしまいます


0.01秒ごとに書き込みすることはできないでしょうか?

以下 ソースコード

var ie,i,a,aaa,d,s;
var WSH;WSH = WScript.CreateObject("WScript.Shell");
IE=new ActiveXObject('InternetExplorer.Application');
IE.Visible=true;
aaa = "";
s = WScript.sleep(100);
d = 0;
while(d < 10){
d = d + 1;
ie.navigate2("★");
WScript.sleep(3000);
a = ie.Document.links.length;
for (i = 0; i < a; i++) {
if ((ie.Document.links[i].innerText)==("★")) {
test = ie.Document.links[i].search;
aaa = aaa + test~";
break;}};};

WSH.AppActivate("無題");
WSH.SendKeys(aaa);
0314デフォルトの名無しさん2010/06/28(月) 19:31:11
>>313
なんでSendKeys?
FSO使えばいいだろ
あと変数名が酷いなw
0315デフォルトの名無しさん2010/06/28(月) 19:37:26
個人で作って使ってんだ。
変数名なんて本人の好きで構わんだろ。
0316デフォルトの名無しさん2010/06/28(月) 19:45:00
これは難読化されたコードなんだよ
0317デフォルトの名無しさん2010/06/28(月) 19:47:44
>>314
FSOですか・・・それは知りませんでした

あと 変数名は適当に決めています
0318デフォルトの名無しさん2010/06/28(月) 19:52:35
変数と言うぐらいだから変な名前で何が悪い!
0319デフォルトの名無しさん2010/06/28(月) 20:40:07
変な名前では無いと思うが。w
0320デフォルトの名無しさん2010/06/28(月) 21:08:39
FSOに変えてみました

var IE,i,a,t,aaa,d,abc,test;
var WSH;WSH = WScript.CreateObject("WScript.Shell");
var FSO;FSO = WScript.CreateObject("Scripting.FileSystemObject");
IE=new ActiveXObject('InternetExplorer.Application');
IE.Visible=true;
aaa = "";
d = 0;
while(d < 2){
d = d + 1;
IE.navigate2("★");
WScript.sleep(3000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
if ((IE.Document.links[i].innerText)==("★")) {
test = IE.Document.links[i].search;
aaa = aaa + test;
break;}};};

abc = FSO.OpenTextFile("abc.txt", 8, true);
abc.WriteLine(aaa);
abc.Close();


これだと改行をしてくれないようです
Write.Line は改行をしてくれるはずだったんですが・・・
0321デフォルトの名無しさん2010/06/28(月) 21:52:44
>>320
WriteLine()は最後に1つだけ改行する

aaa="";
while(...) {
aaa = aaa+なんとか;
}
の代わりに以下のようにすればよい
aaa=[]; // 配列にする
while(…) {
aaa.push(なんとか); //配列への要素の追加
}
…
abc.WriteLine(aaa.join("\r\n")); // 配列の各要素を改行で連結し、それを書き込み
0322デフォルトの名無しさん2010/06/29(火) 21:01:01
SeraphyScriptDialogは新しいのが出て64bitWindows7にも対応してた。AutoItXも更新してる。
みなさんは使ってますか?
0323デフォルトの名無しさん2010/06/29(火) 22:43:15
いいえ
0324デフォルトの名無しさん2010/06/29(火) 22:46:49
いいえ
0325デフォルトの名無しさん2010/06/29(火) 23:02:55
つかってるがぜよ
0326デフォルトの名無しさん2010/06/30(水) 14:04:56
>>312
後者
0327デフォルトの名無しさん2010/06/30(水) 16:32:44
大変だから止めた方がいい
0328デフォルトの名無しさん2010/07/01(木) 05:52:09
Opera,FireFoxも「JavaScript系で簡単に制御」できる
WSHじゃないのでスレチ


>>322
レジストリ使う時点で糞なので使わんだろ
汎用GUIからScriptControlでWSHを使うのが普通だな
0329デフォルトの名無しさん2010/07/01(木) 07:39:59
>>328
そのスレはどこに?
0330デフォルトの名無しさん2010/07/01(木) 09:26:23
>>329
「何をしたい」のか明記せずに糞みたいな質問ばかりすんな
とりあえず >>278 を読み直して内容を理解しろ
そして質問し直せ

それが出来なければ、自分でスレを探せ
0331デフォルトの名無しさん2010/07/01(木) 16:13:45
糞みたいなレスばかりすんな
0332デフォルトの名無しさん2010/07/02(金) 12:40:39
>>328
XPのmanifest使えばインストール無しでもDllは使える。
起動時のwscript.exeは、マニフェストがあるパスのwscript.exeを使わなきゃいけないけど。
システムを汚さなくても使うことは出来る。
エディタのマクロやブラウザのマクロのjscriptでも同じように使える。
システムへのインストールはいらない。

お前ら、wsh使ってますか? Part7
http://pc12.2ch.net/test/read.cgi/win/1190548945/715

715 名前:名無し~3.EXE[sage] 投稿日:2009/12/05(土) 17:35:36 ID:/VdO4Ha3
XPとWScriptのJscriptで、manifest使ってレジストリ登録なしでAutoItXが使えたんでメモしとく。
まずWScript.ExeとCScript.Exeをコピーして適当なフォルダに入れとく。
AutoItX3.dllも同じところに入れとく。
同じ場所にテキストファイルを3つ作る。
wscript.exe.manifest
cscript.exe.manifest
AutoIt.AutoItX3.manifest
0333デフォルトの名無しさん2010/07/02(金) 14:05:58
>>332
ソレ知ってる
SeraphyScriptDialogとAutoItXは「機能不足なので使わない」って方が正しい
>>328 を分かりやすくしておく

 レジストリ使う時点で糞なので使わんだろ
    ↓
 レジストリ使わなくても鼻糞なので使わんだろ
0334デフォルトの名無しさん2010/07/02(金) 16:03:24
>>333
ならそう書けよ。後出しジャンケン好きはプライドだけは高いから困るんだw
会社でもそういわれてるだろ?違うかい?
それで低機能ならSFCminiでも使ってみりゃいいさ。
0335デフォルトの名無しさん2010/07/02(金) 16:09:06
会社でも近所でも鼻つまみ者です
0336デフォルトの名無しさん2010/07/03(土) 02:10:03
>>334
自作の汎用GUIは「GUI/DLL絡みは外部テキストファイル定義」で、WSHからもコントロール可能にしてある
だから SeraphyScriptDialog,AutoItX,SFCmini のような「WSHにベース機能を提供するもの」は使わんよ

「他人がする評価」については否定も肯定もしない
因みにオレは未成年で学生だ
社会人扱いは止めてくれ
0337デフォルトの名無しさん2010/07/03(土) 13:51:54
>>336
ちなみにwin32APIにアクセスしたいときはどうしてるん?プロセス間通信とか、外部のアプリにメッセージ投げたいときとか?
0338デフォルトの名無しさん2010/07/03(土) 16:10:54
学校でも家庭でも鼻つまみ者です
0339デフォルトの名無しさん2010/07/03(土) 18:29:24
わざわざ外部ソフト入れんでも.NETやPowerShell使えばええやん
0340デフォルトの名無しさん2010/07/03(土) 22:24:23
>>339
標準語でおk
0341デフォルトの名無しさん2010/07/03(土) 23:33:34
またPowerShellかよw このスレの意味がない。
0342デフォルトの名無しさん2010/07/03(土) 23:55:49
>>337へのレスが無いね。
質問しといて遊び呆けて無ければ良いが…
0343デフォルトの名無しさん2010/07/04(日) 00:41:11
2chは煽るばっかりで難しい質問には答えられません
0344デフォルトの名無しさん2010/07/04(日) 01:14:33
VBScript コマンドから Windows PowerShell コマンドへの変換
0345デフォルトの名無しさん2010/07/04(日) 11:21:04
GUIはHTAでもいいかも。
足りない部分は外部のDll使おうが、PowerShell使おうが、
そこを関数化しておけばいいんじゃないの?
あとで簡単に置換え出来るでしょ。
Postmessageが使えるだけでもWSHやHTAから出来ることは大きく広がる。
0346デフォルトの名無しさん2010/07/04(日) 15:46:37
TextStreamオブジェクトをFunctionとかで呼んで戻すことができない・・
0347デフォルトの名無しさん2010/07/04(日) 16:40:06
>>346
あほにはできない・・
0348デフォルトの名無しさん2010/07/04(日) 19:22:33
>>346
できるよ・・
0349デフォルトの名無しさん2010/07/04(日) 21:33:20
そういやPowerShellのスレはないんだな
0350デフォルトの名無しさん2010/07/05(月) 08:54:52
win板にあるあるよ
0351デフォルトの名無しさん2010/07/05(月) 19:50:29
ボタンのあるHTMLをieオブジェクトで開いた時、
ボタンクリックのイベントをWSH側で拾うことは
可能ですか?
0352デフォルトの名無しさん2010/07/05(月) 20:09:42
はい
03533512010/07/07(水) 08:05:20
ヒントちょうだい
0354デフォルトの名無しさん2010/07/07(水) 12:34:28
JScriptでimportもどきって、こんなんでいいのかな?

function require(module){
  if(typeof this[module] == "undefined"){
    var  fso = new ActiveXObject("Scripting.FileSystemObject");
    eval(fso.OpenTextFile(module + ".js").ReadAll());
    this[module] = eval(module);
  }
}
0355デフォルトの名無しさん2010/07/07(水) 12:56:52
>>354
それだと不便だろ?
ScriptControl使え
0356デフォルトの名無しさん2010/07/07(水) 14:32:00
>>354
それだと不便だろ?
WSF使え
0357デフォルトの名無しさん2010/07/07(水) 17:10:21
// wsfでいいんじゃねえの?.wsf
// scriptControlつかおうが、readallでeval使おうが、どっちみち
// スクリプトの中からファイル読込みしてやらんと駄目だろ。
// それならwsfのほうが楽だ。
// エディタのマクロには使えんけどな。
//
// <job id='main'> <script language='JScript' src='./subinclude.js'>
WScript.Echo('wsf');
// </script></job>
0358デフォルトの名無しさん2010/07/07(水) 17:55:12
スクリプトを動的に変更する場合は、一般的にScriptControlを使用する

>>354 は必要なときにスクリプトを後付けする構造なので
何でもできるScriptControlにする方がベストだと思う

>>357 のやり方はスクリプトの一括読み込みなので構造が違う
無駄なスクリプトも全部読み込みたい場合はwsfでも良いけど
ファイル構成も異なるので使い難い
0359デフォルトの名無しさん2010/07/07(水) 18:04:38
>>358
スクリプトコントロールを使うっていっても、その元になるスクリプトを書かれたファイルを読み込まなくていいのか?
たとえばどうやって書くわけよ?
vbsのinput使うみたいな形で、scriptcontrol使ってる例はあるわな。
どうしてもその言語じゃ処理できない場合に使う方法として。
その場合は、スクリプトのなかで記述しちゃってるよね。
>>354は、メインのスクリプトファイルから外部の関数やクラスをimportしたいんだろうから、
その都度読み込もうが、wsfでも何の問題もないと思うんだが。
ScriptControlを使う場合の方法と、そのメリットを判り安く解説してみてくれ。
0360デフォルトの名無しさん2010/07/07(水) 18:12:49
vbsからjsならscriptcontrolかもしれんが、jsからjsならevalでええ、scriptcontrolつかうなんてあほくさ
0361デフォルトの名無しさん2010/07/07(水) 18:16:58
だいたいimportしたいってのは、ファイル構成をわけて、
過去に作った関数を再利用しやすくするためのもんだと思うんだが・・・
ファイル構成をわけたくなきゃ、同じファイルにその関数をコピペすりゃいいだけだが、
それやってくと、それはそれで面倒臭いこともある。
0362デフォルトの名無しさん2010/07/07(水) 18:34:23
scriptcontrolつかいたければつかえば? どうぞどうぞ とめないよ
0363デフォルトの名無しさん2010/07/07(水) 19:57:08
importしたい奴にScriptControlのほうがいいと薦めるのか?
意味がわからん。誰か解説ヨロ
0364デフォルトの名無しさん2010/07/07(水) 21:34:04
断る
0365デフォルトの名無しさん2010/07/07(水) 21:41:20
<?xml version="1.0"?><package><job id="fso"><script language="VBScript"><![CDATA[
rem objIEに走っているスクリプトを入れて関数を呼び出す Unicode で保存
Function obj(jobName) :Set Container = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
CreateObject("Wscript.Shell").Run "Cmd.exe /c Cscript.exe //Nologo " & _
"""" & Wscript.ScriptFullName & """" & " //job:" & jobName & " " & Container.HWND & _
" || (echo Error In JobInitialize. & pause) ", 6
On Error Resume Next :Do :Err.Clear:Set objScript = Nothing
Set objScript = Container.GetProperty(Container.HWND)
Loop While objScript Is Nothing : On Error Goto 0
If Err.Number <> 0 Then : Err.Raise Err.Number : End If
Set obj = objScript : Container.Quit : Set Container = Nothing :End Function
]]></script><script language="VBScript"><![CDATA[rem *** FUNCTIONS ***
Function objSelf() : Set objSelf = CreateObject("Scripting.FilesystemObject").GetFile(WScript.ScriptFullName)
End Function ]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 0 Then
Set fso = obj("fso") : msgbox fso.objSelf.Path ,32 : fso.Quit
End If]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 1 Then
PutPropertyMyself() : Zzz() : Sub PutPropertyMyself() : PropertyID = Wscript.Arguments(0) + 0
For Each objIE In CreateObject("Shell.Application").Windows : If objIE.HWND = PropertyID Then
objIE.PutProperty PropertyID, Me : Exit For
End if : Next : End Sub : Sub Quit() : WScript.Quit : End Sub : Sub Zzz() : Wscript.StdOut.WriteLine "id: " & WScript.Arguments(0)
Do : Wscript.Sleep 1000 : Wscript.StdOut.Write "Zzz..." : Loop : End Sub
End If]]></script></job></package>
0366デフォルトの名無しさん2010/07/07(水) 22:46:31
つまらん
0367デフォルトの名無しさん2010/07/08(木) 13:33:47
IEのハンドル調べて、オブジェクトとプロパティのやり取りしていろいろやるのか。凄いな。
で何が凄いんだが、解説ヨロ
0368デフォルトの名無しさん2010/07/08(木) 19:10:09
面倒だからやだ
0369デフォルトの名無しさん2010/07/08(木) 21:27:57
複数ジョブを走らせると
終了時にcmd.exe が成仏しないことに
気がつきましたので
差し替えさせていただきます

どーも すみません
0370デフォルトの名無しさん2010/07/08(木) 21:28:51
<?xml version="1.0"?><package><job id="fso"><script language="VBScript"><![CDATA[
rem よそのスクリプトの関数を呼ぶ.wsf Unicodeで保存
Function obj(jobName) : Set container = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
CreateObject("Wscript.Shell").Run "Cmd.exe /c Cscript.exe //Nologo " & _
"""" & Wscript.ScriptFullName & """" & " //job:" & jobName & " " & container.HWND & _
" || (echo Error In JobInitialize. & pause) ", 6 : On Error Resume Next : Do : Err.Clear
Set script = Nothing : Set script = container.GetProperty(container.HWND) : Loop While script Is Nothing
On Error Goto 0 : If Err.Number <> 0 Then : Err.Raise Err.Number : End If
Set obj = script : container.Quit : Set container = Nothing : End Function
]]></script><script language="VBScript"><![CDATA[Function objHere()
Set objHere = CreateObject("Scripting.FilesystemObject").GetFile(WScript.ScriptFullName).ParentFolder
End Function]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 0 Then
Set fso = obj("fso") : msgbox fso.objHere.Path, 32 : fso.Quit = TRUE
End If]]></script><script language="VBScript"><![CDATA[Dim Quit
If WScript.Arguments.Count = 1 Then : PutPropertyMyself() : Zzz() : End If
Sub PutPropertyMyself() : PropertyID = Wscript.Arguments(0) + 0
For Each objIE In CreateObject("Shell.Application").Windows
If objIE.HWND = PropertyID Then : objIE.PutProperty PropertyID, Me : Exit For : End if : Next : End Sub
Sub Zzz() : Do : Wscript.Sleep 1000 : Wscript.StdOut.Write Typename(Quit)
If Quit Then : Exit Do : End If : Loop : End Sub]]></script></job></package>
0371デフォルトの名無しさん2010/07/09(金) 17:55:11
GetObject("new:つかってみたかったのか?
CreateObject(ie)でよかろうもん
0372デフォルトの名無しさん2010/07/09(金) 18:28:23
どっちもいらんけどな
0373デフォルトの名無しさん2010/07/16(金) 21:18:50
おまいらWSHのデバッグどうしてる?
エラーダイアログ見て直す?あと個別に変数表示させる?
またはスクリプトデバッガいれてレジストリ直して//xでやってる?
もっと他にいい方法あるかな?
自分でツール作ってやってる人いるかな?
0374デフォルトの名無しさん2010/07/16(金) 22:43:29
>>373
いわゆる printf デバッグ

ただ、WScript.Echo() のままでは面倒なので、
msgout("a={0}, b={1}", [a, b])
みたいに使えるヘルパ関数は自作してる
0375デフォルトの名無しさん2010/07/16(金) 22:53:26
よく使うのは
msgbox escape()
msgbox typname()
だね
0376デフォルトの名無しさん2010/07/16(金) 23:09:08
正規表現とかの文字列処理は組み込んでからデバッグするんじゃなくて
該当部分だけ先にインタプリタ系ツールで試して問題ないことを確認してから
プログラムの本体に組み込む
0377デフォルトの名無しさん2010/07/17(土) 00:36:58
なるほどなるほど・・・
MSのスクリプトデバッガつかってるひとはいないのか。
試してみて、使いやすいとは思えなかったんでエディタと連携させて
自分で適当な関数を作ったほうがいいのかもしれんと思ったのだが・・・

デバッグに絡んで、関数の中で、実行中のその関数の名前を取得したいと思って
いろいろ試してるんだが、
functest=function(a){
s1=arguments.callee.toString() ;//だとfunction以降の中身が表示されて、関数の名前は表示されない。
s2=arguments.callee.name;// だとnetscapeでは関数の名前が表示されるらしいがJscriptでは使えない。
WScript.Echo(s1 +"\n"+ s2);
};
functest();

ということでいろいろ聞きたかったんだが
function functest(a){
とやることで名前を取得できるメドが立ちましたw
一応チラ裏ってことでメモ。
0378デフォルトの名無しさん2010/07/17(土) 13:59:43
IE8に標準のデバッガ使うのはどうだ?ラッパー関数つかって誤魔化せばどうにかなりそうだが。
0379デフォルトの名無しさん2010/07/20(火) 00:33:11
JScript(HTA)で
20→"\x20\00\00\00" // 32bitリトルエンディアン
みたいな変換をする方法があったら教えてください
バイナリ列を扱おうとして詰まった・・・(´・ω・`)
0380デフォルトの名無しさん2010/07/20(火) 01:05:23
>>379
20 => "\x14\x00\x00\x00" でよいのかな?
それでよいなら無理やりだけど以下

function SaveBin(filename, bin) {
var stm = new ActiveXObject("ADODB.Stream");
stm.Type = 1; // 1=adTypeBinary;
stm.Open();
stm.Write(bin);
stm.SaveToFile(filename, 2); // 2=adSaveCreateOverWrite
}
function CodeToBinary(code) {
var uc1 = String.fromCharCode(code & 0xffff);
var uc2 = String.fromCharCode((code >> 16) & 0xffff);
var stm = new ActiveXObject("ADODB.Stream");
stm.Type = 2; // 2 = adTypeText
stm.Charset = "UNICODE";
stm.Open();
stm.WriteText(uc1);
stm.WriteText(uc2);
stm.Position = 0;
stm.Type = adTypeBinary;
stm.Read(2);
return stm.Read(4);
}
SaveBin("binary1.dat", CodeToBinary(20))
SaveBin("binary2.dat", CodeToBinary(65536))
03813792010/07/20(火) 02:32:44
>>380
レスありがとうございます
>20 => "\x14\x00\x00\x00" でよいのかな?
そうです。>>379は誤りですorz
そのような力業しかないのですか・・・
がんばってみます
0382デフォルトの名無しさん2010/07/20(火) 03:45:38
こういうのじゃだめなん?

function toString32LE(code){
  var s = "";
  for (var i = 0; i < 4; ++i) {
    var  n = code & 0xff;
    code = code >> 8;
    s += String.fromCharCode(n);
  }
  return s;
}

function parseString32LE(str) {
  return (
    str.charCodeAt(0) +
    (str.charCodeAt(1) << 8) +
    (str.charCodeAt(2) << 16) +
    (str.charCodeAt(3) << 24)
  ) >>> 0;
}
03833802010/07/20(火) 13:13:50
>>382
以前試したとき、文字列で保持するとファイル読み書きが
うまくできなかった気がした
バイナリファイルの解析みたいなものだとそれがネックになる

逆にいえば、それを気にしないか、あるいは読み書きがクリアできるなら
確かに文字列の方が楽だと思う
JavaScriptで画像解析みたいなネタもどこかで見たので、
ひょっとするとそもそもそんな難しい問題ではないのかもしれないが
0384デフォルトの名無しさん2010/07/21(水) 03:22:23
JScriptのバイナリファイルアクセスは鬼門だよな。
書き出しはADODB.Streamをlatin-1で使えばいいとして、読み込みがしんどい。
バイナリタイプでは手も足も出ないからテキストタイプを使うしかないけど、
latin-1で読み込むと0x80-0x9fがutf-16の対応する文字に変換されちゃうし(逆変換で対応)、
utf-16で読み込むと先頭がBOMに一致する場合の対処が必要だし、
他のキャラクタセットだともっとめんどいし。
0385デフォルトの名無しさん2010/07/21(水) 15:29:48
そうかなぁ
ADODB.Stream使えば読むのも書くのも自由自在だけど
バイナリを1バイト置きにコピーしてUnicodeで見ればよい。
0386デフォルトの名無しさん2010/07/22(木) 00:54:32
結局テキストファイルほど簡単にはいかなくて、>>380みたいな変換処理が必要になるのか。
0387デフォルトの名無しさん2010/07/22(木) 02:41:08
00-ffを透過するコードページを使う
0388デフォルトの名無しさん2010/07/22(木) 19:15:04
ADODB.Streamはマカフィーが問答無用で警告を出すのでちょっと使いにくい(特にスクリプトを配布する場合)
0389デフォルトの名無しさん2010/07/22(木) 19:49:06
HTML+JavaScriptでアプリ作成の決め手になるの?Titaniumってやつ。
Windows, Linux, Mac, Andoroid,iPhoneまで同じ技術でカバー出来るらしいが。
HTAみたいなもんか? オマイらどう思う?

ここはAppcelerator Titaniumの日本語情報を整備するためのプロジェクトです。
クロスプラットフォームのアプリ開発としては非常に敷居が低く、javascriptだけでなくpythonやruby、phpなどを利用する事で、
webサービス系ライブラリの流用も可能であり、手軽なツールからサービスクライアントの作成が非常に容易になります。 * 2010/03/22 o 公開
ttp://www.appcelerator.com/products/download/

Titanium Desktopでアプリケーション開発中
ttp://blog.livedoor.jp/takabrk/archives/52647017.html

Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その1
ttp://d.hatena.ne.jp/yuichi_katahira/20100219/1266605194
0390デフォルトの名無しさん2010/07/24(土) 09:49:36
謎のオブジェクトを発見

rem a.vbs
msgbox WSH Is WScript
0391デフォルトの名無しさん2010/07/24(土) 15:39:44
>>390
ほれ

謎のオブジェクトを発見.js

for(var o in this){WScript.Echo(o);}
0392デフォルトの名無しさん2010/07/27(火) 11:04:47
//なるほど。その方法でも関数の名前が取得できるね。

getfunctionname=function(obj){
var sname;for(sname in obj){;};
return(sname);
};

funtest=function(s){
var sret=getfunctionname(this);
WScript.Echo('1 '+ function(){var s='';for(var o in this){s=o;};return(s); }() );
return(sret);
};

WScript.Echo('この関数の名前は '+ funtest() );
0393デフォルトの名無しさん2010/07/28(水) 10:14:25
ログをExecelシートに貼り付け〜なんて非生産的な作業があって、これをKeyLoggerみたいなので
自動化できればと思いまして、WSHで作れるかなと思ったのですが。
あまり詳しくないんだけども、イベントを追跡してってソフトの起動、ボタンクリック等の操作を記録で
きますでしょうか?それが無理ならキーボードのキーやマウス操作を記録して操作の再現ができますか?
0394デフォルトの名無しさん2010/07/28(水) 10:52:32
Excelのオブジェクトを操作するんじゃなくて、キー操作でうにゃうにゃしたいなら
UWSCでいいんじゃないの?日本語HELPもある。ポータブルでも動くし。
途中で複雑な判断いらない処理なら、UWSCでキー操作を記録して片付けるのがいい。
WSHに詳しくて、その技術を使って途中でいろいろ処理を分けたほうがいいとしたら、
他のソフトに絡むとこだけUWSCで記録しといたマクロをRunさせてまぜて使うとか。
またはAutoItXのDLL使って、ほかのソフトと絡む部分だけ処理させる。
USBのフォルダにシステムからコピーしたWScript.ExeやCscript.exeとmanifestとDLL使えば
UWSCと同じようにポータブルでも使える。
0395デフォルトの名無しさん2010/07/28(水) 16:58:13
excelでやれば
0396デフォルトの名無しさん2010/07/28(水) 22:50:48
ありがとうございますAutoItにUWSCですね。これはしかし動作を指定する必要がありますね。

癖とかありそうで結構手間がかかりそう。。

単純にWindows上の操作を一定期間記録して後で再現とか、できないんですかね。
0397デフォルトの名無しさん2010/07/29(木) 02:52:53
すれ違いだよ
0398デフォルトの名無しさん2010/07/29(木) 02:59:51
ソフト板で聞け
0399デフォルトの名無しさん2010/07/29(木) 03:21:57
謎のオブジェクトを発見

rem a.vbs
msgbox typename(me)
0400デフォルトの名無しさん2010/07/29(木) 05:19:19
>>396
こいつ、UWSCについて調べずに書き込んだな。
0401デフォルトの名無しさん2010/07/29(木) 08:02:10
>>単純にWindows上の操作を一定期間記録して後で再現とか、できないんですかね。
UWSCってそういうことするためのソフトなんだが・・・
0402デフォルトの名無しさん2010/07/29(木) 09:52:25
ゴメンさらっと見てそういう事ができると思わなかった。UWSC便利ですね。
複数のソフトをダウンロード&自動インストールなんて事もできるんだろうか・・
ちょっと使ってみます。どうも。
0403デフォルトの名無しさん2010/07/31(土) 17:11:20
Document.body.innerTextでWeb上の文字列を取得し
その文字列に含まれるキーワードを検索して
発見した場合の処理と見つからなかった時の処理をするにはどうしたらいいでしょうか


if ((IE.Document.body.innerText)==("文字列")) { //処理1 } else { //処理2 };

これだと動かないのです
0404デフォルトの名無しさん2010/07/31(土) 18:31:36
vbscriptならinstr()だな
0405デフォルトの名無しさん2010/07/31(土) 19:08:06
>>404
ありがとうございます
JavaScriptではどうなのでしょうか
0406デフォルトの名無しさん2010/07/31(土) 19:21:28
Stringオブジェクトのメソッドに同じようなものがあるだろ
0407デフォルトの名無しさん2010/07/31(土) 19:33:28
match()?
0408デフォルトの名無しさん2010/07/31(土) 21:22:20
if( /hogehoge/i.test(IE.Document.body.innerText)){ / * true * /;  ;}else{ / * false * / ;};

//正規表現のtestじゃだめか?
0409デフォルトの名無しさん2010/08/03(火) 15:41:46
>>403
自分は、この方法で逃げている。

if ((IE.document.body.innerText).indexOf("文字列") != -1) { // 処理1} else { // 処理2 };

VBSはシラネ
04104092010/08/03(火) 15:53:02
match()を使うなら、

if ((IE.document.body.innerText).match(/文字列/) != null) { // 処理1 } else { // 処理2 };
0411デフォルトの名無しさん2010/08/03(火) 17:43:08
Webページを操作するなら、スクリプト使うのが前提の
NilとかBugとかプニルつかって、そっちのオブジェクトつかったほうがいいんじゃない?
どうしてもIE使ったほうがいいの?
0412デフォルトの名無しさん2010/08/03(火) 20:15:08
>>409のついでに質問してみる

innerHTMLで文字列を発見した時その行のリンクをクリックするのは可能?
04134092010/08/03(火) 20:51:08
>>412
可能だとは思う。
該当するinnerHTMLが含まれている、"a"タグを特定して、.click()で出来るのでは。

自分は泥臭い方法でやってるけど、スマートな方法が有ったら教えて欲しい。

自分がやっている方法:

for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].outerHTML).indexOf("文字列") != -1) {
IE.document.all.tags("a")[i].click();
// リンクをクリック後に行う処理
break;
}
}
0414デフォルトの名無しさん2010/08/03(火) 20:54:03
>>412
リンクからたどればよい

for (i=0; i<ie.document.links.length; i++) {
if (ie.document.links[i].innerText=="リンク文字列") {
ie.document.links[i].click(); break;
}
}

もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる
0415デフォルトの名無しさん2010/08/03(火) 21:55:44
>>414
>もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる
それがやりたいけど方法が思いつかないのよね

>>413のように
IE.document.all.tags("a")[i].click();
を使えばできるかもしれないけど
これだと 目的のリンクをクリックしてくれるとは限らないというね
0416デフォルトの名無しさん2010/08/03(火) 21:59:15
>>415
indexOfで文字列を発見した所より前の文字列でIE.document.all.tags("a")[i].click();
を使う・・・あ できるかも

ちょっとソースコード書いてみる
04174092010/08/03(火) 22:09:17
>>415
>>もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる
>それがやりたいけど方法が思いつかないのよね

文字列が、aタグの外に有る場合なの?
文字列0<a href="...">文字列1</a>文字列2
で、文字列1ではなく、文字列0や文字列2を探してクリックとか。

確かに面倒だね。
.parentNodeとか、.previosSiblingや.nextSiblingとか、ゴチャゴチャ使わないと駄目そうだね。
04184092010/08/03(火) 22:10:27
もう眠い。
今日は寝る。
0419デフォルトの名無しさん2010/08/03(火) 22:13:23
>>417
<a href="...">文字列1</a>文字列2

文字列2を検索するのは
if ((IE.document.body.innerText).indexOf("文字列2") != -1)
文字列1を検索するには 文字列2より前の文字列を検索する必要がある


0420デフォルトの名無しさん2010/08/03(火) 22:20:14
>>419
調べてみたら使えそうなものがあった
lastIndexOf

これでソースコードを完成できるよ みんなありがとう
0421デフォルトの名無しさん2010/08/03(火) 22:43:38
for (i=0;i< IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].outerHTML).lastIndexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();

これじゃだめなのか・・・
04224092010/08/04(水) 06:50:25
>>421
それ、後方から文字列を探すやつ。
前方から探すより、後方から探す方が探す時間が短い場合が有るから、そういう時に自分は使っている。
例えば、文字列1と文字列2が、非常に酷似していて、最後の数文字だけが異なる様な場合、比較回数が多分少ないのではないかと…

<a href="...">[文字列A][文字列1][文字列B][文字列2][文字列C]</a>

とかの場合。
04234092010/08/04(水) 15:22:56
>>421
HTMLのタグ構造がどうなっているか示さないと、一体何をしたいのか分からないと思うよ。

(1) <div><a href="...">文字列1</a>文字列2</div>
となっているのか、
(2) <a href="...">文字列1</a><p>文字列2</p>
となっているのか等。

(1) の場合、
for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].parentNode.indexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();
break;
}
}


(2) の場合、
for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].nextSibling.outerHTML).indexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();
break;
}
}

とかじゃ駄目かな?
試してないから分からないけど。
04244092010/08/04(水) 15:29:47
それより、JScriptからファイルをランダムアクセスする事って出来ないのかなぁ?
JScriptから利用出来るフリーのDLLとか有れば良いんだけど。

Perl等のファイルにランダムアクセス可能なスクリプトからIE操作すれば、一番良いんだろうけど、
PerlもVBも分かんねーし。
0425デフォルトの名無しさん2010/08/04(水) 18:06:24
>>ファイルをランダムアクセスする
???
0426デフォルトの名無しさん2010/08/04(水) 21:24:12
>>424
adodb.streamは?
0427デフォルトの名無しさん2010/08/05(木) 08:18:18
IEのボタンクリック
VBSだとちゃんとできるのにJScriptだとできないなぜだぁぁぁぁ


<form action="." method="post" >
<input type="hidden" name="...." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="...." class="">
<center>
<input type="submit" value="..." class="...">
</center>
</form>

VBS : IE.Document.Forms(0).Item(6).click
JScript : IE.Document.forms(0).Item(6).click();

0428デフォルトの名無しさん2010/08/05(木) 09:31:37
これも反応しない

<input type="text" value="" size="20" class="test">

IE.Document.forms(0).Item(0).value = "あああ"
0429デフォルトの名無しさん2010/08/05(木) 10:22:11
そういうことなら、その部分だけとりあえずはスクリプトコントロールで逃げといて、あとでじっくり考えるw
0430デフォルトの名無しさん2010/08/05(木) 22:30:49
JScriptで普通にいけるんじゃないの?

ie = new ActiveXObject('InternetExplorer.Application');
ie.visible = true;
ie.navigate('http://www.google.co.jp/')
WScript.Sleep(2000);
ie.document.forms(0).item(2).value='WSH';
ie.document.forms(0).item(3).click();
0431デフォルトの名無しさん2010/08/06(金) 08:25:47
>>430
どうもそのページだけできないんだ

入力フォームをクリックするとフォームの横に文字が表示されるものだから Inputタグのclassが怪しいと思うんだが
04324092010/08/06(金) 12:13:20
>>431
nameやclassの属性がformsになっていたりしない?
0433デフォルトの名無しさん2010/08/06(金) 12:30:33
>>432
なってない
さすがにそんなミスはない

0434デフォルトの名無しさん2010/08/06(金) 13:04:00
wshでツールチップを指定した座標位置に表示させることは可能ですか?
0435デフォルトの名無しさん2010/08/06(金) 13:16:46
AutoItX使えば出来る。
oAutoIt = new ActiveXObject( "AutoItX3.Control.1" );
oAutoIt.ToolTip("WSH★★★こんばんみ★★★Part7",500,500);
0436デフォルトの名無しさん2010/08/08(日) 11:53:00
if文でWEB上にボタンがある時の処理とない時の処理をする方法ってある?

04374092010/08/08(日) 19:39:00
>>436
outerHTMLを取得して、解析すれば良いだけでは?
ボタンがFlashとか、HTML以外だと厄介だけど。
見た目がボタンでも、 type = "button" の場合と、 type = "image" の場合が有るから、また厄介だけどね。
0438デフォルトの名無しさん2010/08/08(日) 21:17:28
>>437
なるほどそれがあったか・・・
と なると

if ((IE.Document.body.outerHTML)==(IE.Document.forms[0])) {
WScript.echo("YES")} else{WScript.echo("No")}

こうかな・・・
04394092010/08/08(日) 21:33:13
>>438
それだと、うまくいかないでしょ。
0440デフォルトの名無しさん2010/08/08(日) 21:58:08
>>439
となると

if ((IE.Document.body.innerText)==(IE.Document.body.innerText.indexOf("form"))){ //処理 } else { //処理2 }

こう・・・でもないな
0441デフォルトの名無しさん2010/08/08(日) 22:07:32
innerTextでページ内のHTMLを・・・

・・・あれ?


if ((IE.Document.body.innerHTML)==(IE.Document.body.innerHTML.indexOf("form")))
これでもだめ?
0442デフォルトの名無しさん2010/08/08(日) 22:13:58
innerHTMLでページ内のHTMLを全部取り出すんだから
innerHTML.indexOf("文字列") で検出した文字列とinnerHTMLのソースと照らし合わして処理・・・じゃないのか?
ならなんで動かないのかと
04434092010/08/08(日) 22:15:05
>>441
その条件式では、左辺値と右辺値は永遠にイコールにはならないから。
0444デフォルトの名無しさん2010/08/08(日) 22:22:21
>>443
IE.Document.body.innerHTML.indexOf("form")は文字列を検出して表示するんじゃないのか?

文字列があるならその文字列を表示してなければ-1だったはずだが
それと左辺値を比較して左辺値の文字列の中に右辺値の検出した文字列があれば処理1 なければ処理2じゃないのか?

0445デフォルトの名無しさん2010/08/08(日) 22:33:22
あぁ・・・そういうことね

左辺値からすでに間違えていたのか俺は

if((IE.Document.body.innerHTML.match("form")==("form"))

左辺値がソース全体だったら右辺値はformだけでソースとまったく一致しない
ならば左辺値をソース全体からformだけを検出し なければnull それを右辺値と比較

こんな簡単なことに気付かなかった自分が恥ずかしいわ。。。
04464092010/08/08(日) 22:39:18
>>444
indexOfの説明を良く読んだ方がいいと思う。

ttp://www.microsoft.com/downloads/details.aspx?familyid=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d&displaylang=ja
から、 scd56jp.exe をダウンロードし、インストールすればヘルプファイルがインストールされると思う。

直リンクはこちら
ttp://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe

結構役に立つ。
あと、 IE Developer Toolbar も便利。
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
0447デフォルトの名無しさん2010/08/09(月) 01:17:32
http://www.mbga.jp/.pc/_u?u=14965811&_root=msg_list
http://www.mbga.jp/.pc/_dia_list?u=14965811&_from=u_dia
この子ね

>>403 と全く同じ質問しててワラタ
ポイント稼ぐために、必死こいてスクリプト組んでるみたいよw
0448デフォルトの名無しさん2010/08/09(月) 09:59:26
>>447
ワロタ
なんだこのハゲ リアルでのハゲなのか?w
0449デフォルトの名無しさん2010/08/09(月) 13:35:23
IEで
document.location.reload() はできて
document.location.back() はできないんだな
0450デフォルトの名無しさん2010/08/09(月) 13:51:43
document.histry が使えないって・・・
04514092010/08/09(月) 18:45:15
ところで、WSH使いって、仕事の案件等の為に使っている人と>>447みたいな人とどっちが多いの?

自分は>>447の様な理由でやってるだけだけどさ。
プログラムは20年近く昔に学生の頃に授業でFortran77とLispのS式を習った程度。
学生時代、一緒だった人は何だか未踏のスーパークリエイターで表彰台に上っている写真がIPAのサイトに掲載されてたけどさ。

楽天のメルマガが1週間で2千通を超えるので、メルマガ解除用のスクリプトでも書くか…
0452デフォルトの名無しさん2010/08/11(水) 17:17:28
過疎だなぁ

WSHってそんなにマイナーかな
0453デフォルトの名無しさん2010/08/11(水) 17:25:57
作者タンがカキコしてくれないからな。
0454デフォルトの名無しさん2010/08/11(水) 17:40:27
ハゲでも誰でもいいから来てくれ…
0455デフォルトの名無しさん2010/08/13(金) 01:19:09
みんな暇そうだから質問投下


VBSで多重起動を防止するのをJSでできるか


FSOだとロックファイルの作成と削除はできるけど 重複した時の処理が分からない
0456デフォルトの名無しさん2010/08/13(金) 04:56:28
>VBSで多重起動を防止するのをJSでできるか
この意味が分からないけど、
単純に多重起動を抑止するなら、

1. アプリ起動時にロック用フォルダを作成
2. アプリ起動時にロック用フォルダを削除

1. のフォルダ作成に失敗したらほかのインスタンスが起動中なので、メッセージを表示して終了
でダメなの?
0457デフォルトの名無しさん2010/08/13(金) 17:11:53
http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx

Nanalich 5 Aug 2010 7:50 PM
Is it still possible to use the new JScript engine with ECMAScript 5 features outside of IE?
Like in WSH and/or HTA?

EricLaw [MSFT] 6 Aug 2010 6:55 AM
JScript9.dll is not presently supported for use outside of IE9, HTAs, and Web Browser controls,
so no, it won't be loaded by WSH.



もしかしてWSH切り捨て?
04584552010/08/14(土) 20:10:13
VBSでいう Err.Number はJSではどういう使い方?


VBSでの二重起動防止の方法をJSに直してみたんだけど Err.Numberだけ使えないんだ
0459デフォルトの名無しさん2010/08/14(土) 20:57:05
VBScript
何らかの処理
If Err.Number <> 0 Then
エラーの処理
End If

JScript
try {
何らかの処理
} catch (e) {
エラーの処理
}

vbs ではオプションによるが、エラーが発生したときでも、
処理は継続し、その代りにエラーコードが Err.Number にセットされる
js ではエラーが発生すると例外が発生し、try〜catchで捕まえないとアプリケーションが終了する
04604552010/08/14(土) 21:23:35
>>459
サンクス
ScriptControlで on error resume next を呼び出してErr.Numberの代わりにすることにした


あと
FSOでファイルを削除するプログラムをmakeexeでexeにすると うまく動かないのは俺だけ?


Test.js
(略)
FSO.DeleteFile("Test.exe",true)


これをexeにして起動しても削除できないようです
0461デフォルトの名無しさん2010/08/16(月) 13:57:47
>>457
つまりWSHの進化はこれで止まって、枯れた技術になり、仕様の変更とかややこしいこと考えなくて済むようになるってことか?
0462デフォルトの名無しさん2010/08/16(月) 20:21:32
馬鹿っぱやいJScriptのHTAとかは作ってみたかったかも
0463デフォルトの名無しさん2010/08/20(金) 19:42:58
IEオブジェクトを使ってスクリプトとスクリプトの間で共有メモリみたいな感じで通信=相互にデータのやり取りしようと思ってます。
データのやり取り専用のIEオブジェクトを最初に1つ作っといて、終了せずにずっと使い続けるって形です。
Shell.ApplicationでそのIEのオブジェクトを探して、そこにプロパティ付けて通信するってことです。
XPとIE8だと、new ActiveXObject('InternetExplorer.Application')でIEオブジェクトをつくって
そこにプロパティを付けて、値を設定すればスクリプト間でデータのやり取りができました。
で、Vistaでも試したら問題なく動きました。
ところが、XPとIE6の古いPCではすぐにIEオブジェクトが消えてしまうようでうまく行きません。
ウィンドウを開いた普通のブラウザのIEオブジェクトに対してならデータのやり取りは出来ましたが、
ユーザーが何の気なしにそのウィンドウを閉じたらオシマイです。
ウィンドウなしのIEオブジェクトならそんな心配がないのでいい方法だと思ったんですが、
うまくいかない環境があるようです。結局、このPCはWindowsUpdateしてIE8の環境にまであげたらIEオブジェクトは消えずに通信できました。
となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?
簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw
テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?
0464デフォルトの名無しさん2010/08/20(金) 20:08:54
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no
0465デフォルトの名無しさん2010/08/22(日) 13:32:25
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no

そのものズバリのオブジェクトを公開するコンポーネントってのがある。こっちのほうが簡単。
>>このコンポーネント(COMサーバー)は、指定した COMオブジェクトを外部に公開し、
>>他のアプリケーションからアクセス出来るようにするものです。
RunObj.exe /RegServer で40KBのファイルを入れるだけ。
var ro = new ActiveXObject('Hyon.RunObject');
ttp://hyons.hp.infoseek.co.jp/#RunObjectComponent
これでオブジェクトを作った側のプロセスが生きてる限り、オブジェクトのプロパティを共有できる。
相互に通信したいならこれで行ける。
0466デフォルトの名無しさん2010/08/23(月) 13:36:56
DDE通信なら田楽サーバと田楽DLLでもいいんじゃね?
0467デフォルトの名無しさん2010/08/24(火) 11:31:25
質問。 ScriptControlのAddObjectって一回に1つのオブジェクトしか追加できないんですか?
0468デフォルトの名無しさん2010/08/24(火) 23:05:27
IScriptControl.AddObjectの定義を見ると1つだけのようだ。
[id(0x000009c4), helpstring("Add an object to the global namespace of the scripting engine"), helpcontext(0x00113f4d)]
void AddObject(
[in] BSTR Name,
[in] IDispatch* Object,
[in, optional, defaultvalue(0)] VARIANT_BOOL AddMembers);
0469デフォルトの名無しさん2010/08/25(水) 14:01:43
サンクスです。ScriptControl AddObject でググッても多くの資料は出てこないようですが、
どこかに判りやすい解説をしてるページはありますか?
0470デフォルトの名無しさん2010/08/26(木) 00:28:57
ググッたんなら↓見たろ? これじゃダメかい?
スクリプト コントロールの AddObject メソッドを使用する方法
ttp://support.microsoft.com/kb/185697/ja
0471デフォルトの名無しさん2010/08/26(木) 01:01:56
そもそもCOMに可変長引数ってあるの?
0472デフォルトの名無しさん2010/08/26(木) 01:25:28
ScriptControl.Run("Name", arg1, arg2, ... argn) とか、ふつうにやるじゃんか。
MIDL上はSAFEARRAY(VARIANT)になってるみたいね。
[id(0x000007d3), vararg, helpstring("Call a procedure defined in the global module"), helpcontext(0x00113f09)]
VARIANT Run(
[in] BSTR ProcedureName,
[in] SAFEARRAY(VARIANT)* Parameters);
0473デフォルトの名無しさん2010/08/30(月) 22:05:56
WSHShell.Environment("Process");

でItemを作って他のファイルに変数を渡そうとしてるんだけど 文字化けして
-1.#IND
になってしまうのですがどうすればいいでしょうか
0474デフォルトの名無しさん2010/08/30(月) 22:43:40
>>473
他のファイルってのが何かわからないけど、
環境変数はプロセス毎のもので子プロセスにしか
引き継がれないからではないだろうか
0475デフォルトの名無しさん2010/09/04(土) 20:46:22
てs
0476デフォルトの名無しさん2010/09/04(土) 20:47:30
Open OfficeのプログラムIDってありますか?
0477デフォルトの名無しさん2010/09/04(土) 20:49:32
サゲ進行なんですかね
失礼
0478デフォルトの名無しさん2010/09/04(土) 21:04:18
>>476
やったことないけどこのへん参考になるのかな
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge
04794672010/09/04(土) 21:13:49
>>478
ありがとうござます
公式にページがあったんですね。

エクセルよりめんどくさそう…
0480デフォルトの名無しさん2010/09/14(火) 06:26:28
WMIか何かで、起動中のプロセスのコマンドラインオプションを得る方法はないでしょうか?
Win32_Process では取得できないみたいで…
0481デフォルトの名無しさん2010/09/14(火) 06:48:14
Win32APIのならわかるが
0482デフォルトの名無しさん2010/09/14(火) 07:05:10
SFC miniとか使ってやるのでしょうか?
Win32APIは使ったことがないので、教えてください
0483デフォルトの名無しさん2010/09/14(火) 10:50:32
>>480
XP以降ならWin32_ProcessのCommandLineで取れるよ
0484デフォルトの名無しさん2010/09/14(火) 13:49:05
ありがとうございます。それで取れました。
http://www.anchorsystems.jp/anchor/ashp/netmon/samples/wmi_os.html#Win32_Process.htm
に載ってなかったので、そもそも無いのかと思ってました。
0485デフォルトの名無しさん2010/09/14(火) 14:19:09
ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1006.mspx
0486デフォルトの名無しさん2010/10/09(土) 17:41:15
Windows Script Host のエラーダイアログを非表示にすることはできませんか?
0487デフォルトの名無しさん2010/10/09(土) 17:56:45
try catchとかon error resume nextとかやればいいんでないの
0488デフォルトの名無しさん2010/10/09(土) 18:19:36
try catchでもエラーが出るようなんです

underfined はNull またはオブジェクトではありません
0489デフォルトの名無しさん2010/10/09(土) 18:53:24
そりゃ underfined はそうだろうね。
0490デフォルトの名無しさん2010/10/10(日) 20:06:36
そうだね、ごめん。
0491デフォルトの名無しさん2010/10/24(日) 14:40:44
001.txtから150.txtまでの空のテキストファイルを任意のフォルダに一括作成する方法を教えてください
0492デフォルトの名無しさん2010/10/24(日) 14:48:19
そんなのをWSHでやるのは面倒臭い
0493デフォルトの名無しさん2010/10/24(日) 14:48:55
set fso = wsh.CreateObject("Scripting.FileSystemObject")
for i = 1 to 150
 fso.CreateTextFile(right("00" & i, 3) + ".txt")
next
0494デフォルトの名無しさん2010/10/24(日) 14:49:15
>>492
何でやれば楽なんですか?
よろしけば教えてください
04954912010/10/24(日) 14:54:40
>>493
できました。
ありがとうございます。
0496デフォルトの名無しさん2010/10/24(日) 14:56:47
逝ってヨシ
0497デフォルトの名無しさん2010/10/24(日) 15:00:14
コマンドプロンプトのバッチでやるとかどう?
0498デフォルトの名無しさん2010/10/24(日) 15:14:20
>>497
スレ違い
http://hibari.2ch.net/test/read.cgi/tech/1277465356/
0499デフォルトの名無しさん2010/10/24(日) 23:36:14
30分くらいのやり取りで完結してしまうとかスタックオーバーフロー並だな
過疎スレの癖にw
0500デフォルトの名無しさん2010/10/24(日) 23:38:44
m9

くやしいのう くやしいのう
0501デフォルトの名無しさん2010/10/25(月) 00:39:32
>>493
right("00" & i, 3)
コレに気づかず
if a < 100 then gyoubangou = "0" + a
if a < 10 then gyoubangou = "00" + a
なんて事してた。
サンクス。
0502デフォルトの名無しさん2010/10/25(月) 01:24:06
2ch は心の荒んだ人の溜り場だな
0503デフォルトの名無しさん2010/10/31(日) 13:54:53
△心の荒んだ人の溜り場
○ヒトが心の歪みを、吐き出す場所。
0504デフォルトの名無しさん2010/11/01(月) 20:30:07
32bitで動いてるか64bitで動いてるかどうやって判定する?
0505デフォルトの名無しさん2010/11/01(月) 20:38:35
wscript.fullname
0506デフォルトの名無しさん2010/11/01(月) 21:41:24
タスクマネージャ見れば32bitで動いてるプロセスは
firefox.exe * 32
みたいになってる
0507デフォルトの名無しさん2010/11/01(月) 22:18:52
貧乏人は32bit。所得が高い人は64bit。顔を見れば判る。
0508デフォルトの名無しさん2010/11/02(火) 01:07:29
>>504
ttp://blog.livedoor.jp/otonagecom/archives/2903082.html
0509デフォルトの名無しさん2010/11/02(火) 01:13:13
if( typeof( koumuin ) == "object" ){
WScript.Echo("あなたは勝ち組64bitです")
}else{
WScript.Echo("あなたは消費とは無縁な32bitです")
}
0510デフォルトの名無しさん2010/11/02(火) 16:54:11
32bit winの32bit ieと64bit winの64bit ieが区別でけんな
0511デフォルトの名無しさん2010/11/02(火) 18:11:28
folderexist("c:\windows\syswow64")
0512デフォルトの名無しさん2010/11/22(月) 21:12:19
WindowsXPでコマンドプロンプトを使用しています。
colorコマンドや、cmd /t:である程度色は変更可能ですが、
ショートカットファイルでの設定
ttp://cmd-pro.com/pro_color.html
のように、もっと色を細かく指定したいと考えています。

WSHのCreateShortcutで、色を指定したショートカットファイルを作ることはできないでしょうか?
よろしくお願いします。
0513デフォルトの名無しさん2010/11/22(月) 23:48:36
\HKEY_CURRENT_USER\Console
の中に ColorTable00 〜 ColorTable15 っていうのがデフォルト 16 色

個別の設定は標準の cmd.exe なら
\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

C:\hoge\fuga\hage.exe なら
\HKEY_CURRENT_USER\Console\C:_hoge_fuga_hage.exe

に ColorTableNN を追加
05145122010/11/23(火) 06:35:27
>>513
ありがとうございます。
いけました。
0515デフォルトの名無しさん2010/11/23(火) 09:08:57
Vistaだとうまくいかないみたいだけどwindows7ではどうなんだろう?
0516デフォルトの名無しさん2010/11/23(火) 09:43:25
\HKEY_CURRENT_USER\Console\ショートカット名(.lnkを除く)

の ColorTableNN を上書き
で逝けました
0517デフォルトの名無しさん2010/11/23(火) 10:10:12
ありがとうございます。
いけました。
0518デフォルトの名無しさん2010/11/23(火) 11:14:45
>>516
それWindows7での話?
0519デフォルトの名無しさん2010/12/04(土) 19:35:44
cscriptから起動してるときにウィンドウのタイトルをjscriptから変えるにはどうしたらいいんだろ?
0520デフォルトの名無しさん2010/12/05(日) 03:46:26
new ActiveXObject("WScript.Shell").Exec("cmd.exe /c title newtitle")
0521デフォルトの名無しさん2010/12/05(日) 13:39:12
ありがとうございました。いけました。
0522デフォルトの名無しさん2010/12/06(月) 22:47:48
IEをバージョンアップしてjscript.dllが新しくなったらWSH上のJScriptも早くなるの?
0523デフォルトの名無しさん2010/12/06(月) 23:07:55
IE9からはJSscriptがIE内臓になって、COMの形で提供されなくなるらしい
0524デフォルトの名無しさん2010/12/06(月) 23:18:07
それならそれでいいや。htaの動作や仕様はそこで固まるってことでいいわけ?
0525デフォルトの名無しさん2010/12/08(水) 13:59:36
vbscriptも?
0526デフォルトの名無しさん2010/12/11(土) 19:29:48
スクリプトエラーがexitcodeで判定できないの?
0527デフォルトの名無しさん2010/12/12(日) 16:48:40
スクリプトでは0以外返せば、0ならエラーと分るな
0528デフォルトの名無しさん2010/12/14(火) 16:51:05
なるほど 裏をかくわけですね
0529デフォルトの名無しさん2010/12/15(水) 05:58:57
「ファイル名を指定して実行」をコマンドから起動したいのですが、
方法が解りません。なにか方法はないでしょうか?
0530デフォルトの名無しさん2010/12/15(水) 07:48:11
send,#r
0531デフォルトの名無しさん2010/12/15(水) 12:59:41
「ファイル名を指定して実行」をコマンドから起動でぐぐれ

ttp://scripting.cocolog-nifty.com/blog/2006/11/r_77cc.html
0532デフォルトの名無しさん2010/12/15(水) 13:41:54
すれ違いだろ このすれではshell.filerunだろ
0533デフォルトの名無しさん2010/12/15(水) 14:35:13
なんでそんな事したいのか解んねw
0534デフォルトの名無しさん2010/12/15(水) 19:39:35
コマンドでもスクリプトでもどっちでもよいが、コマンドラインを「ファイル名を指定して実行」に送れるとよいのだが、無理だろな
0535デフォルトの名無しさん2010/12/15(水) 20:51:29
startじゃだめなん?
0536デフォルトの名無しさん2010/12/15(水) 21:29:54
昔はsendtoxがあったけどな
0537デフォルトの名無しさん2010/12/16(木) 12:19:40
うほおお
ありがとう!>>530-536
0538デフォルトの名無しさん2010/12/17(金) 17:36:46
>>534
MRU書き換えてから開けば?
0539デフォルトの名無しさん2010/12/18(土) 18:41:41
今は Send To Toys 2.6 てえのがある
0540デフォルトの名無しさん2010/12/27(月) 21:43:22
wshからexcelブック開いて
あるシートの最終行を取得したいんだけど
どうしたらいいかな?
LastRow = objExcel.Range("$A$1").End(xlDown).Rowとか
.objExce.Cells.SpecialCells(xlLastCell).Address とかやると
rangeプロパティのcellsオプションがとってこれねぇ!
って怒られるんだけど。(objExcelはエクセルオブジェクトね)
0541デフォルトの名無しさん2010/12/27(月) 21:57:35
work(current)book,work(current)sheetの指定が必要
0542デフォルトの名無しさん2010/12/27(月) 22:51:31
ありがとう
そして今度はまた違うエラーが出るんだが

objExcel.workbooks("C:\test.xlsm").worksheets("data").Range("A5").End(xlDown).Row

未知の実行時エラー 800A03EC

マイクロソフトのページによるとアカウントの権限が
なんちゃらかんちゃら
よくわからんのだが
0543デフォルトの名無しさん2010/12/27(月) 23:04:56
馬鹿には無理
0544デフォルトの名無しさん2010/12/27(月) 23:05:14
すんまそん
0545デフォルトの名無しさん2010/12/27(月) 23:16:08
UsedRangeが使えなかったっけ?
ってか、WSH?
0546デフォルトの名無しさん2010/12/27(月) 23:17:38
ってか釣り
0547デフォルトの名無しさん2010/12/27(月) 23:32:52
悲しいかな釣りではない
今オブジェクトライブラリの設定してる
0548デフォルトの名無しさん2010/12/27(月) 23:39:52
UsedRange.Rowで開始位置はとれた。
なんでEnd(xlDown)が使えないの…

お前らの反応からしてかなりあほな原因なんだろうな
0549デフォルトの名無しさん2010/12/27(月) 23:42:59
xlDownに値が入ってないんだろうな
0550デフォルトの名無しさん2010/12/27(月) 23:53:15
とれた。
ありがとう
いいヒントだった
0551デフォルトの名無しさん2010/12/28(火) 01:00:42
予想通りかなりあほな原因だったな
0552デフォルトの名無しさん2010/12/28(火) 15:27:59
でもさ、いろんなサイトで
(xlDown)ってそのまま使ってるんだぜ?
何あれ、エクセルマクロVBA専用なのか?
0553デフォルトの名無しさん2010/12/28(火) 15:36:19
>>545
これってWSHっぽくない書き方なの?
0554デフォルトの名無しさん2010/12/28(火) 15:40:56
>>553
option explicitを知らんのか
0555デフォルトの名無しさん2010/12/28(火) 15:52:25
>>554
上のほうについちょるよ。
馬鹿で申し訳ないんだけど
explicitステートメントとWSHぽくない
関係がよくわからんのだけど
0556デフォルトの名無しさん2010/12/28(火) 18:43:44
>>552
Yes, we can.
0557デフォルトの名無しさん2010/12/28(火) 22:37:37
>>556
but I can't

まぁ、でも実家帰る前に解決してよかったわthx
じゃあお前らまた来年ノシ
0558デフォルトの名無しさん2010/12/29(水) 18:11:24
wshって将来なくなるの?
0559デフォルトの名無しさん2010/12/29(水) 20:52:26
powershellになるんじゃね?
0560デフォルトの名無しさん2010/12/29(水) 20:54:36
psつまらん
0561デフォルトの名無しさん2010/12/30(木) 13:01:55
そんな簡単にはなくならんだろ
趣味で使ってるヤツらは切ってしまえばグチグチいいながらもなんか他のに移るだろうけど
業務で使ってるヤツがごろごろしてるだろうからいきなり切ったらそういう人種が大騒ぎするぞ
0562デフォルトの名無しさん2010/12/30(木) 16:39:44
cmd.exeがなくなったか?
command.comがなくなったか?
0563デフォルトの名無しさん2010/12/30(木) 17:26:20
エントロピーは増大する
0564デフォルトの名無しさん2010/12/30(木) 18:19:46
VBSなんですけど、例えばIEオブジェクトに自作のメソッドを追加することってできますか?
0565デフォルトの名無しさん2010/12/31(金) 04:17:17
IEコンポーネント使ってます。
通常、ボタンのclickで新しいウインドウが開くページなのですが
「ポップアップはブロックされました。Ctrlキーを押しながら...」とステータスバーに表示されます。
ポップアップを表示させるにはどうすればよいでしょうか?
ちなみにそのポップアップは無視したままで構いません。
0566デフォルトの名無しさん2010/12/31(金) 11:20:25
馬鹿か?
0567デフォルトの名無しさん2011/01/02(日) 08:54:18
どうすれば良いと?
0568デフォルトの名無しさん2011/01/04(火) 14:42:43
https://www.miraiz.bz/Template/Index/
にあるテンプレートを全て一括してダウンロードしたいです。wshでできますか?誰か作ってくれませんか?
0569デフォルトの名無しさん2011/01/04(火) 22:01:34
馬鹿か?
0570デフォルトの名無しさん2011/01/05(水) 13:35:18
>>569
貴方ほどバカではありません。
0571デフォルトの名無しさん2011/01/05(水) 14:53:33
五十歩百歩ってこと?
0572デフォルトの名無しさん2011/01/05(水) 21:01:56
言いたいだけだろうよ
0573デフォルトの名無しさん2011/01/07(金) 08:31:25
バカですか?
YES→なら帰れ
NO→なら自分で作れ
0574デフォルトの名無しさん2011/01/07(金) 16:25:20
サイトからリンクたどってダウンロードしてくれるソフトなんて、山ほど有るのに、wshでやりたいバカで、自分で作れないバカ。
馬鹿面ライダーダブルってカンジ?
0575デフォルトの名無しさん2011/01/07(金) 16:42:11
>>574
途中でフォームの入力があるよ。
馬鹿?
0576デフォルトの名無しさん2011/01/07(金) 19:53:56
お前ら罵り合ってないで
タイピングにいそしめよ
0577デフォルトの名無しさん2011/01/07(金) 21:55:30
タイピストかよw
0578デフォルトの名無しさん2011/01/07(金) 23:40:40
罵りあうのにタイピングしてる件
0579デフォルトの名無しさん2011/01/16(日) 09:47:06
みんなWindows7つかってる?
WSHとかってXPの頃と変りなく使えてる?
0580デフォルトの名無しさん2011/01/16(日) 10:10:46
Cygwinの動きがおかしい
0581デフォルトの名無しさん2011/01/16(日) 17:06:03
>579
自分も知りたいです。
PCのハードが不調で、ついでに7に移行しようか検討中...
0582デフォルトの名無しさん2011/01/16(日) 17:34:08
>>579
Windows 7 64bitでWSHもHTAも特に問題なく使えてる。
0583デフォルトの名無しさん2011/01/17(月) 01:10:43
>>582
サンクス
HTAも問題ないってのは朗報だね。

でも、IEのバージョンが上がると
HTAの方で出来ることも変わったりするから
油断は出来ねぇ
0584デフォルトの名無しさん2011/01/17(月) 03:41:06
でも、IEのバージョンが上がると
WSHの方で出来ることも変わったりするから
油断は出来ねぇ

0585デフォルトの名無しさんNGNG?PLT(23456)
IE9beta入れてるけど大抵のことはできること変わんないと思うよ。
あまり凝ったものは組んだことないけど、今までのものは普通に動いてる。
05865832011/01/18(火) 17:35:11
ごめん別にWSHがIEの影響を受けるって意味じゃなくて
WSH使ったプログラム書くときに
IEに関係する機能を利用してると って事で。
0587デフォルトの名無しさん2011/01/18(火) 18:59:58
ビスタから7はあまり変わらんかもしれんがxpからビスタや7は大変よ
ie.navigate 保護モード無効のサイト
が初っ端から動かんからな
0588デフォルトの名無しさんNGNG?PLT(23456)
>>586
そういうことか。申し訳ない。
0589デフォルトの名無しさん2011/01/29(土) 18:13:04
お前らプログラム組む時どんな感じなの?
サンプルコピペでちょっと変えて…
の繰り返しって感じ?
0590デフォルトの名無しさん2011/01/29(土) 18:49:18
アプリケーションプログラムではそれもあるけど、スクリプトはほぼベタ書き
精々コードスニペットから自前の雛形引っ張ってくるくらい
スクリプトなんて、サンプル探すより自前で書いた方が早いようなことにしか使わないし
0591デフォルトの名無しさん2011/01/29(土) 20:40:41
>>589
最初に、まずダーっと書く。
自分で用意してある関数群は使う場合があるけど
小さいプログラムやスクリプトの場合は使わない。

で、ある程度書いてから整理の方針を決めて
全体像を決めてから整理する。
主にGUI作るときはこんなん。
0592デフォルトの名無しさん2011/01/29(土) 23:56:31
>>589
サンプルって言うか、自分の書き溜めたコードを雛形にして
書き起こしていくことが多いな・・・
0593デフォルトの名無しさん2011/01/30(日) 05:40:13
書き捨て用のものと再利用を考慮したものでは書き方も変わってくる
0594デフォルトの名無しさん2011/01/30(日) 19:34:34
WSHではあまり書き捨てはやらんな。
常に使っていればいいけど、
たまにしか使わなくなるとなると、メソッドとか思い出すのにちょっとめんどい。
0595デフォルトの名無しさん2011/02/06(日) 15:56:59
最近、VBScript で書き上げても、移植性のなさ、この先のサポートを考えると、一抹の不安が残る今日この頃。
0596デフォルトの名無しさん2011/02/06(日) 17:50:26
移植性のなさって具体的に何?
0597デフォルトの名無しさん2011/02/06(日) 18:17:44
power shellに移行だな
0598デフォルトの名無しさん2011/02/07(月) 00:45:34
>>595
移植性なんか心配してるヒマがあったら、
未来のおまいのために、コードをきれいに仕上げてコメント付けとけ。
0599デフォルトの名無しさん2011/02/07(月) 14:56:34
言語を変えるのを移植とは言わんだろ
0600デフォルトの名無しさん2011/02/07(月) 17:08:00
convertibility
0601デフォルトの名無しさん2011/02/08(火) 10:09:16
>>599
うーん…
簡単にプログラミング言語を変えられない現状を鑑みれば、移植と言って良いと思うな。
そもそも、キミの言う移植がアセンブラレベルの意味合いっぽいじゃん?
もう、誰も、そんな事してないじゃん?
0602デフォルトの名無しさん2011/02/08(火) 14:59:27
あたまわるそう
0603デフォルトの名無しさん2011/02/28(月) 16:37:18.39
index=folderitem.getlink.geticonlocation(path)
pathはbyref string
wshでpathを得るにはどうすればよいのですか?
wshでは不可能ですか?
0604デフォルトの名無しさん2011/02/28(月) 16:47:28.84
普通にやればいいだけだと思うけど
0605デフォルトの名無しさん2011/02/28(月) 18:53:40.12
無理だろ 諦めろ
0606デフォルトの名無しさん2011/03/01(火) 18:50:09.10
wshじゃ内部型stringのvariant型の参照渡しだもんな
0607デフォルトの名無しさん2011/04/17(日) 00:11:31.36
IEが起動しているかどうか調べる方法ってございませんか?
起動してない場合に特定の処理したいので・・・
0608デフォルトの名無しさん2011/04/17(日) 00:14:59.65
>>607
WMI使えば出来るよ

WMIはWSH専用ではない汎用ライブラリで
WSHとは別物でありスレ違いになるので、ここでの詳細解説は伏せる
0609デフォルトの名無しさん2011/04/17(日) 00:59:27.00
>>607
shell.applicationのshellwindows
0610デフォルトの名無しさん2011/04/17(日) 12:43:48.33
AppActivateでChromeをアクティブにしてSendkeysでF5を押してページをリロードしたいのですが、F5が効きません
IEとFirefoxは問題なくできました。
ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
なのでALT+Dを送信してからF5を押せばいいのかと思い"%D"を送ってみたのですがアドレスバーにフォーカスが移りません
Chromeでページをリロードできるところまで何とかやりたいのですが解決方法ございませんか?
0611デフォルトの名無しさん2011/04/17(日) 12:44:34.31
↑
晩生は打ち間違えですので読み飛ばしてください
06126102011/04/18(月) 00:19:37.81
どうやらF5が効かないのではなくてアクティブになってないようでした
ただ、コードを実行するとChromeが前面に表示されるのですが(Chromeを最小化した状態でも)、どうもChromeの上の青い箇所が薄くなってました(メモ帳で言えば灰色の状態)
Chromeの仕様上WSHでは無理なんでしょうか?
0613デフォルトの名無しさん2011/04/18(月) 15:21:08.85
メモ帳だってappactivate直後のsendkeysは受付ねーが?
適当にsleepしろ
0614デフォルトの名無しさん2011/04/18(月) 15:22:38.38
↑sleep 5000って書いてあんぞ
0615デフォルトの名無しさん2011/04/18(月) 16:15:39.03
それがどうした?
0616デフォルトの名無しさん2011/04/18(月) 16:29:18.91
質問者はsleep書いてるのにsleepしろは矛盾している
0617デフォルトの名無しさん2011/04/18(月) 17:57:39.92
質問者はsleepしてsendkeysしたと書いてるかバカめ
0618デフォルトの名無しさん2011/04/18(月) 18:49:42.87
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
0619デフォルトの名無しさん2011/04/18(月) 20:45:09.98
>その間にアドレスバーにフォーカスを手動で移して晩生
これが見えぬか
0620デフォルトの名無しさん2011/04/18(月) 21:14:18.24
手動にしないとF5が効かないって意味じゃないか。
>>619お前ずっと書き込みしてる人?静観してたけどお前がレスすると話がおかしくなるから黙ってがいいよ。
06216102011/04/18(月) 22:43:31.43
解決できました
0622デフォルトの名無しさん2011/04/18(月) 23:39:08.17
FireFoxなら指定時間毎の自動更新が出来るけどChromeにはそういう機能はないの?
0623デフォルトの名無しさん2011/04/19(火) 19:04:50.94
SendKeysはいいんだけどマウス動かす方法ないの?
0624デフォルトの名無しさん2011/04/19(火) 23:40:59.55
MouseでなくWindowを動かせば?相対的なもんだろ?
0625デフォルトの名無しさん2011/04/19(火) 23:52:03.13
Windows 転送ツールを使ってユーザープロファイルをコピーするのを、
WSHで定期的にタスクで自動実行したいのですが、簡単な方法はありますか?
代替えでAIKつかってコマンドでできるそうなのですが、
うまくイメージがとれませんでした。
0626デフォルトの名無しさん2011/04/20(水) 11:52:54.52
>>624
windowの中をSendKeysで処理したい場合でTABキー移動もできない場合は?
0627デフォルトの名無しさん2011/04/21(木) 01:18:09.34
sendkeys "% m{right}"
0628デフォルトの名無しさん2011/04/21(木) 07:49:23.22
>>627
いや、だから…
例えばブラウザでサイト閲覧してて
SendKeysで入力フォームを自動入力させる処理があるとする
普通ならTABをSendKeysで送ってやれば入力フィールドから次のフィールドにフォーカスが当たる
しかし、FlashやTAB遷移できない要素はマウスでonFocusやonClickする必要がある
これをWSHでどうやればいいだろうかと
0629デフォルトの名無しさん2011/04/21(木) 09:44:55.12
チーター乙
0630デフォルトの名無しさん2011/04/21(木) 11:50:47.68
>>629
ゲーム等のbotプログラムをわざわざWSHでやろうとは思わんよ
業務自動化の使用範疇だよ
0631デフォルトの名無しさん2011/04/22(金) 18:27:34.48
口調が気に食わない
0632デフォルトの名無しさん2011/05/17(火) 19:23:55.22
wsh で c:\Program Files のように標準のプログラム保存フォルダを取得ってできないの?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
見てみたけど無いんだよね。
0633デフォルトの名無しさん2011/05/17(火) 19:39:21.95
%ProgramFiles%
0634デフォルトの名無しさん2011/05/17(火) 19:56:48.72
>>633
ありがとうございます。
0635デフォルトの名無しさん2011/05/21(土) 21:38:02.65
下記コードのhtmlにアクセスしたら、
指定のURLにリダイレクトさせたいんですが、
どうすればできるでしょうか?
『例』
<SCRIPT LANGUAGE="VBScript">
<!--
// リダイレクト先のパス指定
http://www.yahoo.co.jp/
-->
</SCRIPT>
0636デフォルトの名無しさん2011/05/21(土) 22:52:30.15
スレ違い・・・・・じゃなかった板違い
0637デフォルトの名無しさん2011/05/22(日) 13:00:28.56
ツールチップを表示したいのですが参考になるページございませんか?
0638デフォルトの名無しさん2011/05/23(月) 10:32:32.56
Win7デスクトップで[並び替え]→[名前]を二回連続で繰り返すwshください
0639デフォルトの名無しさん2011/05/23(月) 17:54:38.56
1回ものはどこかで見たがなぜ2回?
0640デフォルトの名無しさん2011/05/23(月) 20:50:52.50
sendkeys
0641デフォルトの名無しさん2011/05/26(木) 03:41:37.18
>>639
降順じゃね?
0642デフォルトの名無しさん2011/05/30(月) 05:54:47.25
ファイル名を全角→半角にリネームする際にリネーム後のファイル名が重複した場合に
aaa(1).txtというように番号をふって対処したいのですがどのように書いたら良いでしょうか?

〜〜〜
function rename(f) {
var new_name = full_to_half(f.Name);
var new_path = f.ParentFolder.Path + "\\" + new_name;

0643デフォルトの名無しさん2011/05/30(月) 05:57:15.06
つづきです。

if (new_name != f.Name) {
if (fso.FolderExists(new_path) || fso.FileExists(new_path)) {
???
}
〜〜〜
0644デフォルトの名無しさん2011/05/30(月) 08:41:00.90
パスをカンマより前とカンマ以降に分けて変数に格納
c:\hoge\aaa.txt
なら
前="c:\hoge\aaa"  後=".txt"

次に連番化用の変数作って

var 連番文字変数 = "";
var 連番カウンタ変数 = 1;

あとはループ作って

new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

ループ抜けたらnew_pathにリネーム

これだけ


最初の「前 + 連番文字変数 + 後」では、連番文字変数が空だから
「"c:\hoge\aaa" + "" + ".txt"」=「c:\hoge\aaa.txt」

二回目は「連番文字変数」に「"(" + 連番カウンタ変数 + ")"」が入っているから
「"c:\hoge\aaa" + "(1)" + ".txt"」=「c:\hoge\aaa(1).txt」
06456422011/05/30(月) 13:51:29.91
>>644
ご丁寧にレスを下さり有難うございます。
早速試してみたのですが、
この場合だと全角のaaa.txtを半角へとリネームする際に
既にaaa.txtとaaa(1).txtが存在しているとaaa(2).txtとはならずに
aaa(1).txで重複のエラーになってしまいます。
このような場合に無限に連番で処理することは出来ないのでしょうか?
0646デフォルトの名無しさん2011/05/30(月) 13:59:34.54
new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

はループ内に入れたか?
ループ内に入れてあれば
> 無限に連番で処理
されるはずだが、というか実際にされているが
06476422011/05/30(月) 22:09:05.71
>>646
すいません、できました。
親切にお答えいただき有難うございました。
0648デフォルトの名無しさん2011/06/07(火) 13:53:05.03
質問します。
IEのキャッシュを削除するスクリプトを使用したいと思っています。
そこで、下の URL のスクリプトを実行してみましたが、

C:\Documents and Settings\(ユーザー名)\Local Settings\Temporary Internet Files

内のファイルは一切削除されませんでした。
Temporary Internet Files フォルダ自体を削除することを試してみましたが、
「書き込みできません」とエラーが発生しました。
WSHでIEのキャッシュを削除する方法をご存じの方は、ご教示ください。

(環境)
Windows XP SP3
IE 8

0649デフォルトの名無しさん2011/06/07(火) 14:45:35.02
エクスプローラのツリーからは何故か見えないんだけど
実際には Temporary Internet Files\ の下に更に Content.IE5\
というフォルダがあって更にその中の複数のサブフォルダの中にファイルがある

下の URL のスクリプト ってどれよ?
06506482011/06/07(火) 15:49:30.04
>>649
レスありがとう。そして間違えました。
URLのつもりがキャッシュフォルダのパスを書きました。
正しくは下のやつです。

http://gallery.technet.microsoft.com/scriptcenter/ffcb9491-3df6-4540-a378-a7c61f0b707e/

なお、Content.IE5 以下のフォルダを WSHで削除しようとしても、
「書き込みできません」とエラーが発生します。

何卒、お知恵をお貸しください。
0651デフォルトの名無しさん2011/06/07(火) 16:34:27.94
確かに出るね
IEを終了させたら出なくなったから
使用中のキャシュは消せないんだろうね
0652デフォルトの名無しさん2011/06/07(火) 18:03:52.91
Scripting Guy!はあほじゃね?
cache.vbsとかみたほうがよくね?
0653デフォルトの名無しさん2011/06/07(火) 18:28:31.84
>>651-652
レスありがとうございます。

こちらではIEの起動の有無にかかわらず
「書き込みできません」のエラーがでました。

また、cache.vbs の CacheClear.VBS を試してみましたが、
同スクリプトの17行あたりで
「エラーを特定できません」とのエラーダイアログ表示され、
エクスプローラーでキャッシュフォルダが開かれるだけでした。

そこで該当部分をコメントアウトして実行してみたところ、
エラーは表示されないものの、キャッシュフォルダ内のファイルなどは
一切消されないままでした。

引き続きご教示をよろしくお願いします。
0654デフォルトの名無しさん2011/06/07(火) 19:02:11.42
cacheclear.vbsパッケージのcacheclear2.vbsなんかどう?
06556502011/06/07(火) 19:36:13.03
>>654
ありがとうございました。
CacheClear2.VBS でうまく削除できました。
あぁ、本当に助かりました。4日くらい試行錯誤しまくっていました。
0656デフォルトの名無しさん2011/06/07(火) 20:49:47.42
C.C.クリーナーみたいなソフトはインストールしたくない、或いは、サクっとキャッシュだけ削除したいから、スクリプトなのかな?
なんか、必死なワリにはググる事しないんで、なんか変だなと思って。w
0657デフォルトの名無しさん2011/06/07(火) 23:42:55.23
Scripting Guy!が出鱈目書いてると思わなかったんだろ
さっさとこっちで聞けば教えてやったのに
0658デフォルトの名無しさん2011/06/08(水) 01:13:27.47
なるほど…
0659デフォルトの名無しさん2011/06/13(月) 19:56:37.20
ぽるぽと…
0660デフォルトの名無しさん2011/06/17(金) 22:30:04.22
InternetExplorer.Applicationオブジェクトで質問なのですが、
・JavaScriptを実行させる
・ページの一番下までスクロールさせる
にはどうやればいいでしょうか?
0661デフォルトの名無しさん2011/06/17(金) 23:34:40.57
Document.Scriptか
Document.parentWindowがwindowオブジェクトなので
そこからevalか何かでどうぞ
0662デフォルトの名無しさん2011/06/18(土) 00:13:12.39
スクロール
ie.document.parentWindow.scrollTo(0, ie.document.body.scrollHeight)

JavaScript実行
ie.document.parentWindow.eval("alert(123)")
または
ie.document.parentWindow.execScript("alert(456)")

なお、該当ページにもともと一切のスクリプトが含まれていない場合、
ie.document.parentWindow.eval()
は失敗するので注意のこと
(IE8 with Windows7 で確認)
0663デフォルトの名無しさん2011/06/18(土) 00:16:32.38
scrollIntoView
0664デフォルトの名無しさん2011/06/18(土) 23:42:29.48
>>662
execScriptはスクリプト無効で使えんよ
0665デフォルトの名無しさん2011/06/19(日) 02:13:51.98
>>664
意味が分からない

自分の環境では、下のスクリプトの実行結果が SUCCESS, SUCCESS, ERROR, SUCCESS ってなるんだけど
使えないってどういうこと?

function foo(url) {
ie.navigate(url);
WScript.Sleep(3000);
ie.document.parentWindow.WScript = WScript;
try {
ie.document.parentWindow.eval("WScript.Echo('eval() SUCCESS');");
} catch(e) {WScript.Echo("eval() ERROR");}
try {
ie.document.parentWindow.execScript("WScript.Echo('execScript() SUCCESS');");
} catch(e) {WScript.Echo("execScript() ERROR");}
}
ie = new ActiveXObject("InternetExplorer.Application");
ie.visible = true;
foo("http://www.yahoo.co.jp/");// scriptが含まれるページ
foo("http://www.jaipa.or.jp/ipv6day/");// scriptが含まれないページ
0666デフォルトの名無しさん2011/06/19(日) 03:32:32.70
そのまんまスクリプト無効のゾーンでは使えん
0667デフォルトの名無しさん2011/06/19(日) 07:49:43.41
ADODB.Steam.LoadFromFile()てファイル全部メモリに読み込むんだな
XPsp3(32bit 4GB)で1.8GB弱のバイナリファイル読ませたらメモリ不足になることがあった
wshでこういうファイルを扱ういい方法はないものか
0668デフォルトの名無しさん2011/06/19(日) 08:10:54.77
部分的に読み込んだらいいんじゃない?
0669デフォルトの名無しさん2011/06/19(日) 15:26:18.02
細かく分割してファイルにして書きだして後から操作する。
ちょっと時間かかるがしょうがない。
0670デフォルトの名無しさん2011/06/20(月) 08:29:44.73
>>666
だったらスクリプト有効にすればいいだろ
06716602011/06/20(月) 09:31:05.44
>>661 >>662
できました。ありがとうございます。
0672デフォルトの名無しさん2011/06/21(火) 17:59:22.78
>>670
ことわる
0673デフォルトの名無しさん2011/06/21(火) 21:03:48.56
>>672
断れません
0674デフォルトの名無しさん2011/06/21(火) 22:30:20.28
スクリプト無効でもできる方法あるのに断ればいいじゃん
0675デフォルトの名無しさん2011/06/22(水) 14:09:25.19
どうやるのどうやるの
0676デフォルトの名無しさん2011/06/22(水) 15:57:15.71
>>675
ことわる
0677デフォルトの名無しさん2011/07/03(日) 15:43:12.47
WScript.Echoって、真偽値を"true" "false"みたいに
文字列で表示してくれないの?


WScript.Echo(func()); #=> 0 or -1

こうじゃなくって、trueかfalseで表示してほしいんだけど
0678デフォルトの名無しさん2011/07/03(日) 16:14:23.83
trueかfalseで表示するようにすればいいだけじゃん
0679デフォルトの名無しさん2011/07/03(日) 16:50:06.25
>>678
いちいち?
0680デフォルトの名無しさん2011/07/03(日) 16:56:59.72
WScript.Echo(func()?'true':'false');
0681デフォルトの名無しさん2011/07/03(日) 22:14:30.52
WScript.Echo(func().toString());
または
WScript.Echo(""+func());
0682デフォルトの名無しさん2011/07/03(日) 22:29:51.52
>>681
ハラショー
EchoをラップしてtoStringの結果を出力する関数使うわ
ありがとう
0683デフォルトの名無しさん2011/07/04(月) 11:13:20.06
1バイト分の16進数を10進数に直接変換する方法ってないかな?
現在、下のような処理を513行書いて凌いでるが、長すぎる…
X = objText.Read(2)'テキストファイルから16進数を呼び出してます
Select Case X
Case "FE"
Y = 254
0684デフォルトの名無しさん2011/07/04(月) 12:18:46.24
Eval("&H"+X)
0685デフォルトの名無しさん2011/07/04(月) 12:37:20.28
>>684
513行かかった処理が1行で終わるとは…感激したっす。激しく感謝!
0686デフォルトの名無しさん2011/07/10(日) 02:58:11.11
NASにおいてある.jsファイルをダブルクリックすると出てくるセキュリティ警告がテラウザイ・・・
なんか良い警告の抑止方法はないですかね?
0687デフォルトの名無しさん2011/07/10(日) 06:59:26.13
おまいらFileSystemObjectとかWScript.Shellとか使うとき
どんなオブジェクト名にしとる?
objFSOとかが多いみたいだけど。
俺は oFs、oWs みたいな感じ
0688デフォルトの名無しさん2011/07/10(日) 07:13:03.17
FSO, WShellにしてる
0689デフォルトの名無しさん2011/07/10(日) 09:03:35.98
>>687
俺は oFs、oSh な感じ
oWsはExcelのワークシートにしてる
0690 忍法帖【Lv=7,xxxP】 2011/07/10(日) 09:12:23.42
なでしこ勝利おめこ
0691デフォルトの名無しさん2011/07/10(日) 09:14:28.05
スクリプトはエディタでの色分けの関係で、未だにハンガリアンでやってる
数値や文字列などの値型変数と、オブジェクトなどの参照型変数を色分けしたいのだが
FSOやWScript.Shellみたいに、1個作れば事足りるものばかりなら、単語登録すれば良いが
XML、HTTP、ADOStreamなどは複数のインスタンスを同地に使う場合もあるし
FSOでも下位のFile、Folderオブジェクトとかは複数作ることも多いので
やはり決まったプレフィックス付けて正規表現で色分けするのが手っ取り早いからな

普通のプログラム言語では、もうハンガリアン使ってないけど、
昔はプログラム言語もハンガリアンでやっていて、ハンガリアンはすっかり身に浸みているから、
スクリプトとプログラム言語で記法を変えても混乱はしない
0692デフォルトの名無しさん2011/07/10(日) 21:31:53.75
要約して
0693デフォルトの名無しさん2011/07/11(月) 00:59:08.69
2chの1レスの文字数制限無いに収まるカキコすら読めないような奴に
スクリプト、プログラム言語を扱うのは無理じゃね?
0694デフォルトの名無しさん2011/07/11(月) 05:47:33.80
スクリプト、プログラムにしろ、無意味な長文は苦痛なだけ
0695 忍法帖【Lv=8,xxxP】 2011/07/11(月) 08:31:19.23
そうだぬ
0696デフォルトの名無しさん2011/07/11(月) 11:52:25.84
意味のある文章や処理の意味を見いだせない奴を無能と呼ぶ
0697デフォルトの名無しさん2011/07/11(月) 15:21:58.39
意味のない文章や処理をだらだら書く奴を無能と呼ぶ
0698デフォルトの名無しさん2011/07/12(火) 06:04:47.91
自己紹介?
0699デフォルトの名無しさん2011/07/12(火) 10:40:10.94
菅ガンス
0700デフォルトの名無しさん2011/07/13(水) 11:34:10.87
米倉
0701デフォルトの名無しさん2011/07/13(水) 20:38:22.49
向かい側に座ってる女の人のスカートが短か過ぎて困る
0702デフォルトの名無しさん2011/07/14(木) 00:23:47.87
>>691
エディタ何使ってんの?
俺はemacs系エディタ
色分けは最低限でよくね?慣れだとは思うけど

変数名はFOやwsって感じで2文字が多いかなぁ
0703デフォルトの名無しさん2011/07/14(木) 20:37:27.84
>>685
clng使えよ
0704デフォルトの名無しさん2011/07/19(火) 20:03:10.02
parseInt使えよ
0705デフォルトの名無しさん2011/08/03(水) 22:26:40.15
VBSで、ドライブ上のテキストファイル全てを対称に、キーワードを検索する処理を行う
処理としては、対象ファイルを一時ファイルにコピーして、一時ファイルから読み込んで検索、という感じ

ところが、現実に存在していて、アクセス中でも隠しファイルでもない普通のファイルが「見つからない」といって53のエラーをはき出す事が頻繁に発生する。

どんな理由が考えられる?
訳あって、コードは載せれないけど。

すごく困っているので教えて!! いや、教えて下さい。
0706デフォルトの名無しさん2011/08/03(水) 22:40:40.59
ファイル名くらい載せろ
0707デフォルトの名無しさん2011/08/04(木) 02:36:09.08
考えられることはコードが間違ってるってことだな
13行目7桁目を調べろ
0708デフォルトの名無しさん2011/08/04(木) 05:40:59.53
>>705
アクセス権

つか、エラー発生行ぐらい載せられるだろ
みんなエスパーじゃねえんだ
0709デフォルトの名無しさん2011/08/04(木) 22:42:01.24
見られたらまずいんだろ
0710デフォルトの名無しさん2011/08/06(土) 13:52:56.48
>>705
フォルダー名が違うとか、そんなんじゃないの?

Pathの組み立てに、
Path = Folder & "\" & Filename
とか、安易にやっちゃってんじゃないの?
Path = FSO.BuildPath(Folder, Filename)
ってやった方がいいよ
0711デフォルトの名無しさん2011/08/06(土) 14:29:32.35
えすパー自慢?
0712デフォルトの名無しさん2011/08/07(日) 01:47:18.64
>>686
これどうよ?
http://journal.mycom.co.jp/column/winvista/005/index.html
0713デフォルトの名無しさん2011/08/11(木) 08:54:36.23
CopyHereって、失敗しても何も言わないの?
zipファイルの中にコピーしようとしてるんだけど、
コピーできてないのになんのエラーも出さずに終わる

ちゃんと圧縮待ちはしてるのに
07147132011/08/11(木) 10:05:47.92
追記
圧縮待ちは、下の2通りをためしました
・Items().Countが増えるまで待つ
 →いくら待っても増えなかった
・1秒待ってからOpenTextFile(zipfile,8,FALSE)でエラーなく開けるまで待つ
 →すぐに開けてしまった
0715デフォルトの名無しさん2011/08/11(木) 21:22:37.44
まっそういうもんだな
07167052011/08/13(土) 18:07:34.54
えーと、705です。

社のPCにあるので、コード全文はのせられないん(持ち出せない)だけど、ファイルを検索する部分は
ttp://md1000.cocolog-nifty.com/blog/2008/09/wsh-5d65.html
のコードを流用しています。
ファイルが見つかったら、のところで、

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))

Next


アクセス権にも問題はありません。

07177052011/08/13(土) 18:15:11.57
途中で書き込んでしもた

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))
if Ext="txt" then
TextCheck(temp2)
enf if
Next

みたいな感じで、このTextCheckというのが、テキストの全文検索ルーチンです。

引数のテキストファイルを一時ファイルにコピーして内容を検査する、という処理ですが、アクセス権にも問題が無く、実際に存在しているのに「書き込めません」とかってエラーになる。
でも、実際には一時ファイルはその都度作成しています。
いくつか検証したら、xpの場合、必ず同じフォルダでエラーを起こす。また、7の場合だと、"Application Data\Application Data...."の無限ジャンクションで処理を勝手に辞めてしまって終了してしまいます。
とにかく、ドライブ中の、アクセス権があるテキストファイルをまんべんなく検索して処理する、というのがうまくいっていないみたいです。

このTextCheckルーチン自体を単体のスクリプトとして動作させた場合には問題がないので、原因とは考えられません。
0718デフォルトの名無しさん2011/08/13(土) 18:32:10.65
>>717
「GetExtensionNameで拡張子をとってみてtxtだったら
 TextCheck() というサブルーチンに投げてる」
ってだけ?
エラー内容の方が大事なんだが

>現実に存在していて、アクセス中でも隠しファイルでもない
>普通のファイルが「見つからない」といって53のエラーを
>はき出す事が頻繁に発生する。
どこでエラーが出てるか確認してみたら?
GetExtensionNameの時にエラーが出てるんか?
取ろうとしてるフォルダは普通の場所なんだよね。
Application Data とか普通じゃない雰囲気がぷんぷんするんだが。
0719デフォルトの名無しさん2011/08/14(日) 21:06:52.69
FoundFileに何を設定してんのかな?
07207052011/08/15(月) 11:14:29.92
あ、失礼。Foundfileはtemp2。
0721デフォルトの名無しさん2011/08/15(月) 16:11:15.08
temp2のデフォルトプロパティはなんだっけ?
0722デフォルトの名無しさん2011/08/15(月) 17:34:31.19
つーか、書き込めないって事は、テンポラリーフォルダーへのコピーに失敗してるんじゃないの?

TextCheckのルーチン内に原因があったりしてな
0723デフォルトの名無しさん2011/08/15(月) 21:41:07.64
圧縮ファイルをテンポラリに解凍して、解凍ファイルを読みに行く処理を書いた時
「ファイルが見つからない」ってなるユーザーがいて、その時はウエイトを掛けて
回避した。
0724デフォルトの名無しさん2011/08/16(火) 15:40:06.08
>>716
>ttp://md1000.cocolog-nifty.com/blog/2008/09/wsh-5d65.html
>のコードを流用しています。

みたけどやめとけ ましなサイトがあるだろ 
0725デフォルトの名無しさん2011/08/16(火) 16:03:46.63
>>717
いたるところにログを書き出すルーチン組み込んでみれ。
0726デフォルトの名無しさん2011/08/16(火) 19:22:32.45
ファイル列挙中のフォルダの配下のファイルを操作したせいで、
列挙処理がおかしくなってるとか
0727デフォルトの名無しさん2011/08/17(水) 09:07:29.77
一つ疑問なんだが、一時コピーする必要はあるのか?
本体そのものにアクセスするんじゃまずいわけがあるの?

もしかして他のアプリが開いてる可能性のあるログファイルの類なんじゃ…
ロックされててアクセスできないとか。
07287052011/08/18(木) 21:25:22.77
皆さん、ありがとうございます。取り急ぎ、レスへの回答です。

>>727
えーと、一時コピーする理由は、本体を必要とする他のアプリに影響を与えないようにスナップショットを取るためです。
ただし、この処理を行うときは、他の常駐アプリやサービスはウィルス検査等も含め、停止させています。

>>726
それはないです。過去に作成したきりで、全くアクセスしていないファイルでも同じように発生します。

>>725
ログじゃないですが、stopでデバッガが起動する、という事らしいのですが私の環境ではデバッガのデの字も起動しません。
もちろん、デバッガ本体はインスコしてますが、7には非対応とか?

>>723
ウェイトと、あと無限ループでファイルのコピーが終わったら次の処理、というのは試してみましたが、結果は同じでした。
0729デフォルトの名無しさん2011/08/19(金) 09:34:14.95
>>728
起動しないデバッガで、何をするつもりなの?
甘えてないで、ログ取れば?
0730デフォルトの名無しさん2011/08/19(金) 10:27:26.30
>>705
そもそもどんなエラーメッセージが出力されているかもわからず回答できるわけが無い。
デバッガを起動できないならログ出力の関数を自作してデバッグすればいいだけのこと。
ログ出力の関数のコードすら書けないということなら論外。

もしかしてalertさえも使ったこと無いのか?
0731デフォルトの名無しさん2011/08/19(金) 21:53:28.77
見てて、あると思うか?
0732デフォルトの名無しさん2011/08/20(土) 06:47:48.55
>>731
無いと思うw
07337052011/08/20(土) 11:29:25.11
>>729
処理の至る所にログ吐き出し処理を入れてみました。やはり、ちゃんと存在していて、アクセスされていないディレクトリをを削除しようとしているときに「書き込みできません」になったりしてます。
でも、そのディレクトリを削除するためだけのスクリプトを別に作って削除したらちゃんと削除できるんですよね。
つまり、[削除前処理]→[フォルダ削除]ってやろうとしているときに、じつは[削除前処理]が終わっていないって事なんでしょうか。

>>730
alertは使ったことないですが、msgboxでErr.Descriptionを表示させてます。
0734デフォルトの名無しさん2011/08/20(土) 16:19:24.86
いつからディレクトリ削除の話になったんだ?
それなら十中八九まるまるに決まってるじゃん
でも問題を後出しにするような奴には教えん
0735デフォルトの名無しさん2011/08/20(土) 17:34:34.61
>>705
自分で解決しようっていう意思が全く無いなw
ここで嘘でもいいからそうだって言われれば安心するならあえて言おう。

甘ったれるなw
0736デフォルトの名無しさん2011/08/20(土) 19:30:19.14
サイトの自己宣伝だろw
他人が参考にするようなもんじゃないもの
0737デフォルトの名無しさん2011/08/20(土) 19:31:23.31
そうだな レベルが合ってる 偶然にしては出来過ぎだな
0738デフォルトの名無しさん2011/08/20(土) 23:06:12.16
>>733
>>710が、すげーヒントをくれてるのに、何で無視してるん?
まじ、自分でやる気がないのな
0739デフォルトの名無しさん2011/08/21(日) 00:49:16.37
そういえば、処理完了前に次の処理をしようとしたせいで上手くいかないって状態の時に
原因解明のためにMsgBox出したら、それによって処理かぶりが無くなってしまい
「観測すると現象が起きなくなる」
という、まるで量子力学かのような状態になって アルェー って成ったことが
みんな一度はあるんじゃないか?

直ぐ気づくというか、こうなった時点で答えが分かるようなもんだけど。
0740デフォルトの名無しさん2011/08/21(日) 04:20:17.43
HDDの"ディスクの書き込みキャッシュを有効にする"って設定は関係あったりするの?
0741デフォルトの名無しさん2011/08/21(日) 05:21:42.24
関係ないと思うが。
0742デフォルトの名無しさん2011/08/21(日) 05:27:57.08
聞 く 前 に 何 で 試 さ な い の か ?
0743デフォルトの名無しさん2011/08/23(火) 13:50:48.70
め ん ど う だ か ら
0744デフォルトの名無しさん2011/08/25(木) 12:58:23.99
つまりそれは、出来ないんじゃなくて
やらないだけだな

もういいだろ
0745デフォルトの名無しさん2011/08/26(金) 10:52:22.28
t
0746デフォルトの名無しさん2011/09/05(月) 17:53:14.02
WindowsXPを使用しています。

WSHから外部アプリケーション(例えばメモ帳)を起動するときに
起動位置を座標指定して起動することはできないのでしょうか?
できるようであれば方法を教えて下さい。
0747デフォルトの名無しさん2011/09/05(月) 18:31:55.20
>>746
Win32使えばできる
WSHじゃないけど、ここが参考になるかも
http://dobon.net/vb/dotnet/process/movewindow.html
0748デフォルトの名無しさん2011/09/05(月) 20:16:04.41
Win32って、Win32APIのことかな?
わざわざWin32APIなんて使わなくても、WMIで出来るよ
そもそもWin32APIはWSHから直接使えないしw
0749デフォルトの名無しさん2011/09/05(月) 20:53:02.38
うそだろ
0750デフォルトの名無しさん2011/09/05(月) 20:54:12.05
WSHからPowerShellをキックすりゃえーよ
07517462011/09/05(月) 21:32:39.78
レスありがとうございます。

>>747
WSHからWin32APIを使用する方法がわからず、参考URLを元に
VB.NETで作っているところです。

>>748,750
PowerShellからもできるんですね。WSHというこだわりはないので
(ショートカットをダブルクリックしたら指定プログラムを指定座標で起動したい)
PowerShellでの方法も調べてみます。
WMIの存在もはじめて知りました。こちらも調べてみます。
0752デフォルトの名無しさん2011/09/05(月) 21:37:04.60
>>750
それ「直接」じゃないでしょ。
0753デフォルトの名無しさん2011/09/05(月) 21:49:57.56
>>750 は
WSHやめてRubyやPythonにした方がいいね
0754デフォルトの名無しさん2011/09/05(月) 22:08:49.01
>>749
何が嘘だと?
WMIで出来るのは事実だし、WSHからWin32APIが直接呼べないのも間違いじゃないだろ。
0755デフォルトの名無しさん2011/09/06(火) 12:40:38.37
>752
WSHで「直接」なんて意味ないでしょ。なんだって間接でしょ?
0756デフォルトの名無しさん2011/09/07(水) 00:16:33.27
WSH から PowerShell は、「直接」呼べるけど、PowerShell スクリプトは、PowerShell を
通して「間接」的に実行するってことでしょ。

WSH は、どっかで Win32API の CreateProcess( ) { かどうかはわからんが、似たような
API } を使ってるから間接だという主張なの?
0757デフォルトの名無しさん2011/09/07(水) 02:44:28.20
間接的に、呼び出した何かでどうこうするって話なら
なんぼでもやりようあるからな。
0758デフォルトの名無しさん2011/09/07(水) 12:52:38.10
WindowsXpにて手動でデスクトップのアイコンを全て表示/非表示に切り替える事ができますが、
これでWSHで実装する事は可能でしょうか?

手動だとデスクトップで右クリック→i→dでできる操作をWSHで実装し、ショートカットアイコンにショートカットキーを
設けてキー操作で簡単に行いたいのです。
最悪SendKeysで、と思ったのですが、デスクトップ上で右クリックする際デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。因みに右クリックはSendKeys でShift+F10を実行している。
0759デフォルトの名無しさん2011/09/07(水) 14:34:39.36
選択" "
解除"^ "
0760デフォルトの名無しさん2011/09/07(水) 14:58:23.96
f5
07617582011/09/07(水) 18:41:42.93
>>759
意味不明なり

>>760
更新じゃないです
アイコン非表示は手動でやれば直ぐ消えます
F5とか不要です
0762デフォルトの名無しさん2011/09/07(水) 20:22:40.18
デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。

759 :デフォルトの名無しさん:2011/09/07(水) 14:34:39.36
選択" "
解除"^ "


760 :デフォルトの名無しさん:2011/09/07(水) 14:58:23.96
f5
0763デフォルトの名無しさん2011/09/07(水) 21:03:39.56
ShellFolderView.SelectItem
0764デフォルトの名無しさん2011/09/07(水) 21:37:41.23
hideicons
0765デフォルトの名無しさん2011/09/08(木) 08:27:21.55
>>762-763
個人的にはSendKeysは使いたくなかったので理解できませんでした。すいません

>>764
レジストリをすっかり見落としていました
有り難う御座います
無事解決しそうです
07667582011/09/08(木) 10:14:52.72
ダメだできない。分からない
>>759ってどう言う事なんでしょうか?
F5でアイコンフォーカスを外せる事は分かったのですが
07677582011/09/08(木) 10:17:29.55
すいません、理解できました
sendkeysで実装するしかないんですかね、やっぱ
0768デフォルトの名無しさん2011/09/08(木) 14:28:25.53
現状
var ws = WScript.CreateObject('WScript.Shell');
//デスクトップをを表示(こいつが上手く機能してくれない)
ws.run('C:\\hoge\\desktop.lnk');
WScript.Sleep(1000);
ws.SendKeys('{F5}');
WScrip.Sleep(1000);
ws.SendKeys('+{F10}');
WScript.Sleep(200);
ws.SendKeys('i');
WScript.Sleep(200);
ws.SendKeys('d');
しかもこれだとデスクトップ表示中には使えない
デスクトップ表示切り替えいい方法ないですかね?
0769デフォルトの名無しさん2011/09/08(木) 15:19:54.35
なにが死体ん?
07707582011/09/08(木) 16:16:01.50
>>768は>>758です
すいません
やりたい事は>>758
結局sendkeysで実装中
で、問題が1点
デスクトップ上で>>768を実行すると上手くいきますが
別のウィンドウが立ち上がっているとアクティブウィンドウ上で>>758を走らせるだけなので失敗します
アクティブウィンドウがあるか?今現在デスクトップを表示しているのか?
を判定する術はありますでしょうか?
0771デフォルトの名無しさん2011/09/08(木) 16:22:30.35
If ws.AppActivate("program manager") Then
0772デフォルトの名無しさん2011/09/08(木) 21:07:23.51
レジストリ変えても反映されんな なんか方法ない?
0773デフォルトの名無しさん2011/09/08(木) 21:22:38.81
面倒だから、vc++にしちゃいなよ。
#include <Windows.h>

int main(int argc, char* argv[])
{
HWND hWnd;
BOOL status;
hWnd = FindWindow("ProgMan",NULL);
status = ShowWindow(hWnd,SW_HIDE);
if(!status){
ShowWindow(hWnd,SW_SHOW);
}

return 0;
}
0774デフォルトの名無しさん2011/09/09(金) 01:09:48.28
thx!
0775デフォルトの名無しさん2011/09/09(金) 14:57:24.17
「デスクトップアイコンの表示」を切り替える。
ttp://scripting.cocolog-nifty.com/blog/2011/09/post-fa65.html
07767582011/09/10(土) 00:03:58.12
>>775
有難う御座いました。目的が達成できました。
ソース内容がさっぱり理解できないのでググッて勉強致します。
日付的に考えて、ここを見ている方のブログか、>>775様本人のブログだと思いますが、
フィード登録させて頂きました。シンプルで見易いし、
私の欲しい情報と色々マッチする良いブログだと思いました。

ご存知かとは思いますが、
ブログにはデスクトップにアイコン置くと戻せないと、ありますが、
デスクトップにショートカットキーを設定したショートカットアイコンを設置しておくと
気軽にアイコン表示/非表示切替ができますよ。

因みにWindows7でも問題なく動きました。
0777デフォルトの名無しさん2011/09/12(月) 12:51:06.81
>>775
オブジェクトねぇよってエラーになる
Administratorじゃなきゃダメ?
0778デフォルトの名無しさん2011/09/13(火) 15:12:01.15
D&Dされたファイルを、特定ディレクトリ下にあるファイル名と前方一致するディレクトリに移動させて
ディレクトリ名の末尾に付いてる数字を+1するスクリプトを書きたいんだがどうすればいいのか、何から学べばいいのか分からない。
0779デフォルトの名無しさん2011/09/13(火) 15:21:08.72
VBScript
FileSystemObject
0780デフォルトの名無しさん2011/09/13(火) 22:42:03.47
JScriptにしとけ
0781デフォルトの名無しさん2011/09/14(水) 20:47:13.58
はーい
0782デフォルトの名無しさん2011/09/15(木) 23:35:50.18
教えてください。
今、写真ファイルに適当な名前がついていて、
これのファイル名を、
写真ファイル右クリック→プロパティ→詳細
で進んだ先の「タイトル」と同じものに変更したいと思っています。
そこで、GetFileで写真ファイルのオブジェクトを作った後に
どのようなプロパティで「タイトル」を取得すればよいですか?
よろしくお願いします。

win7 homeです
0783デフォルトの名無しさん2011/09/16(金) 01:10:33.97
FolderItem.ExtendedProperty("System.Title")
0784デフォルトの名無しさん2011/09/16(金) 20:28:47.97
ありがとうございます。
試してみます。
0785デフォルトの名無しさん2011/09/23(金) 18:45:42.41
糞仕様、来んな
0786デフォルトの名無しさん2011/09/28(水) 23:48:14.94
>>785
何が糞仕様なん?
0787デフォルトの名無しさん2011/09/29(木) 04:26:24.31
来なかったから気にせんでもええ
0788デフォルトの名無しさん2011/09/30(金) 02:07:35.36
来たよ
0789デフォルトの名無しさん2011/10/04(火) 21:40:59.02
こっちくんな
0790デフォルトの名無しさん2011/10/05(水) 02:48:43.15
虫
0791デフォルトの名無しさん2011/10/10(月) 14:52:27.46
テキスト変換で行き詰まってるんだけど、
たとえば、あ→こ、こ→て、て→あ、って処理をやろうとすると、
全部巡り巡って「あ」になってしまう現象を防いで置換するにはどうすればいい?
処理する量が膨大故に、あ→つ といった一時待避方法は使わずにできれば…
0792デフォルトの名無しさん2011/10/10(月) 16:23:12.60
replaceで分けてやるからだろ
regexpで一度にやればええだろ
0793デフォルトの名無しさん2011/10/10(月) 17:14:00.83
ううむ…すみません、Replaceさえ使わずに置換してた上、正規表現が判らない…
ネット見ながら書き直してみたけど、思った通りに動かない…
0794デフォルトの名無しさん2011/10/10(月) 18:20:30.32
text.replace('a|b|c|d','g',function(a)
{
var ans='';
switch(a)
{
case 'a' :
ans='A';break;
case 'b' :
ans='B';break;
・・・
default:
ans='baka';
}
return ans;
});
07957942011/10/10(月) 19:20:12.25
コッチの方が簡単か。
var map=[];
map['a']='A';
map['b']='B';
text.replace('a|b','g',function(a){return map[a];});
0796デフォルトの名無しさん2011/10/11(火) 09:30:25.79
tr/// みたいなのが JS にもあればなあ
0797デフォルトの名無しさん2011/10/12(水) 03:58:23.22
あるよ
0798デフォルトの名無しさん2011/10/13(木) 18:21:32.26
>>794-795
動かんが?
0799デフォルトの名無しさん2011/10/13(木) 20:27:43.50
こうか
text.replace(/a|b/g, function(a){return map[a];})
0800デフォルトの名無しさん2011/10/13(木) 20:33:49.25
>>798
>>795じゃないけど正規表現の書き方が間違ってるので勝手に修正
テストはしていない

//textに処理対象文字列
var map=[];
//['置換したい文字']='置換後文字';
map['a']='A';
map['b']='B';
//hogeに置換後文字列値
hoge=text.replace(/a|b/ig,function(a){return map[a];});
08017952011/10/13(木) 21:00:47.60
>>798-800
ごめんね。
DMonkeyで使えるから、Jscriptでも使えると思っていた。
0802デフォルトの名無しさん2011/10/13(木) 21:41:35.95
var map={a:'A',b:'B'};
0803デフォルトの名無しさん2011/10/13(木) 22:09:27.16
>>801
ドンマイ
正規表現を複雑にせずに置換処理する連想配列を使うこの方法は個人的に好きです
改修も簡単だしね
0804デフォルトの名無しさん2011/10/13(木) 22:26:26.37
vbscriptがほとんどでjscriptはあんまり使ってなかったけど
無名関数が使えるのか…知らなかったorz
0805デフォルトの名無しさん2011/10/13(木) 23:03:37.97
ドキュメント読め
http://msdn.microsoft.com/ja-jp/library/cc391867.aspx
function(x){return x*x;} // 関数リテラルです。
0806デフォルトの名無しさん2011/10/18(火) 17:31:58.84
すいません、質問なんですが、例えばURLが
http://www.atmarkit.co.jp/fwin2k/tutor/?????/cformwsh01_01.html
までしか分かってない場合でも、WSHから飛ぶことって出来ますか?

ちなみに?????はcformwsh01だったりするのですが
ここに規則性がなく分からない場合でも飛べるようになりたいと思っています。
可能であれば何かヒントを頂けると嬉しいです。

これからWSHを学んでいきたい初心者ですが、どうかよろしくお願いします。
0807デフォルトの名無しさん2011/10/18(火) 17:47:15.88
WSH以外で飛べるならWSHでも飛べるんじゃないか
0808デフォルトの名無しさん2011/10/18(火) 17:56:36.85
WSHの上に立って膝をゆっくり曲げて瞬間的に伸ばせ
0809デフォルトの名無しさん2011/10/18(火) 20:57:07.77
?はだめだけどrun urlで飛ばないか?
0810デフォルトの名無しさん2011/10/18(火) 21:29:07.79
>>806
スレ違い

もし一部不明でも飛ばしてくれるとしたら
飛ばすのはWSHではなくサーバーがやってるので
WSHスレで聞くべき内容じゃない
0811デフォルトの名無しさん2011/10/18(火) 22:10:43.82
WSHから飛ぶことって出来ますか?
という質問はスレ違いじゃなかろう?
0812デフォルトの名無しさん2011/10/18(火) 23:54:40.20
>>806
var hoge='';
//unique process
window.open('http://www.atmarkit.co.jp/fwin2k/tutor/'+hoge+'/cformwsh01_01.html','_self');

ユニーク処理はrandomでやるの?
0813デフォルトの名無しさん2011/10/19(水) 00:38:53.73
方法としては、URL候補をまず調べ、その結果からワード検索してURLをリストアップし、順次実行。

URL候補は、分かっている部分からweb検索するといい。
(例 googleに対して、2つの検索ワード指定 www.atmarkit.co.jp/fwin2k/tutor cformwsh01_01するとか)
0814デフォルトの名無しさん2011/10/19(水) 00:58:23.06
ユニーク処理って?
0815デフォルトの名無しさん2011/10/19(水) 03:58:10.09
ここはブルートフォースで行きましょうか
0816デフォルトの名無しさん2011/10/19(水) 08:21:47.84
>>815でやっと気付いた
結局、それ系がやりたいっぽいね
納得したわw
BFAよりレインボーテーブル使った処理のが早くない?
合わせ技が1番いいんだろうけどアルゴリズム云々でなく運だからなー

でも>>806読んだ感じidテーブルは入手済みで後は蓮だけっぽいね
08178062011/10/19(水) 17:57:12.32
皆様ありがとうございました。紹介頂いた方法をいくつか試してみましたが
私にはまだスクリプトがしっかり書けていないためもあり
成功することが出来ませんでした。

しかし、どれも大変為になるレスばかりでしたので
何度も見直して調べてみようと思います。
まずはユニーク処理を頑張ってみます。どうもありがとうございました。







例えば?????を.*なんかの正規表現に出来るなら
もしくは、ホームページの仕組みが/というのがWindowsでいう\と同じ感じだったら
それをbatに当てはめて考えられないかなぁと思っていたんですが違うみたいですね。
例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
カレントディレクトリを1階層上げて、そこからcformwsh01_02.htmlを全てのフォルダで探して

しかし、実際はテーブルでしたりハッシュでしたり、そーいった概念とは違うのですね。
ほんと無知ですいません。並行してホームページの仕組みをjavascriptでjscriptと一緒に学んでいこうと思います。
どうもありがとうございました。
08188062011/10/19(水) 17:59:41.01
すいません、改行で空いた下の文章なんですが
これは前に書き途中で削除し忘れた駄文になりますので、気にしないで下さい。
失礼しまいた。
0819デフォルトの名無しさん2011/10/19(水) 19:05:29.19
>>817
batで正規表現は使えない
やるならjscriptかvbscript
てか、そもそも正規表現いらない
if文でやればいい
AだったらBかCか…をランダムに表示はできる
階層も関係なくできる
0820デフォルトの名無しさん2011/10/19(水) 19:10:15.39
>>819
うそこくな findstr知らんあほか?
0821デフォルトの名無しさん2011/10/19(水) 19:51:50.69
>>817
>例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
その方法で良いなら、cformwsh01_01.htmlのページにあるcformwsh01_02.htmlのリンクから飛ぶじゃ駄目なの?
まあ、俺はやり方分からないんであれだけど。
08228062011/10/19(水) 20:40:11.86
>>819
>AだったらBかCか…をランダムに表示はできる
そのような方法もあるのですね。ありがとうございます、参考にしてみます。

>>821
それでも全然大丈夫です。その方法に気付きませんでした、ありがとうございます。
08238062011/10/19(水) 20:42:53.53
WSHで入力したURLから、そのURL自体のスクリプト(ソースコードと呼べばよいのでしょうか?)を
展開するにはどうればよいのでしょうか?キーワードだけでも教えて頂けないでしょうか?

もしそれが可能であれば、例えば先の例でリンクはここにあったので
<body>
 <div id="main">
  <div id="centercol">
   <taable width=大きさ>
    <tbody>
     <tr>
      <td>
       <div align="right">
        <font size="2">
         Page1
         <a href="cformwsh01_02.html">Page2</a>
正規表現からここを検索して取得できるように頑張ります。
(ここがhttp;//から始まるURLになっている場合を想定しています)
(ここであればURLは完全に表示されれている場合を想定しています)
0824デフォルトの名無しさん2011/10/19(水) 21:11:32.03
>>820
findstr使ったこと無いだろ…

あんなの正規表現もどきのワイルドカードだよ
0825デフォルトの名無しさん2011/10/19(水) 21:44:13.96
ワイルドカードと正規表現の別もわからないのか?
0826デフォルトの名無しさん2011/10/19(水) 23:40:16.92
>>820
正規表現知らない小僧は黙ってた方がいいぞw
0827デフォルトの名無しさん2011/10/19(水) 23:40:31.39
お前正規表現が何かもわかってないでしょ
0828デフォルトの名無しさん2011/10/19(水) 23:53:52.87
findstrのマッチングは正規表現を軽く齧った程度の代物で
例えばA又はBといった表現は出来ないし
行のどこにマッチしたかというようなことはわからんな。
0829デフォルトの名無しさん2011/10/19(水) 23:57:24.32
>>823
もう突っ込みどころ多すぎるから少しは自分で調べて勉強しろ

>展開するにはどうればよいのでしょうか?
file:///c:\hoge.js
http:でやりたいならhttp:をfile:/で置換しろw

>もしそれが可能であれば、例えば先の例でリンクはここにあったので
何の話だよwもうエスパーでいくぞw
<a href="#" onclick="window.open('cformwsh01_02.html','_self')">Page2</a>

お前に正規表現はまだ早過ぎる
Jscriptの基本を勉強しろ
0830デフォルトの名無しさん2011/10/20(木) 00:01:42.68
>>827
否定論理和の否定の戻り読みはどうやんの?findstrでできんだろ?w
さっさとコード貼れよw
0831デフォルトの名無しさん2011/10/20(木) 00:10:25.03
秒単位で被ったけど>>827は>>825へのレスだよ…
0832デフォルトの名無しさん2011/10/20(木) 00:29:45.70
>>831
そんな気はちょっとしてた
でも、レス番号なるべくいれようぜ
0833デフォルトの名無しさん2011/10/20(木) 00:33:27.70
>>831
あれ?>>825は正規表現とfindstrは別モノ
ワイルドカードは正規表現じゃねーよ派だろ
やっぱりお前は間違ってる
0834デフォルトの名無しさん2011/10/20(木) 01:10:27.04
ワイルドカードは正規表現のサブセットじゃねーよ おバカさん
どんな正規表現でもワイルドカードにはならんわ
0835デフォルトの名無しさん2011/10/20(木) 04:57:20.27
正規表現は、文字列のパターンを表現する表記法なので
ワイルドカードも正規表現
ところで、findstrはワイルドカードじゃないんだね?
http://www.k-tanaka.net/cmd/findstr.php
>>828
A又はBは出来るみたいだよ
findstr "test char" sample.txt //sample.txtの中から"test"もしくは"char"が含まれる行を表示する
0836デフォルトの名無しさん2011/10/20(木) 08:04:17.56
>>835
排他的論理和の否定戻り読みも書いてみて下さいね
0837デフォルトの名無しさん2011/10/20(木) 08:24:41.02
var hoge='hoge';

string type変数に値が入った瞬間、それは正規表現ですってバカかよw
そんな事誰も言ってねーだろw
>>820はstring型変数に値入れることを正規表現でやるって言うの?
0838デフォルトの名無しさん2011/10/20(木) 11:07:05.56
http://technet.microsoft.com/ja-jp/library/cc755405(WS.10).aspx
ヘルプには正規表現で検索するって書いてあるな
使えるパターン少ないけどww
0839デフォルトの名無しさん2011/10/20(木) 12:59:22.00
そもそもcmdってWSHなん?
0840デフォルトの名無しさん2011/10/20(木) 17:37:21.63
正規表現オタクはすれ違いだしうざいよ
0841デフォルトの名無しさん2011/10/20(木) 18:00:54.25
>batで正規表現は使えない
>あんなの正規表現もどきのワイルドカードだよ
九州電力佐賀県知事執行役員みたいだな
0842デフォルトの名無しさん2011/10/20(木) 20:55:47.22
うん
0843デフォルトの名無しさん2011/10/20(木) 22:34:28.06
否定戻り読みが無いと正規表現とは言わないっていう宗教にはまっているのだろう
0844デフォルトの名無しさん2011/10/21(金) 00:07:44.46
宗教じゃないよ 粘着質由来の強迫神経症だろ
0845デフォルトの名無しさん2011/10/21(金) 08:19:56.60
一般的にワイルドカード程度で正規表現なんて言わない
wordの検索もexcelの式もExplorerの検索も正規表現できるなんて言ったら笑われるぞ
そしてcmdはスレ違い
0846デフォルトの名無しさん2011/10/21(金) 08:30:42.81
例えサブセットだろうと正規表現を使って検索するとMSは説明に明記してるんだから
単なるワイルドカードとは一線を画しておかなきゃね。
0847デフォルトの名無しさん2011/10/21(金) 11:57:39.84
>>844
ニダ
0848デフォルトの名無しさん2011/10/21(金) 16:13:03.28
>>845
Explorerの検索が正規表現だと誰か言ってるのか?
幻聴まで聞こえるのはやばいよ 悪いことは言わん 病院行けよ
0849デフォルトの名無しさん2011/10/22(土) 02:27:17.58
うん
0850デフォルトの名無しさん2011/10/22(土) 17:01:32.86
>>848
MSが間接的に言ってる
*でワイルドカード検索できるからね
それは正規表現でしょ?w
0851デフォルトの名無しさん2011/10/22(土) 17:22:23.69
>>850
神が早く病院に行けって言ってないか?
0852デフォルトの名無しさん2011/10/22(土) 17:37:41.00
もうどうしようもないレベル
0853デフォルトの名無しさん2011/10/22(土) 17:59:07.56
>>799
VBSでは?
0854デフォルトの名無しさん2011/10/22(土) 18:17:15.96
VBSなんぞ窓から投げ捨てろ
0855デフォルトの名無しさん2011/10/22(土) 18:18:49.01
>>853
そういうことは知らない ワイルドカードと正規表現のことだけ聞いて
0856デフォルトの名無しさん2011/10/22(土) 18:22:39.71
>>854
VBSを持って病院に行ったほうがいいよ
0857デフォルトの名無しさん2011/10/22(土) 20:46:58.88
>>850
>MSが間接的に言ってる

どこで言ってるかURL教えて
0858デフォルトの名無しさん2011/10/22(土) 21:26:48.57
ダイレクトにアタマの中で聞こえるだろ?
0859デフォルトの名無しさん2011/10/23(日) 15:40:37.61
患者の主張は分裂してないか?
ワイルドカードは正規表現
findstrの正規表現はワイルドカード
0860デフォルトの名無しさん2011/10/23(日) 15:51:10.61
うにぁ
1 findstrの正規表現はワイルドカード
2 ワイルドカードは正規表現
3 findstrの正規表現は正規表現
という三段論法かも
0861デフォルトの名無しさん2011/10/23(日) 16:30:59.08
つーかVBAがVB6基調である限り、VBSも残るだろうな
0862デフォルトの名無しさん2011/10/23(日) 17:04:49.41
>>861
つーかそれがどうしたってーの
0863デフォルトの名無しさん2011/10/23(日) 17:26:54.64
なんか勘違いしてんだろ
0864デフォルトの名無しさん2011/10/23(日) 20:53:17.96
>>857
http://technet.microsoft.com/ja-jp/library/cc755405(WS.10).aspx
0865デフォルトの名無しさん2011/10/23(日) 23:27:22.78
正規表現は元々UNIXコマンドが発祥でPerlで発展して、他はそれ準拠ってうたったりしてるようなもんだから、MSでどーのこーのいってもしょうがない。
0866デフォルトの名無しさん2011/10/24(月) 00:16:56.92
>>864
.がワイルドカードだって所の事か?
0867デフォルトの名無しさん2011/10/24(月) 08:10:30.16
>>866
はい
Explorer.exeの検索も*がワイルドカードなのでMSKK的には正規表現
WordやExcelも同様

因みに私はこれらを正規表現と認めたくない派です
0868デフォルトの名無しさん2011/10/24(月) 10:46:52.48
>>867
>>864のリンクはfinfstrの説明であり、そこには正規表現の説明で
*は「繰り返し : 直前の文字またはクラスのゼロ個以上」
とある。
これがワイルドカード(としての*の説明)だと思う人はいないだろう。

また、ページエクスプローラの検索では良いリンク先が見つからなかったが、
http://windows.microsoft.com/ja-JP/windows7/Advanced-tips-for-searching-in-Windows
ここでは、
  注
  任意の 1 文字を表すワイルドカードとして、疑問符 (?) を使用できます。
  また、任意の数の文字を表すワイルドカードとして、アスタリスク (*) を使用できます。
とあり、正規表現だとは言ってないし、
*の意味も上記のfindstrとは異なる。
0869デフォルトの名無しさん2011/10/24(月) 12:22:37.41
>>867
おまいが、findstrで*をワイルドカードだと思って使ったら、
自分の思った動作をしないだろうし、その時はバグだとでも騒ぐ気なのかね?

また、word,excelの検索は独自でこれも正規表現とはMSは言ってないだろ。
まあ、検索オプションに[ワイルドカードを使用する(U)]というものは存在するがな。
0870デフォルトの名無しさん2011/10/24(月) 12:25:47.22
>>868
なるほど
でもfindstrが正規表現ってのも何だかなー
Wordのトリッキーな検索も似非正規表現っぽいし

まぁWSHじゃないからスレ違いなんだけどねw
0871デフォルトの名無しさん2011/10/24(月) 12:47:11.58
>>867
ワイルドカードを使って検索するにチェック入れといて何言ってんの君?
0872デフォルトの名無しさん2011/10/24(月) 13:04:29.14
ワイルドカードを使って検索するー>ワイルドカードを使用する
だね
0873デフォルトの名無しさん2011/10/24(月) 16:58:28.87
なあんだ直らない病気だったのか
0874デフォルトの名無しさん2011/10/24(月) 17:39:40.90
>>848
幻聴じゃなくて幻視だろ
おまいこそ病院逝け
0875デフォルトの名無しさん2011/10/24(月) 18:00:21.79
なに幻視が聞こえるのか?そりゃ大変だな
0876デフォルトの名無しさん2011/10/24(月) 18:01:13.07
何言ってんの君?

まあ、「言う」じゃなくて「書く」だろとかのたまうんだろうな。
0877デフォルトの名無しさん2011/10/24(月) 18:08:48.31
口が滑ったんじゃなく手が滑ったんだとか
0878デフォルトの名無しさん2011/10/24(月) 18:09:11.69
正気表現でw
0879デフォルトの名無しさん2011/10/24(月) 19:31:25.64
やめて!私のために争わないで!
0880デフォルトの名無しさん2011/10/24(月) 21:21:24.28
正気狂言だろw
0881デフォルトの名無しさん2011/10/24(月) 23:36:57.71
findstrが正規表現じゃないなら
grepとかも正規表現じゃないって事にならないか?
どっちも.の意味同じだよね
0882デフォルトの名無しさん2011/10/25(火) 00:07:56.96
g/RE/p
edの作者が何の気なしに作ったg/正規表現/p
がちょー便利すぎるって外だしコマンドgrepになったのが正規表現の産声なんだよ。unixのmanに誇らしげに当時のストーリーが書いてある。
findstrはMS社員の劣化コピー。

0883デフォルトの名無しさん2011/10/25(火) 00:16:49.56
findstrがあまりに機能が低くて正規表現と言いたくないというのは分かる。
が、それを根拠にエクスプローラの検索がワイルドカード指定できるからこれも正規表現だ
という主張は3段論法でも無ければ風が吹いたら桶屋がもうかるの論理でも無く、
あまりにも突飛すぎて誰もついていけない。
0884デフォルトの名無しさん2011/10/25(火) 00:24:18.05
>>883
そう書くと、言葉通りに受け取って、誰もそんなこと言ってないぞ、とか言われるぞ。
まあ俺はバカじゃないからそんなことは言わないが。
0885デフォルトの名無しさん2011/10/25(火) 00:35:07.53
否定戻り読みが無いと正規表現とは言わないなら
findstrだけじゃなくてVBSやJSのRegExpも正規表現じゃないって事になっちゃうんだが
0886デフォルトの名無しさん2011/10/25(火) 08:02:36.81
>>883
Explorerのワイルドカードが正規表現でない根拠は?
正規表現とはある文字xで多種類文字列が取得できる表現の事だよ?
要は1:nの関係が成り立つ変数として確立できれば正規表現
0887デフォルトの名無しさん2011/10/25(火) 10:50:59.85
>>886
じゃあfindstrも正規表現でいいよね
0888デフォルトの名無しさん2011/10/25(火) 17:20:11.35
>>853
0889デフォルトの名無しさん2011/10/25(火) 18:44:44.14
>>887
そうだね
0890デフォルトの名無しさん2011/10/25(火) 19:47:43.77
どっかにAddToFavoriteみたいなAddToHistoryってなかったっけ?
0891デフォルトの名無しさん2011/10/26(水) 00:53:14.24
>>890
ie.navigate
0892デフォルトの名無しさん2011/10/26(水) 07:35:26.31
だれもWikipediaとかで調べてないのか?
*と(|)に相当する機能がない奴は正規表現じゃないだろ
0893デフォルトの名無しさん2011/10/26(水) 08:20:50.75
>>892
wikipediaなんて正式的じゃないし
正規表現の正確な決まりなんてない
言ったモン勝ち状態
正規表現はバズワード
0894デフォルトの名無しさん2011/10/26(水) 08:54:07.01
Microsoftは、findstrの検索は正規表現と言ってるが、explorerの検索を正規表現と言ってる記述は無い。
他人が正規表現をどう規定しよう(例えばPOSIX準拠とか、パターンを使ってればワイルドカードもOK)が
勝手ではあるが、少なくともMicrosoftはワイルドカードと正規表現は一緒にはしていないことは確か。
0895デフォルトの名無しさん2011/10/26(水) 09:28:01.68
>>892
>*と(|)に相当する機能がない奴は正規表現じゃないだろ

Wikipediaにはそんなこと書いてないぞ
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
0896デフォルトの名無しさん2011/10/26(水) 10:49:17.58
横からレスすると、

一般化した形式言語理論での正規表現なら載ってるね。
1) Σのメンバーは正規表現である。
2) emptyは正規表現である。
3) X, Yが正規表現のとき、連接(X・Y)と合併(X+Y)とKleeneスター(X*)は正規表現である。
4) 以上の手順で得られるものだけが正規表現である。

2つの2項演算子と1つの単項演算子だが、実際はXY, X|Y, X*だから、
*と|の2つと言っても間違いじゃないよね。
で、findstrはこれに該当するわけで立派に正規表現と言えるし、
explorerの検索は該当しないので正規表現とは言えない。

というのが、>>892の主張だろう。
0897デフォルトの名無しさん2011/10/26(水) 10:57:04.28
補足
単項演算しKleeneスターは

1) V が文字列の集合であるとき、V* は、空文字列 ε を含み、文字列連結演算に
  閉じているような最小の集合と定義される。
  この集合は、別の書き方をすれば、V に含まれるゼロ個以上の文字列を連結して
  作ることができるような文字列の集合である。
2) V がシンボル・文字の集合であるとき、V* は、空文字列を含む V 上の
  あらゆる文字列の集合である。

一般化してモノイドMの2項演算子としても表せる。
1) (閉包)あらゆる a、b ∈ M に対し、a . b ∈ M
2) (結合法則)あらゆる a、b 、c ∈ M に対し、(a . b) . c = a . (b . c)
3) (単位元)ある ε ∈ M が存在して、あらゆる a ∈ M で a . ε = ε . a = a
0898デフォルトの名無しさん2011/10/26(水) 15:52:17.79
すれ違いうざいんだけどよそ行ってくれない
0899デフォルトの名無しさん2011/10/26(水) 15:54:57.06
HTAスレが過疎ってるから、やりたきゃ
http://hibari.2ch.net/test/read.cgi/tech/1220874815/
でやってくれ
0900デフォルトの名無しさん2011/10/27(木) 06:36:46.80
ヒデー展開だな

スレ違いもそうだが、ここまで、完全に正しいことを言ってる奴が一人も居ないんだが、、、
HTAスレじゃなくて正規表現スレもあるんだから、どっちに行ってもいいが、ここで低レベルな
スレ違い話続けるのはやめてくれ
0901デフォルトの名無しさん2011/10/27(木) 08:08:29.22
>>900
ことプログラム言語に関しての正規表現はバズワード
0902デフォルトの名無しさん2011/10/28(金) 01:44:16.66
訳が悪いんじゃね
Normal Expressionみたい
正規表現厨はabnormalだね
0903デフォルトの名無しさん2011/11/02(水) 22:55:00.09
sendKeysの逆ってできますか?
キー入力を常に監視して入力されたキーコードをgetしてテキストに出力したいです
ただ、ブラウザのwindow内でなくwindows上での全てのキー入力を取得したいです
0904デフォルトの名無しさん2011/11/02(水) 23:25:45.11
何をタクラマカン砂漠
0905デフォルトの名無しさん2011/11/02(水) 23:35:15.14
できますよ
0906デフォルトの名無しさん2011/11/03(木) 02:37:35.11
>>905
wshじゃムリ
0907デフォルトの名無しさん2011/11/03(木) 02:46:22.94
正規表現を使えばできるのでは?
0908デフォルトの名無しさん2011/11/03(木) 19:25:16.39
ワイルドカードじゃむりぽ?
0909デフォルトの名無しさん2011/11/03(木) 21:27:58.79
>>503
wshではないけど、AutoHotkeyというソフトをつかえばできそう。
調べてみては?

AutoHotkey スレッド part13
http://hibari.2ch.net/test/read.cgi/software/1317156599/l50
0910デフォルトの名無しさん2011/11/06(日) 12:04:20.50
>>905
教えて下さい
0911デフォルトの名無しさん2011/11/06(日) 16:03:56.30
やなこった
0912デフォルトの名無しさん2011/11/06(日) 16:10:50.66
まずふくをぬぎます
0913デフォルトの名無しさん2011/11/06(日) 17:34:53.06
頭悪いとそういうのが面白いものかね?
0914デフォルトの名無しさん2011/11/07(月) 16:05:03.36
馬鹿には無理
0915デフォルトの名無しさん2011/11/08(火) 21:22:22.15
頭悪いとそういうのが面白いものかね?
0916デフォルトの名無しさん2011/11/09(水) 18:03:04.50
面白い
0917デフォルトの名無しさん2011/11/10(木) 05:17:44.11
頭悪い
0918デフォルトの名無しさん2011/11/10(木) 17:15:50.23
あくい
0919デフォルトの名無しさん2011/12/15(木) 14:36:06.47
vbsのOPTION EXPLICITってクラスメソッド内だと機能してない
気がするけど気のせい?
0920デフォルトの名無しさん2011/12/21(水) 18:24:34.27
どんまい
0921デフォルトの名無しさん2011/12/28(水) 14:49:44.08
気のせい
0922デフォルトの名無しさん2011/12/29(木) 11:40:47.27
木の精
0923デフォルトの名無しさん2011/12/31(土) 23:01:46.32
メチルアルコール?
0924デフォルトの名無しさん2012/01/25(水) 07:37:59.43
ちょっとスレチを承知だけど、質問させてください。

DynamicWrapper をこれまでWinXP 32bit で使ってきてたけど、
Win7 64bit に変えたら、dllの登録時にエラーが出てしまう。
(いま、出先の携帯からのカキコでエラー番号とか失念)

ググっても、英語の質問掲示板とかで、同症状の質問が見つかるだけで
回答がない。

DynamicWrapperなんて、もはやユーザー少ないのかしら。
0925デフォルトの名無しさん2012/01/25(水) 08:05:43.86
DynamicWrapperは知らないけど、この辺意識してる?
http://maggothand.at.webry.info/200907/article_2.html
0926デフォルトの名無しさん2012/01/25(水) 09:01:30.26
単に管理者権限がないだけじゃねーの
UAC
09279242012/01/25(水) 20:51:05.87
>>925, >>926 レスありがとうございます。


>regsvr32 dynwrap.dll
で
「モジュール "dynwrap.dll" は読み込まれましたが、
DllRegisterServerへの呼び出しはエラーコード
0x80040201 により失敗しました。.... 」
とのエラーが出ていました。

>>925 さん紹介URLのように、
%WINDIR%\SysWOW64\Regsvr32.exe
して見ましたが、上記と同じエラーが出てダメでした。

>>926 さんご指摘に従って、
管理者権限で実行したコマンドプロンプトで実行
(>regsvr32 dynwrap.dll)
したところ、無事に登録ができました。



0928デフォルトの名無しさん2012/01/28(土) 01:45:27.16
WSHって息してる?今はじめて存在知ったんだけど。実はちょー便利だったりするの?
0929デフォルトの名無しさん2012/01/28(土) 05:15:53.34
コマンドプロンプトやBATが使えない人にとっては無用の長物であることには違いが無いさ
0930デフォルトの名無しさん2012/01/28(土) 12:26:44.53
長物って。別に何も邪魔になっとらんやろ
0931デフォルトの名無しさん2012/01/29(日) 11:12:44.50
WSHには、スクリプトウィルス実行ホストという役目もあるから
使わない人にとっては正に無用の長物じゃね?
0932デフォルトの名無しさん2012/01/29(日) 18:46:25.68
おまえの話が一番無用の長物じゃね?
0933デフォルトの名無しさん2012/02/03(金) 02:04:19.31
最近はパワシェル使うことが多くなった
0934デフォルトの名無しさん2012/02/03(金) 21:32:04.88
powershellってまただいぶ違ってたりするの?
0935デフォルトの名無しさん2012/02/04(土) 17:06:58.56
にたようなもん
0936デフォルトの名無しさん2012/02/04(土) 19:43:27.91
PowerShellはWSHと機能性だけ比較すれば優位だが
他の言語や開発環境まで視野に入れていろんなコストなども含めて総合的に判断すると
ほとんど存在価値が無くなってしまう
俺も一通り使ったけどPowerShell使うのは無駄以外の何物でもないと気付いて使わなくなった
0937デフォルトの名無しさん2012/02/04(土) 20:31:38.04
>>928
たとえば、Microsoft Officeで作業する場所で、
C++, C#などの開発環境をインストールしてはならない場合でも、
WSHならインストールされてるからつかえる(VBAもつかえるだろう)
0938デフォルトの名無しさん2012/02/04(土) 20:41:23.07
>>937
そんな意味でも特別な許可設定しないとスクリプトをダブルクリックで動かすことすらできない PowerShell はダメだな
能力はあるのに
0939デフォルトの名無しさん2012/02/05(日) 02:36:46.32
>>937
普通に入っているが?
0940デフォルトの名無しさん2012/02/05(日) 02:59:57.56
>>939
何を勘違いしてるの?
0941デフォルトの名無しさん2012/02/05(日) 14:10:11.58
PowerShell、Windows 7からはOS標準になってる。
perlやrubyみたいな他のスクリプト言語に比べたら大きなアドバンテージだけど
デフォルトで実行許可されてないのが痛い。痛すぎる
0942デフォルトの名無しさん2012/02/05(日) 14:38:59.17
>>940
csc,vbc,jscが普通に入ってるの知らないんだwww
0943デフォルトの名無しさん2012/02/05(日) 14:58:34.06
実行ポリシー変えられるときは変えてるし、できない時は
スクリプトを読み込んでeval(Invoke-Expression)しちゃえばいいから、
まあそこまで困ってはいない
0944デフォルトの名無しさん2012/02/05(日) 18:31:24.57
サクラエディタでWSHをマクロとして使えることに気づいた
こんな感じにいろんなソフトがマクロとして使ってるのかな
0945デフォルトの名無しさん2012/02/06(月) 21:34:29.73
>>942
なるほど、そういう方向の勘違いか
0946デフォルトの名無しさん2012/02/07(火) 01:19:27.07
>>945
なるほど、そういう方向の○違いか
0947デフォルトの名無しさん2012/02/07(火) 04:50:00.92
悔し紛れのオウム返し
0948デフォルトの名無しさん2012/02/07(火) 17:05:21.20
悔し紛れの言い張り返し
0949デフォルトの名無しさん2012/02/08(水) 00:31:47.76
Windows XP, Office 2003の職場めずらしくないでしょ
0950デフォルトの名無しさん2012/02/08(水) 18:46:05.52
なるほど、そういう方向の勘違いか
0951デフォルトの名無しさん2012/02/17(金) 01:24:42.12
プログラムを実行させる時、
プロセス1とプロセス2は終了を待つことなく同時に実行し、
プロセス1とプロセス2が両方とも終了したらプロセス3に移行するにはどう書けばいいですか?

0952デフォルトの名無しさん2012/02/17(金) 03:39:30.95
exec
exec
do while .state
loop
exec
0953デフォルトの名無しさん2012/02/18(土) 13:26:46.30
http://msdn.microsoft.com/ja-jp/library/cc364410.aspx
0954デフォルトの名無しさん2012/02/18(土) 14:10:58.44
popup出しつつ、ステートメントは次へ行くことって出来ますか?
runにはあるのに。
0955デフォルトの名無しさん2012/02/18(土) 15:02:18.54
Popupを出すスクリプトをRunで呼び出す
0956デフォルトの名無しさん2012/02/18(土) 15:04:14.61
>>954
shell = new ActiveXObject("WScript.Shell")
shell.Popup("hello")

とだけ書かれたスクリプトを
shell.Run("wscript msg.js")
みたいに呼べばいい
09579562012/02/18(土) 15:05:10.21
かぶった
0958デフォルトの名無しさん2012/02/18(土) 15:09:02.93
>>955氏
ありがとうございました。
0959デフォルトの名無しさん2012/02/18(土) 15:20:28.10
お礼をいい損ねてた
>>956氏もありあとう
0960デフォルトの名無しさん2012/02/18(土) 19:59:58.73
ttp://scripting.cocolog-nifty.com/blog/2007/09/wsh_fc58.html
0961デフォルトの名無しさん2012/02/21(火) 17:54:11.66
runじゃ閉じれないが?
0962デフォルトの名無しさん2012/02/21(火) 18:54:49.91
んじゃexec
0963営利利用に関するLR審議中@詳細は自治スレへ2012/04/04(水) 13:37:50.79
WshShortcutではマイコンピュータなどのショートカットは扱えませんか?
ショートカットからTargetPathなどを取り出してShellExecuteExに渡すことを目的としています。
0964営利利用に関するLR審議中@詳細は自治スレへ2012/04/04(水) 22:50:42.05
どうなる?
駄目ならshell.applicationのfolderitem.getlink使え
0965営利利用に関するLR審議中@詳細は自治スレへ2012/04/05(木) 10:07:14.88
ありがとうございます。

folderitem.getlink.target.pathでマイコンピュータとマイネットワークのショートカットから
"::{GUID}" という形式のターゲットパスが得られました。
これをShellExecuteExに渡すと、開けました。

スタートメニューのファイル名を指定して実行でも使えるけど
ショートカットのプロパティのリンク先には入れられないのが謎です。

コントロールパネル項目なんかのショートカットは取得できなかったので
これは別に探してみようと思います。
0966営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 16:04:14.88
>スタートメニューのファイル名を指定して実行でも使えるけど
>ショートカットのプロパティのリンク先には入れられないのが謎です。

GUIが撥ねてるだけで、WshShortcutなら入る

>コントロールパネル項目なんかのショートカットは取得できなかったので
>これは別に探してみようと思います。

レジストリをshellfolderで検索
0967営利利用に関するLR審議中@詳細は自治スレへ2012/04/09(月) 08:48:15.44
ありがとうございます。

>GUIが撥ねてるだけで、WshShortcutなら入る
WshShortcutで取得できないものの、Saveはできるようですね。

>レジストリをshellfolderで検索
こちらは、クラスIDを知るのが目的ではなく、ショートカットファイルから
取得するのが目的です。
target.pathが空白なので、検索しようがありませんでした。
0968営利利用に関するLR審議中@詳細は自治スレへ2012/04/10(火) 00:14:44.19
なんでそんな必要があるのかわからんが必要なら.lnkのフォーマットをadodb.streamでバイナリで見て取り出せば?
0969デフォルトの名無しさん2012/04/14(土) 00:37:21.24
excelのショートカットなんか取り出しても動かんな
なんだこのxlicons.exeって?実行可能なアプリケーションじゃありません
0970デフォルトの名無しさん2012/04/15(日) 12:09:13.38
ほれ
http://ithreats.files.wordpress.com/2009/05/lnk_the_windows_shortcut_file_format.pdf
0971デフォルトの名無しさん2012/04/25(水) 12:37:56.84
javascriptの板でこちらのがいいと誘導されてきました。


var objApl;
var objFolder;
var objFolderItems;
var objItem;
var i;
objApl = new ActiveXObject("Shell.Application");
objFolder = objApl.NameSpace("c:\\ShortCut");
objFolderItems = objFolder.Items();
for(i=0;i<objFolderItems.Count;i++) {
objItem = objFolderItems.Item(i);
if (objItem.IsFolder==true) {
WScript.echo("D " + objItem.Name + " ModifyDate:" + objItem.ModifyDate);
} else {
WScript.echo(" " + objItem.Name +
" Size:" + objItem.Size + "Bytes ModifyDate:" + objItem.ModifyDate);
}
}
objItem = null
objFolderItems = null
objFolder = null
objApl = null


objFolder = objApl.NameSpace("c:\\ShortCut");の部分で、
「書き込みできません」とエラーが出るのは何故でしょうか
0972デフォルトの名無しさん2012/04/25(水) 14:27:08.34
c:\ShortCutに対するアクセス許可を持ってない
0973デフォルトの名無しさん2012/04/25(水) 14:34:11.06
アクセス許可はどこからどう見た権限でしょうか。


ローカルにあるjsで、
cドライブももちろんローカルです。
全てが同じドライブ上にあるんですが…
0974デフォルトの名無しさん2012/04/25(水) 15:00:17.63
c:\ShortCutのアクセス許可を見ろよバカ
0975デフォルトの名無しさん2012/04/25(水) 17:33:38.08
なんでWindowsの初歩が解ってない奴がJScriptとかに手出してるんだ?
今はそういう時代なのか?
0976デフォルトの名無しさん2012/04/27(金) 10:24:00.76
こういうのって、fsoじゃなくshell使うのがナウいの?
0977デフォルトの名無しさん2012/04/27(金) 16:02:28.16
トロいんじゃね?
0978デフォルトの名無しさん2012/05/03(木) 12:48:27.44
var o = new ActiveXObject('System.Text.StringBuilder');
o.append('U');
インスタンスは作れるのにメソッドは呼べないorz
oはIDISPATCHらしいんだが。
0979デフォルトの名無しさん2012/05/03(木) 14:48:27.89
>>978
http://scripting.cocolog-nifty.com/blog/2008/07/netsystemtextst_8388.html
http://scripting.cocolog-nifty.com/blog/2008/07/netsystemtextst_8155.html
0980デフォルトの名無しさん2012/05/03(木) 18:31:27.82
>>979
thx!
帰ったら試してみる!
0981デフォルトの名無しさん2012/05/03(木) 20:39:44.95
あ
0982デフォルトの名無しさん2012/05/04(金) 13:37:23.44
い
0983デフォルトの名無しさん2012/05/04(金) 13:43:59.30
し
0984デフォルトの名無しさん2012/05/04(金) 13:49:31.24
て
0985デフォルトの名無しさん2012/05/04(金) 14:12:04.10
もんまり
0986デフォルトの名無しさん2012/05/04(金) 16:06:35.05
え
0987デフォルトの名無しさん2012/05/04(金) 16:15:33.91
め
0988デフォルトの名無しさん2012/05/05(土) 00:36:50.04
う
0989デフォルトの名無しさん2012/05/05(土) 08:30:34.40
め
0990デフォルトの名無しさん2012/05/05(土) 23:41:18.69
うめ
0991デフォルトの名無しさん2012/05/06(日) 07:29:14.65
>>563
宇宙には、秩序がある。生物には、多様性がある
0992デフォルトの名無しさん2012/05/06(日) 12:12:41.43
うめ
0993デフォルトの名無しさん2012/05/06(日) 13:23:51.64
かゆ
0994デフォルトの名無しさん2012/05/06(日) 16:19:30.33
うま
0995デフォルトの名無しさん2012/05/06(日) 19:22:36.49
うし
0996デフォルトの名無しさん2012/05/07(月) 06:16:41.15
うに
0997デフォルトの名無しさん2012/05/07(月) 15:03:27.13
うり
0998デフォルトの名無しさん2012/05/07(月) 19:48:44.01
うみ
0999デフォルトの名無しさん2012/05/07(月) 19:54:04.02
うら
1000デフォルトの名無しさん2012/05/07(月) 21:13:55.30


        _,. -──-- .,,_
      ,. ''"          ´`ヽ、
    , '        __,,,....,,,ゝ,_  ヽ、
    ,'     ,.- '"´   ____  `ヽ!、 ヽ,
   i    ,.'´ ,. --ァ'7´   `i⌒ヽ、!.、  ',
   .i   .i,' /  / /  ハ !─!-`Yヽ、 ',
   |   !/  ,' .i-i─ハノ レ´,≠ト!、ハ i i
   |   イ  / ./,!ィ'=-ト、   'ト、 } !ハ,.ヘハノ
  ノ   i  ハ/イ ト、  }'    ゙ー´,,i/!  i
  イ  /  ! ヽi` ゝ-゙'´   `   .! | 〈
  ,'  〈 ,ヘ',  ヘ ""    σ   ,.イ ノ !
  /  i   ヽ, ハ>.、,,_  ,,.イノ、レ,.ヘノ
 〈  ハ    V>、!、/ヽ,  ̄! i>ヽ、 /
  ヽ/ ヽハ/´   ヽゝ、/ヘi/i    ',
      /        / i/ i   ',
     /、       ,〈  」、」   _ゝ、
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。