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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:22:48 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

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

●関連スレ
お前ら、wsh使ってますか? Part7
pc12.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画 Part2
pc12.2ch.net/test/read.cgi/tech/1220874815/
★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

266 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 20:11:05 ]
runするならプロセス環境変数で渡してもOKだな

267 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 22:20:36 ]
ちょっと難しい質問


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


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




268 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:27:10 ]
>>267
普通にできる
逆に「どーやったらできない」のか聞きたいくらいだ

269 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:59:10 ]
>>268
どうやればいいんだ…orz

270 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:24:25 ]
sss=inputbox()
createobject("wscript.shell").run "wsh2.vbs " & sss


271 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:36:54 ]
wsh2.vbsにも指定したsssにはwsh1で入力した数値が入ってるんだね?
参考になった!本当にありがとう!

272 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:45:02 ]
sssに入ってるというより、sssに渡したい値を引数として入れて
別のスクリプトを起動するっつうことだろ。
その結果、受けるほうはWScript.Argumentsで引数として受け取る。
またはWScript.CreateObject("WScript.Shell").Environment("Process")で渡して、受け取る。
テキストファイルを使っても渡せることは渡せる。

273 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:48:40 ]
「〜できる?」
  ↓
「どうやればいいんだ…orz」
  ↓                 ←今ココ
「全部ソース書いて」

274 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:52:37 ]
JScriptは永遠に不滅です!



275 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 11:46:42 ]
>>272
Processに入力されたデータを入れるには?

276 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:27:41 ]
それはとっても難しい質問だね

277 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:41:12 ]
どうやればいいんだ…orz

278 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 16:20:56 ]
>>275
> ○○に入力された××を入れるには?

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



以下に示す程度のガキは相手にされないことが多い
・どこまで分かるのか書かない        ←「オレが分かるように答えろ」というレベル
・「どうやればいいんだ…orz」を多用     ←「助けてママ〜」というレベル
・スレ内を検索できない
・ググれない
・scd56jp.exeをDLしてマニュアルを読むことができない

279 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 22:46:06 ]
>>278
>scd56jp.exeのマニュアル見てやっとわかった ありがとう

280 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:09:02 ]
>>279
そうか。具体的にどう解決できた?サンプルを書いてみて。

281 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 12:51:16 ]
>>280
WSH = WScript.CreateObject("WScript.Shell").Environment("Process")a = Inputbox
WSH = Item("A") = a

282 名前:デフォルトの名無しさん mailto:sage [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)

283 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:13:16 ]
WSHのコードやよく使う関数をdllにできたらすごく便利だね うふ

284 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:17:06 ]
classでまとめておくのはやってる。



285 名前:デフォルトの名無しさん mailto:sage [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

286 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:39:49 ]
>>285
だってこれJScript用だし

287 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:56:09 ]
>>286
>>だってこれJScript用だし
>>282 に >>1.vbs
って書いてあるのに、それはねえべよ〜w こんな後だしジャンケンは初めてみたわw

288 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 15:16:12 ]
>>287
うん
そりゃね
VBSで動作実験してからJScript用に変えたから…



先にそれを書いておくべきだった すまない

289 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 15:39:06 ]
今回は >>278 の忠告を聞かない>>287が悪い。

290 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 16:08:30 ]
wscript.exe //e:jscript 2.vbs
で起こすから…

291 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 17:35:03 ]
審判長「ただ今の協議について説明いたします。
行事は、忠告を聞かなかった>>287の右足が俵を割ったと判定して
>>286に軍配を上げましたが、
>>290 のカウンターが>>287のあごにヒットしたため、
>>290の勝ちと判定いたします。」

292 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:10:52 ]
ttp://memoofwork.seesaa.net/article/13976209.html

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


Length はリンク個数を取得してるのはわかるんだが・・・
なんで次へ のリンクに飛ばないんだ?

293 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:31:48 ]
>>292
わすれてた
リンクの場所はGoogleの検索結果です


294 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:47:07 ]
>>292
ちょっと見た感じ、元のページの内容が怪しそう
hrefってURLを表してるんじゃないの?

×If objIE.Document.links(i).href = "次へ" Then
○If objIE.Document.links(i).innerText = "次へ" Then
これならどう?




295 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:58:08 ]
>>294
できました!ありがとうございます!


296 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:05:16 ]
ごめんなさい 追加で質問です・・・
>>292をJScriptで同じようなことをさせてみようと思ったんですけどうまくできないんです

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("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();};

これだと動かないんですがどうしたらいいでしょうか・・・

297 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:26:35 ]
>>297
これで動いた

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("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;
}
};


298 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:33:41 ]
>>298
ありがとうございました

299 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:59:09 ]
>>297
>if ((""+IE.Document.links[i].innerText)==("次へ"))
このような方法は知りませんでした

もっと勉強します ありがとうございました!

