[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/19 21:21 / Filesize : 94 KB / Number-of Response : 410
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2008/04/23(水) 20:00:50 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

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

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

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

●個人サイト
Windows Scripting Host
homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
winscript.s41.xrea.com/wiki/index.php

175 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:32:51 ]
それだとIEになるぞなもし

176 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 15:29:30 ]
レジストリに
C08AFD90-F2A1-11D1-8455-00A0C91F3880
がないのに、使えるのはなぜ?

177 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 17:16:08 ]
なぜWSHでwindowsを終了させられないのですか?

178 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 21:00:13 ]
WSHスクリプトを起動するより、電源ボタンを押すほうが簡単だからかも?

179 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 21:05:03 ]
>>177
出来るけど、なにか?

180 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 23:21:04 ]
WMI使ってできるよねぇ。

181 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 23:50:19 ]
WScript.Echo("電源ボタンを押してください");

182 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 19:35:52 ]
createobject("shell.application").shutdown

183 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 10:37:00 ]
フォームの自動入力させているんだけど、
IEじゃなくて、IEコンポーネントつかったブラウザとかソフトに入力する方法って無いですかね。




184 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 11:17:45 ]
ありますよ。

因みに「どうやるの?」とか「具体的なやり方は?」とか、ネチっこく聞いてこないでで。
ただでさえ暑いんだから。


185 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 11:24:00 ]
ヒントだけでも教えてもらえないでしょうか?

186 名前:デフォルトの名無しさん [2008/08/01(金) 20:42:35 BE:333119243-2BP(802)]
>>184
キサマは湘南海岸でプログラミングしてるのかと、小1時間…

187 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 21:28:43 ]
set o2 = createobject("vb2ch.clsThread")
o2.sage

188 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 22:03:23 ]
if nothing is nothing then msgbox (nothing is nothing)

189 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 23:03:27 ]
>>183
EnumWindowsしてWindowの中にInternet_Explorer_Serverクラスがあるか探せばいいと思う

190 名前:デフォルトの名無しさん [2008/08/03(日) 03:14:00 ]



191 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 03:39:35 ]
For Each ObjFile in CreateObject("Scripting.FileSystemObject").getFolder(CreateObject("Wscript.Shell").CurrentDirectory).Files
  ObjFile.name = "new" & ObjFile.name
  msgbox ObjFile.name
Next

フォルダに2つのファイルがあり、上記を実行します。
Forで2ループしてほしいのですが、4ループします。
なぜですか?

192 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 03:55:42 ]
ループの中でリネームするから

193 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 08:07:09 ]
>>191
普通に2回しか回らないぞ (@Windows2000SP4)



194 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 14:43:26 ]
a ->newa
b ->newb
newa -> newnewa
newb -> newnewb


195 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:47:09 ]
それが起るなら、無限ループになりそうなもんだが。

196 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 22:38:20 ]
隠しファイルが2つあるとか

197 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 23:19:39 ]
ファイル名によるんじゃないの?
ファイルのコレクションを得る時内部でどういったソートしてんのか知らんけど。
リネーム後のファイルが、処理済ファイルと未処理ファイルのどちらに振り分けられるかの違い。

経験則でいうと、ファイルコレクションに対してリネーム処理をするといったような場合は
一旦全ファイル名の配列を得るとかして、
その配列に対して、即ち明示的にファイル名を指定してループ処理しなければおかしくなる。

for ... in でコレクションからひとつひとつファイルを取り出しつつリネームしていく、
といったオンザフライな処理では恐らく望んだ結果は得られない。
リネームすることで大元のコレクションの内容がリアルタイムで変わっちゃう感じ。

泥臭いけど俺はいつもこうしてる。

var f1 = objFSO.GetFolder(folderspec);
var f2 = new Enumerator(f1.Files);
var arr = new Array();
for (; !f2.atEnd(); f2.moveNext()) arr.push(f2.item().Name);
var f, i;
for (i = 0; i < arr.length; i++) {
    f = objFSO.GetFile(objFSO.BuildPath(folderspec, arr[i]));
    f.Name = "new" + f.Name;
}

198 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 05:15:53 ]
自分もそこでよく悩んだな
ループ中でリネームするとリネーム後のファイルがFilesコレクションに追加されてそのファイルも処理対象になっちゃうんだよな
そして延々と"new"が付加されていく

それ理解するのに時間かかった

199 名前:191 mailto:sage [2008/08/04(月) 05:24:31 ]
>>192 たしかにリネームしなければ正常です。
>>193-195 回る数は2,3,4と不定ですが、無限はないです。
>>196 隠しファイルはないです。

>>197 
>コレクションの内容がリアルタイムで変わっちゃう感じ

特にこの一言でイメージできて分った気がします。
なので頑張ったのですが、どうしてもコードが読めません。
>>197をVBScriptにしてくれないでしょうか?

200 名前:デフォルトの名無しさん [2008/08/04(月) 05:47:12 ]
ええええ!?

201 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 07:07:03 ]
うちも普通に2回しか回らないよ、XP SP3

202 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 08:10:08 ]
>>199
コード読めなくても、その上で文章説明してるんだから
その通りにVBSで書けば良いだけだろ

ここはPC初心者板ではなくプログラム技術板なので
ここに来る以上、そのくらいは自分でやれなくちゃね

203 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:03:45 ]
「PC初心者板」という言葉を持ち出してくる奴は
この板で有名な基地外の特徴なので
構わなくていいですよ。



204 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:04:03 ]
普通に2回しか回らないね。(XP SP3)

2回以上回ってる人はどんな環境でやってるの?

205 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:11:10 ]
プログラミングに関しては全く初心者なんで、変なこと言ってるかも知れないけど
For Each ObjFile in CreateObject("Scripting.FileSystemObject").getFolder(CreateObject("Wscript.Shell").CurrentDirectory).Files
これって毎回オブジェクト作ってるわけじゃなくて、最初の1回作ったときに
コレクションは出揃ってメモリに書き込まれるというわけじゃないの?

2回以上回る時は内容にアクセスするたびにオブジェクトを作り直してるわけ?

206 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 15:00:36 ]
For Each ObjFile in CreateObject("Scripting.FileSystemObject").getFolder(CreateObject("Wscript.Shell").CurrentDirectory).Files
If Left(ObjFile.name,3)<>"new" Then ObjFile.name = "new" & ObjFile.name
  msgbox ObjFile.name
Next
で、どう?

207 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 15:03:32 ]
For Each ObjFile in CreateObject("Scripting.FileSystemObject").getFolder(".").Files


208 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 15:12:10 ]
>2回以上回る時は内容にアクセスするたびにオブジェクトを作り直してるわけ?
作り「直して」るわけ、ではなかろう

209 名前:199 mailto:sage [2008/08/04(月) 16:48:49 ]
>>202の言う通りですね。
>>199レスでのコード依頼は、躊躇しながらも書いてしまったのですが、
やはり場違いなので取り消します。

さまざまなレスありがとうございます。

210 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 18:34:22 ]
環境書いておくれよ

211 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 21:27:00 ]
XPSP2/WSH5.7

上の簡単なリネームで試してみたら2回だったけど
ちょっと前に書いた自分のごちゃごちゃしたリネームのスクリプトだと
なんかリネームしたのが追加された覚えがあるな…
特定のメソッドを使ったりとかでコレクションへの追加が発動するんかな
そのスクリプトもどこかいったから確かめようがないな、ごめんよ

212 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 22:21:43 ]
For Each ObjFile in Folder.Files
  ObjFile.name = "new" & ObjFile.name
  msgbox Folder.Files.Count
Next
してみ

213 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 22:42:35 ]
VBscriptでApplication型のオブジェクトの宣言ってもしかして出来ない?



214 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 23:01:07 ]
>>212
普通に2が2回表示されたよ
XP SP3

215 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 23:10:30 ]
>>191
Set Files = CreateObject("Scripting.FileSystemObject").getFolder(CreateObject("Wscript.Shell").CurrentDirectory).Files
For Each File In Files
 File.Name = "new" & File.Name
For Each File1 In Files
  WScript.Echo File1.Name
 Next
Next

ってやると、Files の内容はリアルタイムに変わってる。
でも、外側のループは正常に2回しか回らない。

ファイルをコピーするようにすると、Files はちゃんと増えるけど、
それでも外側のループは最初にあったファイルしか対象にしない。

なので、For Each の In に続く部分は一回しか評価してないみたい。

じゃあと言うことで、ループ中にファイルを削除すると今度は削除
した奴はそ知らぬ顔でスキップする。

う〜む、どうやっても >>191 の4ループは再現しない。

とりあえず、環境と再現した時のファイル名を書いてくれないか。

>>213
VBScript ではそもそも型付の宣言なんかできません。

216 名前:デフォルトの名無しさん [2008/08/04(月) 23:14:33 ]
>>213
createobject("Excel.Application")
createobject("Word.Application")
createobject("Autocad.Application")