300 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 23:03:25 ]
ああ、失礼
最初の ""+ はなくてもよいかも
オブジェクトが null になる可能性がある場合、これをいれておくととりあえあず文字列になって
エラーにならないので入れてみた(最初に>>296を起動したときエラーになったので念のために)
正しくオブジェクトが取得できる前提なら不要


301 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 00:13:58 ]
>>300
エラーになったみたいです・・・
一行目の1文字目の文字が正しくないって・・・
どういうことなんでしょうか

302 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:19:22 ]
1行目1文字目はいくらなんでもおかしい

文字が全角になってるとか、
ファイルがBOM付きのUTF-8になってるとか、
構文以前の基本的な個所でエラーになってる可能性がないか?

303 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:00:29 ]
WSHでOperaやFireFoxにURLを渡すのは不可能なんだろうか…


スレイプニルはできるのになぁ

304 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:14:35 ]
bugbrowser や Nilbrowserも出来るね。



305 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:15:26 ]
>>303
釣りとしか思えないなぁ・・・

バカが「OperaやFireFoxにURLを渡すのは不可能なんだろうか」って言うようなソースを晒してくれ

306 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:33:17 ]
>>305
ActiveXがないからWSHが使えないだけでActiveXがあればWSHが使えるんだからOperaやFireFoxにもActiveXが搭載できればいいんじゃないかと思うんだが

307 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:47:18 ]
>>306
コレは完全に釣りだな
面白いからソース晒せ

308 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:56:58 ]
>>307
RunでOpera.exeだのFireFox.exeを起動させただけのソースコードがみたいとは奇っ怪な

309 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 04:07:27 ]
>>308
「Sleipnirではできる」のに「OperaやFireFoxではできない」って言う奇怪なソースを早く晒せ

釣りには「ノリ」も必要だぞ

310 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 09:43:40 ]
恥ずかしい後釣り宣言来ました

311 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:35:12 ]
つDDE

312 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:44:54 ]
>>303
で何したいン?ただ外部のスクリプトからFirefoxでURLを開ければいいのか、FireFoxをスクリプトでいろいろ制御したいのか?

313 名前:デフォルトの名無しさん mailto:sage [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);

314 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:31:11 ]
>>313
なんでSendKeys?
FSO使えばいいだろ
あと変数名が酷いなw



315 名前:デフォルトの名無しさん [2010/06/28(月) 19:37:26 ]
個人で作って使ってんだ。
変数名なんて本人の好きで構わんだろ。


316 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:45:00 ]
これは難読化されたコードなんだよ

317 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:47:44 ]
>>314
FSOですか・・・それは知りませんでした

あと 変数名は適当に決めています


318 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:52:35 ]
変数と言うぐらいだから変な名前で何が悪い!

319 名前:デフォルトの名無しさん [2010/06/28(月) 20:40:07 ]
変な名前では無いと思うが。w

320 名前:デフォルトの名無しさん mailto:sage [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 は改行をしてくれるはずだったんですが・・・

321 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:52:44 ]
>>320
WriteLine()は最後に1つだけ改行する

aaa="";
while(...) {
aaa = aaa+なんとか;
}
の代わりに以下のようにすればよい
aaa=[]; // 配列にする
while(…) {
aaa.push(なんとか); //配列への要素の追加
}

abc.WriteLine(aaa.join("\r\n")); // 配列の各要素を改行で連結し、それを書き込み

322 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 21:01:01 ]
SeraphyScriptDialogは新しいのが出て64bitWindows7にも対応してた。AutoItXも更新してる。
みなさんは使ってますか?

323 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 22:43:15 ]
いいえ

324 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 22:46:49 ]
いいえ



325 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 23:02:55 ]
つかってるがぜよ

326 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 14:04:56 ]
>>312
後者

327 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 16:32:44 ]
大変だから止めた方がいい

328 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 05:52:09 ]
Opera,FireFoxも「JavaScript系で簡単に制御」できる
WSHじゃないのでスレチ


>>322
レジストリ使う時点で糞なので使わんだろ
汎用GUIからScriptControlでWSHを使うのが普通だな

329 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:39:59 ]
>>328
そのスレはどこに?

330 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 09:26:23 ]
>>329
「何をしたい」のか明記せずに糞みたいな質問ばかりすんな
とりあえず >>278 を読み直して内容を理解しろ
そして質問し直せ

それが出来なければ、自分でスレを探せ

331 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 16:13:45 ]
糞みたいなレスばかりすんな

332 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 12:40:39 ]
>>328
XPのmanifest使えばインストール無しでもDllは使える。
起動時のwscript.exeは、マニフェストがあるパスのwscript.exeを使わなきゃいけないけど。
システムを汚さなくても使うことは出来る。
エディタのマクロやブラウザのマクロのjscriptでも同じように使える。
システムへのインストールはいらない。

お前ら、wsh使ってますか? Part7
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


333 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 14:05:58 ]
>>332
ソレ知ってる
SeraphyScriptDialogとAutoItXは「機能不足なので使わない」って方が正しい
>>328 を分かりやすくしておく

 レジストリ使う時点で糞なので使わんだろ
    ↓
 レジストリ使わなくても鼻糞なので使わんだろ