217 名前:197 mailto:sage [2008/08/04(月) 23:20:45 ]
>>212
リネームすることでコレクション内のポインタ(moveNext() で動くやつ)の位置に
(恐らく)不整合が出るだけであって、ファイル数自体が増えるわけではないよ。

「(元のファイル名) -> (リネーム後のファイル名) (コレクションの要素数)」という
フォーマットで結果を吐き出すスクリプト。(当方環境:Me/WSH5.6)

var targetDir = "C:\\TEST"; // '1.TXT'、'2.TXT' の2枚のファイルが入っている。
var objFSO = WScript.CreateObject("Scripting.FileSystemObject");
var fo = objFSO.GetFolder(targetDir);
var fc = fo.Files;
var fe = new Enumerator(fc);
var filename = "";
var arr = new Array();
for (; !fe.atEnd(); fe.moveNext()) {
    filename = fe.item().Name;
    fe.item().Name = "_" + fe.item().Name; ... (a)
    //fe.item().Name = "~" + fe.item().Name; ... (b)
    arr.push(filename + " -> " + fe.item().Name + " (" + fc.Count + ")");
}
WScript.Echo(arr.join("\n"));

(「改行が多い」と怒られたので結果は次)

218 名前:197 mailto:sage [2008/08/04(月) 23:21:34 ]
結果:
(a)
1.TXT -> _1.TXT (2)
2.TXT -> _2.TXT (2)
_1.TXT -> __1.TXT (2)

(b)
1.TXT -> ~1.TXT (2)
2.TXT -> ~2.TXT (2)
~1.TXT -> ~~1.TXT (2)
~2.TXT -> ~~2.TXT (2)
~~2.TXT -> ~~~2.TXT (2)

219 名前:デフォルトの名無しさん [2008/08/04(月) 23:26:39 ]
varってみるとVARIANT思い出すよ・・・orz

220 名前:197 mailto:sage [2008/08/04(月) 23:27:50 ]
×fe.item().Name = "_" + fe.item().Name; ... (a)
×//fe.item().Name = "~" + fe.item().Name; ... (b)

○fe.item().Name = "_" + fe.item().Name; // ... (a)
○//fe.item().Name = "~" + fe.item().Name; // ... (b)

行末、コメントアウトするの忘れました。

221 名前:197 mailto:sage [2008/08/04(月) 23:42:35 ]
他にもいろいろとファイル名とプレフィックスを変えて試してみたけど、
はっきり言って予測不能な振る舞いをします。

今のところ、初期条件(ファイル名とプレフィックス)が同じであれば
何度試行しても結果が再現されている感じです。

222 名前:197 mailto:sage [2008/08/05(火) 00:23:27 ]
今回はリネーム作業でしたが、例えば Attributes プロパティを変更する処理では
このような問題は発生しませんでした。

223 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:31:31 ]
それって、予測不能って言わないよな



224 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:38:51 ]
そもそも、JScript と vbs じゃ処理が違って当たり前だと思うが。

225 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:52:18 ]
JScriptとVBScriptの処理の違いなんて今誰も問題にしていないが

226 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 01:05:26 ]
jsとvbsでは結果が違うぞっつー話じゃなくて
jsにしろvbsにしろコレクションのリネーム処理で
おかしなことが起こるぞっつー話だ罠

227 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 06:52:54 ]
>>217-218
XPじゃ再現しないなー

(a)
1.TXT -> _1.TXT (2)
2.TXT -> _2.TXT (2)

(b)
1.TXT -> ~1.TXT (2)
2.TXT -> ~2.TXT (2)

9xかFATに原因があるって事なのかな

228 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:32:51 ]
理屈が分からんと気味悪いね。
これって有名な不具合なんだろうか。
NT系だと絶対に大丈夫なのかな?

229 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 20:21:32 ]
WSHとは関係ないけど、Win32APIのFindFirstFileでも同様なことが起こったことがある。
そのときも環境によっておこったりおこらなかったりしたんだが、
同じWin2000でFAT32のドライブとNTFSでFAT32の方だけリネームされた物も引っかかった。
USBメモリ(FAT)でもおこったので、フォーマットの仕様かファイルシステムの問題なのかは
分からないが、とりあえず重複することを前提にしてからそのときは対策した。

230 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:43:30 ]
FATかと思ってフロッピー(USB接続)にファイル置いて>>217を何回かやってみたら
FAT→VFATになるタイミングで発生した!XP SP3