334 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 16:03:24 ]
>>333
ならそう書けよ。後出しジャンケン好きはプライドだけは高いから困るんだw
会社でもそういわれてるだろ?違うかい?
それで低機能ならSFCminiでも使ってみりゃいいさ。



335 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 16:09:06 ]
会社でも近所でも鼻つまみ者です

336 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 02:10:03 ]
>>334
自作の汎用GUIは「GUI/DLL絡みは外部テキストファイル定義」で、WSHからもコントロール可能にしてある
だから SeraphyScriptDialog,AutoItX,SFCmini のような「WSHにベース機能を提供するもの」は使わんよ

「他人がする評価」については否定も肯定もしない
因みにオレは未成年で学生だ
社会人扱いは止めてくれ

337 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 13:51:54 ]
>>336
ちなみにwin32APIにアクセスしたいときはどうしてるん?プロセス間通信とか、外部のアプリにメッセージ投げたいときとか?

338 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 16:10:54 ]
学校でも家庭でも鼻つまみ者です

339 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 18:29:24 ]
わざわざ外部ソフト入れんでも.NETやPowerShell使えばええやん

340 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 22:24:23 ]
>>339
標準語でおk

341 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:33:34 ]
またPowerShellかよw このスレの意味がない。

342 名前:デフォルトの名無しさん [2010/07/03(土) 23:55:49 ]
>>337へのレスが無いね。
質問しといて遊び呆けて無ければ良いが…

343 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:41:11 ]
2chは煽るばっかりで難しい質問には答えられません

344 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:14:33 ]
VBScript コマンドから Windows PowerShell コマンドへの変換



345 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 11:21:04 ]
GUIはHTAでもいいかも。
足りない部分は外部のDll使おうが、PowerShell使おうが、
そこを関数化しておけばいいんじゃないの?
あとで簡単に置換え出来るでしょ。
Postmessageが使えるだけでもWSHやHTAから出来ることは大きく広がる。

346 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:46:37 ]
TextStreamオブジェクトをFunctionとかで呼んで戻すことができない・・

347 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:40:06 ]
>>346
あほにはできない・・

348 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 19:22:33 ]
>>346
できるよ・・

349 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 21:33:20 ]
そういやPowerShellのスレはないんだな

350 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 08:54:52 ]
win板にあるあるよ

351 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 19:50:29 ]
ボタンのあるHTMLをieオブジェクトで開いた時、
ボタンクリックのイベントをWSH側で拾うことは
可能ですか?

352 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:09:42 ]
はい

353 名前:351 mailto:sage [2010/07/07(水) 08:05:20 ]
ヒントちょうだい

354 名前:デフォルトの名無しさん mailto:sage [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);
  }
}



355 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 12:56:52 ]
>>354
それだと不便だろ?
ScriptControl使え

356 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:32:00 ]
>>354
それだと不便だろ?
WSF使え

357 名前:デフォルトの名無しさん mailto:sage [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>

358 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:55:12 ]
スクリプトを動的に変更する場合は、一般的にScriptControlを使用する

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

>>357 のやり方はスクリプトの一括読み込みなので構造が違う
無駄なスクリプトも全部読み込みたい場合はwsfでも良いけど
ファイル構成も異なるので使い難い

359 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:04:38 ]
>>358
スクリプトコントロールを使うっていっても、その元になるスクリプトを書かれたファイルを読み込まなくていいのか?
たとえばどうやって書くわけよ?
vbsのinput使うみたいな形で、scriptcontrol使ってる例はあるわな。
どうしてもその言語じゃ処理できない場合に使う方法として。
その場合は、スクリプトのなかで記述しちゃってるよね。
>>354は、メインのスクリプトファイルから外部の関数やクラスをimportしたいんだろうから、
その都度読み込もうが、wsfでも何の問題もないと思うんだが。
ScriptControlを使う場合の方法と、そのメリットを判り安く解説してみてくれ。

360 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:12:49 ]
vbsからjsならscriptcontrolかもしれんが、jsからjsならevalでええ、scriptcontrolつかうなんてあほくさ

361 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:16:58 ]
だいたいimportしたいってのは、ファイル構成をわけて、
過去に作った関数を再利用しやすくするためのもんだと思うんだが・・・
ファイル構成をわけたくなきゃ、同じファイルにその関数をコピペすりゃいいだけだが、
それやってくと、それはそれで面倒臭いこともある。

362 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:34:23 ]
scriptcontrolつかいたければつかえば? どうぞどうぞ とめないよ

363 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:57:08 ]
importしたい奴にScriptControlのほうがいいと薦めるのか?
意味がわからん。誰か解説ヨロ

364 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 21:34:04 ]
断る



365 名前:デフォルトの名無しさん mailto:sage [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>


366 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 22:46:31 ]
つまらん






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

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

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