11111111.TXT -> _11111111.TXT (2)
22222222.TXT -> _22222222.TXT (2)
_11111111.TXT -> __11111111.TXT (2)
_22222222.TXT -> __22222222.TXT (2)
__11111111.TXT -> ___11111111.TXT (2)
__22222222.TXT -> ___22222222.TXT (2)

FAT→FATやVFAT→VFATだと発生しなかった。
でも他の環境では再現しないとか普通にありそうだな・・・。

231 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:16:15 ]
>>229
FindNextFile の説明にこんな記述がある。

The order in which this function returns the file names is dependent
on the file system type.
With the NTFS file system and CDFS file systems, the names are usually
returned in alphabetical order.
With FAT file systems, the names are usually returned in the order
the files were written to the disk, which may or may not be in alphabetical order.
However, as stated previously, these behaviors are not guaranteed.

簡単に言うと、

NTFS や CDFS だと大抵アルファベット順になるけど、FAT は書いた順になるよ。
でも、保証なんてしないからね。

と言うことなので、ここら辺の動作がファイルシステムで違うのは仕様と言うことらしい。

232 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:56:08 ]
順番が違うだけなら仕様の一言で納得するけど、
例のリネームし過ぎ現象は仕様としては到底受け容れ難いな。
もはや不具合だ。

そもそもリネームでタイムスタンプは更新されないけどな。
ディレクトリエントリは書き換えるだろうけど。

233 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:14:44 ]
やっぱり一旦配列に書き出すなりした方が無難ってことすかね
めんどいなぁ



234 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:24:00 ]
>>206にしとけ

235 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:24:54 ]
>>232-233
フォルダの内容を取得中にフォルダの中身変えたら取得内容を
保証できないのはある程度理解できる。

システム側で保持しておくと言う方法もあるけど、スゲーたく
さんファイルがあるフォルダの最初の数個を取得したい時に
全部のファイル名を取得されるまで Folder.Files が返ってこ
ないと言うのもちょっと困ったもんだと思う。

236 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:27:53 ]
全然一般性ないじゃん。

第一オリジナルファイル名が「new」で始まらない保証がない。

237 名前:236 mailto:sage [2008/08/06(水) 01:28:46 ]
>>234宛て、な。

238 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:30:46 ]
>>206=>>234 ダメグラマの典型だろ。

239 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:38:51 ]
一般性が必要か?

240 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:41:58 ]
一般性のある回避策(配列に書き出す)が提示されているのに
「運がよければ通用するかもしれない>>206の方法」に拘泥する理由は?

241 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:49:05 ]
質問者の技術力

242 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:50:57 ]
一般性の有る方法をコーディングするのに
多大なコストがかかるというのなら
とりあえず今だけ通用すればいいという
一般性の無いその場凌ぎな方法を採るのも
場合によっちゃアリだが
今の場合大してコストもかからないからな

243 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:52:27 ]
>>199



244 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 02:37:31 ]
普通はクラスライブラリからごりごり作っていくもんなの?
俺はコスト度外視日曜な人だから作ってる過程でライブラリが出来ていくって感じなんだけど。
日曜な人だからライセンス度外視で使えるライブラリは使うし。

245 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:31:01 ]
趣味なら何でもアリ、好きなようにやればよろし。

仕事なら、職場やプロジェクトの方針に従えばよろし。

246 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 22:12:15 ]
WSHのプロジェクトw

247 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 22:46:37 ]
プロジェクトの成果物が WSH オンリーと言うのは見たことないけど、
一部の成果物が WSH と言うのなら見たことあるぞ。

248 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 23:37:46 ]
Set ArrayList=CreateObject("System.Collections.ArrayList")
For Each ObjFile in CreateObject("Scripting.FileSystemObject").getFolder(".").Files
ArrayList.Add ObjFile
Next
For Each ObjFile in ArrayList
ObjFile.name = "new" & ObjFile.name
Next


249 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 02:00:25 ]
System.Collections.ArrayListってなんぞな?
どとねととか言うヤツ?
検索したら一部をvbsでも利用できるのがあるのかぁ


250 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 02:27:19 ]
vbsで.NETFrameworkを利用できるらしいけど
使えるってこととArrayListの例がちょこっとあるだけで
リファレンス的なものがみつからないんだよなぁ

251 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 05:31:04 ]
>>250
.NET Frameworkが使えるというよりも、特定の条件を満たしたCOMを
CreateObjectで使えるってだけだから、.NET Framework以外のCOMも
使える物があるし、.NET FrameworkでCOMがHKEY_CLASS_ROOTに
登録されていても使えない物もある。
WSHから扱えるクラスの網羅的な資料が提供されないままPowerShellが
出てきたってことは、MSとしてはPowerShellを使ってほしいんだろ。

252 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 10:03:48 ]
便利そうなのをちょっと使えるってだけっぽいね。
中途半端な対応は混乱するだけなのに。。。

PowerShellって現在の環境に導入するには
別途インストールしなければならないから導入しづらいんだよな。

253 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 12:32:46 ]
同じ高さにしてほしいな、WSHとPS



254 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 18:00:21 ]
vbsでSystem.Collections.ArrayListを使えば自分でせこせこ自作ソートを記述しなくてもいいのか
自分でソート書くのが面倒でjsを使うようになったらjsのオブジェクトがいじりやすくて慣れちゃったよ

255 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 19:13:52 ]
JScriptの配列は遅すぎて泣けるけどie8で速くなってる?

256 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 22:43:21 ]
>>255
会社のマシンに IE8 を試しに入れてるんだが、
JScript のエンジンも更新されてるんだろうか?

257 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 02:39:33 ]
そういう話は一応ある。
pc11.2ch.net/test/read.cgi/win/1211336412/206-210
www.google.com/search?q=cache:http://pc11.2ch.net/test/read.cgi/win/1211336412/206-210
www.google.co.jp/search?hl=ja&q=ie8+jscript.dll

258 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:36:53 ]
すんません、質問です。

スクロールキーがオンの場合、あるキーを入力するスクリプトを組みたいんですが、
オンかオフかWSH上で判断できますか?

259 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:15:33 ]
WSH上で判断することは出来るけど
WSHで判断することは出来ない

つまりCOMを作るか探すかしろってことだ
まぁがんがれ

260 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:55:48 ]
activex.dllはvb.net expressで作ればいいよ

261 名前:258 mailto:sage [2008/08/08(金) 23:56:28 ]
>>256, 260
どうもありがと。がんばってみます。。。

262 名前:デフォルトの名無しさん [2008/08/09(土) 01:03:17 ]
がんばれ。google先生に聞けば1時間でできると思うぞ。

263 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:45:18 ]
System.Collections.ArrayList
はJoinできない?
xJoin(ArrayList)
xArrayList.Join




264 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:24:01 ]
.NET Framework使うならMSDNライブラリくらい参照しようよ。

265 名前:デフォルトの名無しさん [2008/08/09(土) 22:48:07 ]
※MSDNライビュラリは有償です

266 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:50:57 ]
>>265
 |
 |
 |
 し


267 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:32:36 ]
>>263
Join出来るよ

268 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 14:01:35 ]
出来た!

269 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:34:48 ]
System.Collections.ArrayList
のソートで比較関数をVBScriptで作れない?
ArrayList.Sort GetRef("compare")
はダメだった

270 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 05:34:14 ]
vbsの変数名の最後につける型を指定するやつ(&H20&の末尾の&とか)の種類の一覧がどこにあるか知りませんか?
どういう単語で検索すればいいのか漠然としすぎて分かりません

あとこのURLの「[地域のプロパティ] の設定値」ってなんですか?
msdn.microsoft.com/ja-jp/library/cc392243.aspx


271 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:58:31 ]
>vbsの変数名の最後につける型を指定するやつ
vbsにはない。すれっち

272 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:06:32 ]
>型を指定するやつ
型を指定する文字

273 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 20:55:23 ]
最後じゃなくって最初じゃないの?



274 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:25:08 ]
>>270
前者は271も言ってる通りVBSには明示的な型というもの自体が存在しないが
VBやVBAに関してなら「型宣言文字」でググれ

後者は、例えば数値の表示形式で、3桁カンマ区切りをするか否かというオプションの場合
vbTrue→地域のプロパティの設定値に関係なく区切る(123,456,789.00)
vbFalse→地域のプロパティの設定値に関係なく区切らない(123456789.00)
vbUseDefault→地域のプロパティの設定値が「区切り有り」なら区切る、「区切り無し」なら区切らない

>>273
最初に付けるのは型を「指定」しているのではなく、型を「任意に明示」してるだけ
「指定」ではなく、しかも「任意」なので
Dim intHOGE As String
なんてことも出来る
これは「プレフィックス」で、上記intはハンガリアン記法での一般的なInteger型のプレフィックス
つまりInteger型のプレフィックスを付けておきながらString型を指定することが出来るわけだ

275 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:41:43 ]
>>274
ごめ ちゃんと読んでなかったわ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<94KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef