05/10/22 23:45:17
でも結局動作の振り分けは「InputBoxの中身(戻り値)が」なんでしょ
ならcase elseで処理させればいいじゃん
どう機能拡張しようと、「InputBoxの中身(戻り値)」で動作を分岐させるなら
select caseで間に合わなくなることは無いわけだが
397:394
05/10/23 00:02:49
>>396
現状の使用では、Select Caseで、全く問題なさそうですね。
また、変なネタかプログラムができたら、レスします。(^^)
その時は、またコメントよろしくお願いします。
他に、機能拡張するとしたら、何かありますか?とか聞いたりして‥
InputBoxで、IEみたいに、途中まで入力した文字列の補完って
できないですよね?
398:デフォルトの名無しさん
05/10/23 00:13:40
標準のinputbox自体では出来ないけど、
例えば末尾に"..."と入れたら入力補完するとか規則を決めて、
inputboxのの戻り値がright(,3)="..."だったら、補完リストから部分一致を検索して
もう一度inputboxを表示するとかはできるだろうな
399:397
05/10/23 00:20:38
φ(..)メモメモ...
400:ハーピィ
05/10/23 23:12:32
E・∇・ヨノシ <400ゲット♫
401:デフォルトの名無しさん
05/11/05 10:18:19
モバイルでプログラム【NS BASIC/CE】
スレリンク(mobile板)
NSBASIC/CEはWSHを知ってるならほぼ使えるよ!
PDAであるWindowsCE上(実質シグマリやjornadaでないときついが。)でもデスクトップでも
開発が可能。
手のひらで自分の作ったアプリが動く喜び!最新Ver6.02は、EXE化されたものに好きな
アイコンをつけられるのでほとんどスクリプトと分からない。
NS Basic/CEは、WindowsCEにRuntimeを導入してその上で動く。
最新のWM5にも対応しており、日本語版も出ているし、日本語サポートもいるので安心だ。
402:デフォルトの名無しさん
05/11/05 10:19:38
よかったら購入してユーザーにならないか? 俺もユーザーになったばかりなんだ。
日本サポートに確認をしたんだが、WEBでユーザー登録していただいて、その後、日本語サポートに連絡を
くれたら、無料Ver6(最新版)にアップデートできるそうだ。
FACTORY SABOT
501 Maritaimu 9-9 Higashimaikochou, Tarumi-ku, Kobe, Japan
Phone(078)787-3602 Fax(078)787-3619
URLリンク(www.sabot.co.jp)
sales@sabot.co.jp
MobilePLAZA
6-3-7-1F Sotokanda, Chiyoda-ku, Tokyo, 101-0021 Japan
Tel 03-3834-0315
URLリンク(www.mobileplaza.co.jp)
で買える。URLリンク(www.nsbasic.com) が公式なんだが
DEMO版で試すことができるから、WSHのソースを貼り付けてみるといい。実質WSHだから。
シャープのW-ZERO3のCOMコントロールでPHSに信号を送り電話がかけられることがシャープより
確認が取れてるから今度出るWM5にも対応してる。
どだ?さみしいから仲間になってくれないか?NSBASICがほぼWSHというのを知らない人が
多いんで宣伝してすまそ
403:デフォルトの名無しさん
05/11/05 10:26:28
あ、このWEBでユーザー登録して日本語サポートにメールくれたら
最新のをというのは
Ver5を買っても、無料でユーザー登録した時点の最新Verアップが可能と言うことなんだ。
お前ら、wsh使ってますか? part5 にも貼ったので両方覗いてる人にはすまんかった
404:デフォルトの名無しさん
05/11/06 10:42:40
以前、H;/PCで、Embedded VBを少し使ってたけど、少しVBに似てるってだけで
なかなか使いづらかった。コントロールの数が少なくて。
WSHよりも更に、機能が少ないんじゃないかって感じた。
NS BASICか‥、どうなんだろう、その実力はいかに‥
405:デフォルトの名無しさん
05/11/07 11:12:04
DEMO版があるよ。WSHのソースがほぼそのまま画面周りは修正しなくては行けないが
使えるのでソースぺたぺた貼り付けて動き具合を試してみてはいかがかな?
国内ではほとんどユーザーがいないが、海外ではNSBASIC/CE掲示板は
思い切りにぎわってる。
まずPDAスペックがあがったため、そこそこのスピードで動くようになったのも
大きいと思う。
コントロールの数もかなり増え、WSHとほぼ同じように使える。
はっきり言ってVer3のころなどへぼかった。4、5、6になるにつれ進化していってる。
Palm版のNSBASICもそうなんだが、なんとか使えだしたのはどちらもVer4ぐらいから
じゃないかな?
俺も始めたばかりなんで少しでも仲間が欲しい。なにせWSH入門を読んでるレベルだからだ
406:デフォルトの名無しさん
05/11/23 02:13:33
ホシュ
407:デフォルトの名無しさん
05/11/27 19:13:55
Set objShell = WScript.CreateObject("WScript.Shell")
colEventSource = objShell.RegRead("・・・・・・・・・")
としてレジストリをしらべようと思っているのですが、
レジストリのフォルダ構造を調べるにはどうしたらよいのでしょうか?
(HKEY_CURRENT_USER\Software の下に何が入っているか知りたいなど・・・)
知っているかたがいましたら教えてください。
408:デフォルトの名無しさん
05/11/27 19:31:11
regedt32.exe
regedit.exe
409:デフォルトの名無しさん
05/11/27 19:48:12
>>407
WshShellのメソッドで出来ることは、値を読んだり書き換えたり消したりくらいで
サブキーの列挙とかは出来ないので、キー構造を取得したければDynaCall使ってAPI呼ぶか、
自分でCOM作るかだな。
まあ作らなくても探せばあるかもしれないけど、この板の住人ならこの程度は作った方が早いだろ。
410:デフォルトの名無しさん
05/11/27 19:52:04
ふつうWMI使う
411:407
05/11/27 20:49:32
>>409>>410
レスありがとうございます
WMIを使って解決出来ました。DynaCallは面白いと思うので、何かのときに利用したいと思います。
(以下作ってみたスクリプト)
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer("","root\default")
Set Reg = Service.Get("StdRegProv")
Reg.EnumKey &H80000001,"Software", SubKeys
For Each Key In SubKeys
WScript.Echo Key
Next
412:デフォルトの名無しさん
05/11/29 22:54:41
スクリプトそのものとは関係ないんですが、ちょっと困った現象が
起きているので誰か力を貸してください。
WScript.Echo "test"
という1行だけのスクリプト(test.vbs)を作って、
コマンドプロンプト上で
cscript //nologo test.vbs
と実行します。すると、標準出力に
test
と当然出力されます。
そして処理は終わってるはずなんですが、
そのまま5-10秒くらいプロンプトに戻ってきてくれません。
何の後始末をしているのか知りませんが、^Cも無視されます。
どのような原因が考えられるでしょうか。
413:412
05/11/29 23:10:31
一応その他の情報を。
OSはWindows Server 2003
試したこと。
・引数なしでcscriptを実行
使い方が表示されてすぐ戻ってきました。
・エラーを含むスクリプトを実行
エラー情報が表示されて、5-10秒待たされます。
試そうとしていること
・JScriptのファイルを実行
・正常に動くマシンとスクリプトエンジン/WSHのバージョンを比較してみる。
414:デフォルトの名無しさん
05/11/30 02:39:03
cscript //nologo
だけだったら?
415:デフォルトの名無しさん
05/11/30 22:04:13
>414
スクリプトファイルを指定しろといわれて終わります。
すぐ戻ってきます。
あきらめムードです。
416:デフォルトの名無しさん
05/11/30 22:30:24
>>415
VMWareの体験版で素の状態を作ってみれば
自分で比較できるんじゃない?
メーカ製のリカバリディスクじゃなく
windowsのインストールCDを持ってること前提だけど。
417:デフォルトの名無しさん
05/11/30 23:07:08
>cscript test.vbs
---- 略 ---- Wiindows Script Host Version 5.6
---- 略 ----
test
>
1秒以内
418:デフォルトの名無しさん
05/11/30 23:07:36
↑一応 Server 2003
419:デフォルトの名無しさん
05/12/02 00:24:38
質問させてください。
ドラッグ&ドロップでscriptが起動されたフォルダを取得するにはどのようにすればよいでしょうか?
通常、scriptが起動されると
fs.GetFolder(".")
でカレントを拾えます。
しかしながら、スクリプトファイルに何かをドロップしてスクリプトを起動した場合
\Document and Settings\user
がカレントになってしまいます。
きちんとスクリプトが置いてあるフォルダを取得したいのですが方法ありませんでしょうか?
420:デフォルトの名無しさん
05/12/02 01:11:42
>>419
WScript.ScriptFullNameからFile作ってParentFolderとか。
421:デフォルトの名無しさん
05/12/02 01:53:08
>420
ファイル作る必要はないだろ。
WScript.ScriptFullNameはフルパス返すから
ファイル名を取り除けば十分なんじゃない。
422:デフォルトの名無しさん
05/12/02 03:59:28
> ファイル作る必要はないだろ。
必要性の問題じゃないだろ。
>>420もひとつの方法、>>421もひとつの方法。
WScript.ScriptFullNameからFSOのFileオブジェクトのParentFolderプロパティの値を得る>>420
WScript.ScriptFullNameからFSOのGetParentFolderNameメソッドの戻り値を得る
WScript.ScriptFullNameから文字列操作関数や正規表現でファイル名を取り除く>>421
等々…
以後の処理でFSOを使わないなら文字列操作で切り出してもいいけど、FSO使うなら、
ここでParentFolderプロパティ、GetParentFolderNameメソッド等を使わない手は無いだろ。
逆にこの処理の為だけにFSO使ったってなんら問題ないし。
423:デフォルトの名無しさん
05/12/02 07:14:20
>>422
HTAではVBScriptの仕様を受け継いでいるが、このどれかが使えなかったはず。
424:デフォルトの名無しさん
05/12/02 18:20:23
>>423
WScript
425:デフォルトの名無しさん
05/12/03 09:05:11
バッチファイルやWSHと言うと、こんなソフトがあるんだけど、
誰か使ってみてくれない?
URLリンク(www.vector.co.jp)
メールにもJavaScriptが書けるらしい。
正直どうよ。
426:デフォルトの名無しさん
05/12/03 09:10:25
>>425
糞ソフトのマルチ宣伝乙
427:デフォルトの名無しさん
05/12/03 14:14:36
シェアウェアの宣伝かよ m9(^Д^)プギャー
つーかこんなもん、この板の住人が金払ってまで欲しがるとは思えないな
フリーなら使うかも知れないけど、そうじゃなければ欲しけりゃ自分で作るって
428:デフォルトの名無しさん
05/12/03 18:13:33
>>427
では、作ってください。
できればフリーで。
よろしくお願いします。
429:デフォルトの名無しさん
05/12/03 18:33:23
欲しけりゃ自分で作るが、
なんておまえのために作らなきゃならないの?
俺が欲しくて作るなら、作った物は自分にとって益となるが
俺が欲しくもない物を、おまえのために作って俺に何の益がある?
つーか宣伝がバレて逆切れすんなよ m9(^Д^)プギャー
しかも宣伝だけでなく宣伝後の行動まで向こうと一緒で笑えるw
まあ作者じゃないと口先だけで否定することは出来るけどな
430:デフォルトの名無しさん
05/12/03 19:43:19
>>429
よくわからないけど、あなた何か勘違いしてません?
431:デフォルトの名無しさん
05/12/03 19:46:32
425(´・ω・) カワイソス
432:デフォルトの名無しさん
05/12/03 20:07:13
なんか哀れだな。
とりあえずメ欄のスペースは止めておけ。
433:デフォルトの名無しさん
05/12/03 21:14:14
何かもう一つのWSHスレッドでも暴れてますね、こいつ
434:デフォルトの名無しさん
05/12/03 22:03:22
>>431-432
なぜ、同情されているのでしょうか?
435:デフォルトの名無しさん
05/12/03 22:13:16
滑稽なピエロ成り下がってるから
436:デフォルトの名無しさん
05/12/03 22:31:24
ちょーてきとーだけど、pythonで書いてみた(・∀・)
#!/usr/local/bin/python
import poplib, os
M = poplib.POP3("pop3.mail.server")
M.user("username")
M.pass_("password")
numMessages = len(M.list()[1])
for i in range(numMessages):
body = []
eoh = 0
for j in M.retr(i+1)[1]:
if eoh == 0:
if j == "":
eoh = 1
elif j[0:8].upper() == "SUBJECT:":
if j.find("This Is Script") == -1:
break
else:
body.append(j + "\n")
else:
M.dele(i+1)
f = open("tmp.py", "w")
f.writelines(body)
f.close()
os.system("python tmp.py")
M.quit()
437:デフォルトの名無しさん
05/12/04 07:25:01
>>436
ぶおっ! pythonでそんなことまでできるのか!
WSHでメールを送るときはCDOを使わないといけないのに
438:デフォルトの名無しさん
05/12/04 07:48:37
自演乙
439:デフォルトの名無しさん
05/12/04 17:52:42
ActivePythonやActivePerl入れて使うなら、これもWSHの仲間では? 使ったことないけど。
440:デフォルトの名無しさん
05/12/09 03:45:33
標準的なWindows環境で実行できるのがWSHの魅力なのに
追加でインストールが必要な時点で興味がない。
441:デフォルトの名無しさん
05/12/09 04:19:27
( ゚д゚)ポカーン
442:デフォルトの名無しさん
05/12/09 04:35:54
>>440
ソフトのインストールすらできない代物でも使える場合があるのは確かに魅力だよな。
お陰で多少使えるようになった。
443:デフォルトの名無しさん
05/12/09 05:55:33
( ゚д゚)
444:デフォルトの名無しさん
05/12/09 07:30:03
> 標準的なWindows環境で実行できるのがWSHの魅力
激しく同意
> なのに 追加でインストールが必要な時点で興味がない。
激しく遺憾
標準環境で実行出来るってのは、自機以外で使ったり、
他人に渡したりするときのメリットでしょ。
そしてこれはwshの魅力の一面に過ぎない。
自機で使う分には、コンポーネントによる機能や言語の
拡張がしやすいという魅力を存分に味わおうよ。
445:デフォルトの名無しさん
05/12/09 08:49:23
標準機能だけでやるとするとwshからsendkeysでtelnet操作して
telnetのログファイルを読み込んでごにょごにょするのか?
メール受信するとこまで書いてみたけどsendkeysでの操作はちょっといやんだな。
telnetはなぜか空行をログファイルに出力してくれないし。
446:デフォルトの名無しさん
05/12/09 21:38:25
442(´・ω・) カワイソス
447:デフォルトの名無しさん
05/12/09 22:25:34
>>445
つWshScriptExec オブジェクト
448:デフォルトの名無しさん
05/12/10 01:28:18
>>447 いやそれ機能しないよ。
449:デフォルトの名無しさん
05/12/10 07:58:12
>>445
もうTeraTermとか、マクロを持っている通信ソフトに任せろYO
450:デフォルトの名無しさん
05/12/11 01:22:51
ActivePerlはバイナリが扱えるのが大きいな。
python?布団はシラネ
451:デフォルトの名無しさん
05/12/17 10:03:42
WSHで作成したシェアウェアってあるの?
452:デフォルトの名無しさん
05/12/17 10:34:00
あるよ
453:デフォルトの名無しさん
05/12/20 05:16:03
WSHはスクリプトを実行する環境であってそれを使って何かを作成するわけじゃない
454:デフォルトの名無しさん
05/12/24 10:26:03
WindowsAPIのSendMessage関数を利用してWM_COPYDATAメッセージを用いて
目的のウィンドウにデータを飛ばす方法はあるでしょうか・・
検索して、DLLファイル(この場合、user32.dll?)を利用する方法があるらしいとは判明したのですが・・
URLリンク(homepage3.nifty.com)
どうすればよいでしょうか。
指定ウィンドウにデータを渡すのに、上記以外にも良い方法がありましたら解説を伺えれば幸いです。
455:デフォルトの名無しさん
05/12/24 11:15:21
>>454
そこにも「DLLの一部の関数を使うことができます。」と書いてある通り、
全ての関数がその方法で呼べる訳じゃない。
とりあえず引数に構造体を使う(ことがある)関数は呼べないと思った方がいい。
SendMessageを使いたければDynaCallなどを利用して関数を呼ぶとか
SendMessage関数を呼べるCOMを導入するとかしな。
456:デフォルトの名無しさん
05/12/24 11:25:07
>>455
ご回答ありがとうございます。
>とりあえず引数に構造体を使う(ことがある)関数は呼べないと思った方がいい。
そうなんですか。。
WSHの標準機能のみでは、その回避できない問題なのでしょうか。。
>SendMessageを使いたければDynaCallなどを利用して関数を呼ぶとか
>SendMessage関数を呼べるCOMを導入するとかしな。
検索していると、DynaCallの文言を時々見かけました。
内容が記述されているところを探して見ます。
ありがとうございました。
457:デフォルトの名無しさん
05/12/24 11:28:18
run()やexec()を用いてアプリケーションを起動する時に、
アプリへの引数に文字数制限はあるのでしょうか?
458:デフォルトの名無しさん
05/12/24 11:33:06
>>457
WSHとは関係ない普通のコマンドラインの制限だけだろ。
459:デフォルトの名無しさん
05/12/25 02:41:44
255
460:デフォルトの名無しさん
06/01/06 23:26:34
VBSでMSIEのCOMを使用した際の、質問をさせてください。
OSはWindows2000 SP4で、使用したのはWSH ver5.6です
documentオブジェクトからallコレクションを取得したいのですが
document内でname=allを使用したエレメントがあるため
document.all で allコレクションではなくて
そのエレメントが取得されてしまいます
最終的にdocument.all.tagsが使いたいのですが
document.all以外の方法で
全エレメントのコレクションを取得する方法はありますか?
質問スレが見当たらなかったのですが
もっと適切なスレがあれば教えてください。
よろしくお願いいたします。
461:デフォルトの名無しさん
06/01/07 00:36:51
>>460
これじゃ代わりにはならない?
URLリンク(msdn.microsoft.com)
462:460
06/01/07 01:11:27
>>461
リンク先を読んだところ、childnodesを辿ればできそうです。
ありがとうございました!
463:デフォルトの名無しさん
06/01/09 17:17:09
WSHのいい開発環境が何かあれば、教えてください。
464:デフォルトの名無しさん
06/01/09 17:26:29
メモ帳最強
465:デフォルトの名無しさん
06/01/09 17:38:28
>>463
おまえが実際に使ってみて"いい開発環境"だと思った物が
おまえにとって"いい開発環境"だ。
俺にとって(・∀・)イイ!!ものが、おまえにとっても(・∀・)イイ!!ものだとは限らないので
具体的なソフト名は伏せておく。
466:デフォルトの名無しさん
06/01/09 19:35:06
>>463
Microsoft Visual Web Developer 2005 Express Edition
467:デフォルトの名無しさん
06/01/09 21:19:03
>>465
> おまえが実際に使ってみて"いい開発環境"だと思った物が
> おまえにとって"いい開発環境"だ。
ダウト!! でしょ。
もっといい環境を知ってしまったら、それまでいい環境と思っ
てたものが糞環境になってしまう。
っていう経験はしたことないのか?
まあ、後半は同意だが。
468:デフォルトの名無しさん
06/01/09 22:05:14
ワロタw
こんなアフォもいるのか
469:デフォルトの名無しさん
06/01/09 23:28:02
同意
470:デフォルトの名無しさん
06/01/09 23:45:01
救命胴衣
471:デフォルトの名無しさん
06/01/11 08:07:39
これは救えない
472:デフォルトの名無しさん
06/01/11 08:23:16
ホント、467みたいなバカってどこにでも居るのな
473:デフォルトの名無しさん
06/01/11 08:31:37
467は日本の恥。人間の屑。地球のゴミ。大宇宙の神秘。
474:デフォルトの名無しさん
06/01/11 12:34:00
ヤバい。>>467ヤバい。まじでヤバイよ、マジ(r
475:デフォルトの名無しさん
06/01/13 08:59:53
自然数 N が与えられたとき、
1 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは WSH で書くとどうなりますか?
例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。
476:デフォルトの名無しさん
06/01/13 09:07:30
>>475
何処ににどう並べたいのか知らないけど
普通に乱数使ってやればいいだけの話
それが解らないようだとこの板にくるのは30分早い
まあ、頭のデキ次第では「数年早い」かもしれないがな
予備知識が無くたって、並の知能を持ってれば
この程度のことは30分も調べればわかる
477:デフォルトの名無しさん
06/01/13 09:50:03
>>476
組み合わせをすべて列挙するのに乱数要るのか・・・?
478:デフォルトの名無しさん
06/01/13 10:05:26
ごめん、別スレで煮た質問有ったんで勘違いしてた
乱数じゃなくて二進数だな
どっちにしろわけないものだがな
479:デフォルトの名無しさん
06/01/13 10:07:09
>475
順列を全て書き出したいって事?
「順列 アルゴリズム」で検索すればいろいろヒットすると思うが。
WSHにこだわらなければ↓とか。
URLリンク(www.vector.co.jp)
480:デフォルトの名無しさん
06/01/13 12:11:13
では >>478 のプログラムを拝見しましょうか。
481:デフォルトの名無しさん
06/01/13 12:18:48
で?
482:デフォルトの名無しさん
06/01/13 12:49:44
定期的に起動するVBSを書いています。
VBSの中でMSIEのCOMを使用してIEを開いているのですが、
その時にウインドウのフォーカス(?)がとられてしまいます。
これを回避する方法はないでしょうか?
OSはWindowsXP SP2です。
Dim objIE
Set objIE = CreateObject("InternetExplorer.application")
objIE.Offline = true
objIE.Navigate LoginURL
Do While objIE.Busy = True
Loop
Do While objIE.readyState <> "4"
Loop
483:デフォルトの名無しさん
06/01/13 21:10:41
もう一度自分にフォーカスすればいいんじゃない?
484:デフォルトの名無しさん
06/01/14 05:27:28
Offlineである必要がどうしてもあるなら妥協せざるをえない
485:デフォルトの名無しさん
06/01/14 15:12:49
>>479
糞ソフトの宣伝乙
486:デフォルトの名無しさん
06/01/14 17:12:56
>475
基本をちゃんと理解しておけば後は簡単、パズルみたいなもんだ。
分からないところがあったら、こまめに教官に聞きに行け。
授業料払ってるんだから分かるまで何度でも聞きに行け。
487:デフォルトの名無しさん
06/01/14 18:24:26
>>475
素直に組めばこんなもんかな
Option Explicit
Permutation 9
Private Sub Permutation(N)
WScript.Stdout.WriteLine "N = " & CStr(N)
Dim A(): ReDim A(N - 1)
Dim I: For I = 0 To N - 1: A(I) = I + 1: Next
PermutationSub A, 0, N - 1
End Sub
Private Sub PermutationSub(A, N, M)
If N <= M Then
Dim I
For I = N To M
Swap A(N), A(I):PermutationSub A, N + 1, M: Swap A(N), A(I)
Next
Else
WScript.Stdout.WriteLine Join(A, " ")
End If
End Sub
Private Sub Swap(X, Y)
Dim W: W = X: X = Y: Y = W
End Sub
うちの環境だと、N が 568 以上だとスタックオーバーフローするけどな。
488:デフォルトの名無しさん
06/01/17 09:04:37
選択した文字を右クリックメニューからWeb検索するものを作る事は可能ですか。WSHで
489:デフォルトの名無しさん
06/01/17 09:21:14
> 選択した文字を右クリックメニューから
どこで選択した文字を、何の右クリックメニューから検索したいのか知らないけど
選択した文字列をスクリプトで取得出来るならどうにでもなる。
ブラウザ上の右クリックとかなら簡単に出来るし。(具体的な方法はググれ)
490:デフォルトの名無しさん
06/01/20 19:45:28
何かいい方法がありませんでしょうか?
wshでVBScriptを動かし、
VBScriptのループ内でsqlplusを使用してinsertを繰り返し行いたいとします。
まずVBScriptの始めに
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "sqlplus aaa/bbb@dbname"
を行い、sqlplusを起動、DBコネクトを行います。
その後、sqlplusに対して、コマンド(insert文)を実行させたいのですが、
やり方がわかりません。
491:デフォルトの名無しさん
06/01/20 19:52:11
オラクルの使い方はDB板で聞けよ。
492:デフォルトの名無しさん
06/01/20 19:56:42
>>491 DB版で逆のことを言われました。
DBとは直接関係ないので質問の形式を変えます。
wshで起動したDOSプロンプトにコマンドを渡すやりかたはないですか?
493:デフォルトの名無しさん
06/01/20 19:58:35
だな
wshと言うより、VB構文+DBって感じだし
494:デフォルトの名無しさん
06/01/20 20:05:34
>>490
sqlplus xxx/xxx@xxx < ファイル とリダイレクトを使うか、
sqlplus xxx/xxx@xxx @ファイル でコマンドをわたせる。
どっちにしろいったん中間ファイルに書き出す必要がある。
495:デフォルトの名無しさん
06/01/20 20:12:47
>>494
1つのファイルを読み込んで、INSERTを何回も行う仕様なんですよ。
でもSQLローダーではできないんですよ(ちょっとファイル形式が複雑で)。
で、PL/SQLも仕様できない(DBサーバー上にファイルがあるわけではないので)。
なので、VBScriptでファイルを読んで、SQL部分はsqlplus経由で行おうとしてます。
sqlplus使わないでODBCでやるなら簡単なんですけど、事情があって、sqlplus経由でやりたい。
INSERT一回ごとにコネクト開閉するわけにもいかないし、
一旦コネクトしておいて、そこで何度もSQL実行できればいいのですが。。。
496:デフォルトの名無しさん
06/01/20 20:33:32
>>495
標準入出力をスクリプトから制御したいならこの辺だな。
URLリンク(www.microsoft.com)
497:デフォルトの名無しさん
06/01/21 11:36:37
↓のように1行ごとにInsert発行せずに
insert into t1(col1, col2, col3) values ('A', 'B', 'C') 実行
insert into t1(col1, col2, col3) values ('D', 'E', 'F') 実行
1回の実行で複数件Insertした方がいいのでは?
insert into t1(col1, col2, col3)
select 'A', 'B', 'C' from dual
union all
select 'D', 'E', 'F' from dual 実行
498:デフォルトの名無しさん
06/01/21 12:12:34
>>497
すでにWSHは何の関係もないね。
ついでなんで答えると無名プロシージャでまとめて送るのが普通。
他のDBでも複数の命令をまとめて送るバッチ送信モードがあるから探してみたらいい。
sqlplus やldrの使い方はoracleスレにいってね。
499:デフォルトの名無しさん
06/01/21 17:20:36
IEを操作したいと奮闘中です
xxx という名前がついたテキストボックスがあるのですが、
状態によっては hidden になり、入力の必要がない場合があります
xxxがテキストボックスなのかhiddenなのかを判別する方法はありますでしょうか?
よろしくお願いいたします
500:デフォルトの名無しさん
06/01/21 19:44:00
>>499
<input id="inputText" type="text" />
<input id="inputHidden" type="hidden" />
<script>
alert(inputText.type); // text
alert(inputHidden.type); // hidden
</script>
501:デフォルトの名無しさん
06/01/31 11:46:34
IEを立ち上げた時、ほかのアプリやブラウザの陰にならず、IEが必ず見える
ようにするにはどうすればよいでしょうか?
502:デフォルトの名無しさん
06/01/31 11:59:38
>>501
つ AppActivate
503:488
06/01/31 14:33:08
IE上で選択した文字が取得できません><getとかヘルプ検索したけど><
504:デフォルトの名無しさん
06/01/31 14:50:16
>>503
document.selection.createRange().text
かな
505:デフォルトの名無しさん
06/01/31 22:31:46
IEでコンテンツ上のテキストとかを選択できなくしたいのですが、
できますか?
506:デフォルトの名無しさん
06/01/31 22:40:50
>>505
<div unselectable="on">……</div>
のようにする。
507:デフォルトの名無しさん
06/01/31 23:02:59
>>505
そろそろスレ違いですよ
URLリンク(www.microsoft.com)
508:デフォルトの名無しさん
06/02/01 00:15:48
>>506
ありがとうございます
>>507
何のことだかわかりません
誰かと勘違いされてますか?
509:デフォルトの名無しさん
06/02/01 02:36:21
>>508
ここで聞くことじゃない
510:デフォルトの名無しさん
06/02/02 23:22:23
wshをこれから使う予定なんですが、エディタなにがいいっすか??
511:デフォルトの名無しさん
06/02/02 23:26:54
めもてふ
512:デフォルトの名無しさん
06/02/02 23:28:08
>>510
[スタート メニュー]→[プログラム]→[アクセサリ]→[メモ帳]
513:デフォルトの名無しさん
06/02/02 23:41:25
WSHって言うからには、窓OSでしか使えないんですよね?
514:デフォルトの名無しさん
06/02/03 00:17:35
>>513
おぬしががんばって他のOSでインタプリタつくればできるかもしれん。ぞ。
515:デフォルトの名無しさん
06/02/03 00:31:42
>>510
Microsoft Visual Web Developer 2005 Express Edition
516:デフォルトの名無しさん
06/02/03 00:43:48
>>510
有料のやつですね。
4千程度なら買ってもいいんですが、無料エディタの中で良いものないでしょうか??
現在terapad使ってるんですが
517:デフォルトの名無しさん
06/02/03 00:49:08
>>515のは無料
URLリンク(www.microsoft.com)
518:デフォルトの名無しさん
06/02/03 01:57:41
>>517
どこからダウンロードしていいのかわかりません。
どこでしょうか??
519:デフォルトの名無しさん
06/02/03 03:15:55
そんな餌に俺様が
520:デフォルトの名無しさん
06/02/03 04:52:04
>>516
俺が良いと感じるものを、お前が使って良いと感じるとは限らない。
結局自分で試さないと「良い物」なんて見つからないわな。
つーかググればすぐ出てくるソフトの名前教えて貰って、落とすところがわからないとか
こいつは、自分で探そうとか試そうとかいう気が全く無いんだな。
以後放置しましょうか。
521:デフォルトの名無しさん
06/02/03 10:03:35
落とすところがわからないって…
さすがにそこまで来ると、どこか悪いんじゃないかと心配になったり。
522:デフォルトの名無しさん
06/02/06 19:48:27
それは出来ないんじゃないか?
ライセンスしてくれなかったはず。
523:デフォルトの名無しさん
06/02/07 08:29:16
はっきりと「頭が悪い」と言わない>>521の優しさに惚れそうでつ
524:デフォルトの名無しさん
06/02/16 14:59:52
いまVBSでVISIOを操作しようとしているんですが、
対象ファイルが既に起動済みの場合の対処で困っています
起動済みのファイルが既に立ち上がっていた場合
その立ち上がっているファイルを操作するには
どうしたら良いでしょうか?
GetObjectでファイルを指定しても操作できず
Visio.ApplicationもエラーでGETできませんでした
やっぱり起動済みの場合はMsgbox等で警告して
終了してから実行するしかないでしょうか?
携帯からですいませんが、助言をお願いします
525:542
06/02/16 18:21:39
普通にできました
ただの勘違いでした
スレ汚しすんません
526:デフォルトの名無しさん
06/02/26 20:17:50
ひつもんです。
現在アクティブなCOMオブジェクトをリアルタイムに
ブラウジングするツールのようなものは無いでしょうか?
できればフリーでダウンロード可能なツールがいいんですが。
とろしくお願いします。
527:52あ6
06/02/26 20:21:45
すいまえん検索したらこんなのがありましたが
Oleview.exe: OLE/COM Object Viewer
URLリンク(www.microsoft.com)
これ無料ダウンロードして誰でも使っていいもんでしょうか?
528:52あ6
06/02/26 20:27:40
すいません。フリーダウンロードってかいてありました。
日本語版は無いんですよね?
おさわがせして失礼しました。
529:デフォルトの名無しさん
06/02/26 21:17:59
>>528
>日本語版は無いんですよね?
パッチなら
URLリンク(hp.vector.co.jp)
注意:バージョンが合うかどうか不明。
530:デフォルトの名無しさん
06/02/26 21:21:15
質問する → 検索する
↑ ↓
新たな疑問 ← 自己解決
無限ループって怖くね?
531:デフォルトの名無しさん
06/02/26 21:25:22
>>530
じゃあ、最初にもっと根本的なところの疑問から解決していこうよ。
まず、いい開発ツールってない?
デバッグできる奴がほしいんだけど。
532:デフォルトの名無しさん
06/02/26 23:25:36
>>531
あるよ
でもこの手のこと言い出す奴って、「Aが出来るツール」って言っても、
Aだけ出来れば満足ってことではなく、今使ってるツールに対する
不満点がAなわけだから、Aが出来るツールを教えても、今まで使ってた
ツールで出来てたBが出来なくなれば、今度はそこに不満を感じるわけで、
教えても虚しい結果に終わるだけだから具体的なソフト名は伏せる。
「いい開発ツール」の「いい(良い)」ってのも、同じものでも人によって評価の変わる
非常に曖昧な表現だし。
まぁ、この板の住人なら最終的には必要な物は自分で作れってことでFAだからな。
533:デフォルトの名無しさん
06/02/28 12:47:06
WSHからimagemagick使ってるんですが
URLリンク(images-jp.amazon.com)
この画像を変換(リサイズ)しようとするとエラー吐いて止まっちゃう。
ほとんどのファイルは大丈夫なんだけど特定のファイルはだめみたい。
これは画像のデータが壊れているということ?
URLリンク(www.hawk.34sp.com)
スクリプトはここのをほぼそのまま使ってるんですが
エラーを吐くのはImagemagickのようです。
エラーの出る条件がよくわかりません。どなたか・・・
534:533
06/02/28 12:59:09
画像をDLしなおしたらできた
DLの失敗かもしれないので上は無かったことにして下さい
結構頻繁に起きるので解決にならないけど・・・
535:533
06/02/28 16:34:43
WSHから呼んでいるときにwaitかけてないからエラーがでるのかな・・・
javascriptでwaitってどうやってかけるんだろう
vbs使ってsleep使うしかないのか
</チラシの裏>
536:デフォルトの名無しさん
06/02/28 20:21:35
<package>
<job id="vbs">
<script language="VBScript">
WScript.Sleep 100
</script>
</job>
<job id="js">
<script language="JScript">
WScript.Sleep(100);
</script>
</job>
</package>
537:デフォルトの名無しさん
06/03/10 01:02:29
WSHでcmdやnetshのようなシェルプログラムを実行させるにはどうしたらいいでしょうか
例えば、以下のような複数行のコマンドを実行する場合などです。
cd c\temp
temp.exe
538:デフォルトの名無しさん
06/03/10 05:09:34
>>537
cmd.exeやnetsh.exeのような実行ファイルを実行したいという意味なら、
URLリンク(msdn.microsoft.com)
cdしたいという意味ならCurrentDirectoryに値を代入。
URLリンク(msdn.microsoft.com)
標準入出力を操作したいというなら、
URLリンク(msdn.microsoft.com)
539:デフォルトの名無しさん
06/03/11 22:14:27
>>538
知りたかったのは3番目の方法です。
ありがとうございました。
540:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 21:37:53
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
541:デフォルトの名無しさん
06/03/18 22:03:16
マルチもここまで多くのスレで展開されるとある意味感心する。
但しマルチ質問には答えないのが慣わしなんで、知ってるが回答は控えておくことにする。
542:デフォルトの名無しさん
06/03/27 23:45:04
VBSファイルの置いてあるパスを取得するというか
自分自身のファイルパスを取得するにはどうしたらいいですか
543:デフォルトの名無しさん
06/03/28 00:08:30
URLリンク(msdn.microsoft.com)
544:デフォルトの名無しさん
06/03/29 19:06:08
*.lnkで起動するファイルがあるディレクトリの親ディレクトリを開きたいんだけど、
これをスクリプトでできないですか?
とりあえず、*.lnkファイルをエディタで開いて中身を見てみようとしたけど、これを開くと
リンク先のファイルが開かれて、*.lnk自体の中身を見ることができない、、
フォーマットが分からないとどうしようもない。
というより、スクリプトに渡しても、リンク先のファイルを渡したことになるのかな。
どうにかなりませんか?
545:デフォルトの名無しさん
06/03/29 19:28:17
TargetPath
ParentFolder
546:デフォルトの名無しさん
06/03/31 00:00:05
>>544
ファイルの中身を覗きたいならバイナリエディタを使え
547:デフォルトの名無しさん
06/04/07 21:24:50
>>546
lnkファイルってこんな構造だったの?w
おれずっとエディタで読めると思ってた、勘違いしてたよw
㌧
548:デフォルトの名無しさん
06/04/08 23:14:29
Set xh = CreateObject("MSXML2.XMLHTTP")
On Error Resume Next
If Err <> 0 Then
Err.Clear
Set xh = CreateObject("Microsoft.XMLHTTP")
End If
xh.Open "GET", Url, False
xh.Send
If Err <> 0 Then Exit Function
上記Scriptでxh.Sendを実行してから次のステップに進むまで4秒くらい(URLはyahooやInfoseekなどどのサイトでも)
かかりますがみなさんもそのくらい、時間がかかりますか?
OSはWinXPです。
549:デフォルトの名無しさん
06/04/09 00:37:23
>>548
Windows板いきな
550:548
06/04/09 00:41:53
>>549
そうします
551:デフォルトの名無しさん
06/05/03 16:55:59
スマン、誰かMSXMLのSAX使う方法教えてくれ。
Set reader = CreateObject("MSXML2.SAXXMLReader)
迄は分かるんだが、
reader.contentHandler = ←ここがわからん
reader.parseURL("...")
探し方が悪いのか見つけきれない……orz
552:デフォルトの名無しさん
06/05/03 17:13:18
> Set reader = CreateObject("MSXML2.SAXXMLReader)
> 迄は分かるんだが、
全然わかってないってことじゃんw
Set reader = CreateObject("~")
は調べるまでもなくわかることだし。
まあとりあえずリファレンスでも読んでこい。
リファレンス読んで解らないなら、ここで説明しても理解できないだろうし。
553:551
06/05/03 22:06:15
スマン自己解決……というか「出来ない」ってのが分かった。
>>552
> 全然わかってないってことじゃんw
> まあとりあえずリファレンスでも読んでこい。
説明足らなかった。ゴメン。
サンプルとしてMSDNのJumpStart for Creating a SAX2のVB版とC++版が有ったんだが、IVBSAXContentHandler(ISAXContentHandler)継承(VBはImplements)したクラスをSAXXMLReaderのcontentHandler(putContenthandler())に渡してたのよ。
これWSHでどうやるのかな、と。
勝手に実装したクラス作って渡してみても『型が違う』って怒られるし。
調べてみたら『出来ない』って。しょうがない、DOMでやるか。
554:デフォルトの名無しさん
06/05/08 02:46:20
夜更けですみません。
WindowsのVersionを調べるのってWSHから可能でしょうか?
555:デフォルトの名無しさん
06/05/08 05:52:08
>>554
Versionつっても具体的にどーゆーVersion?
95/98/Me/NT/2000/XP/2003 みたいな区別を付けたいの?
ビルド番号やSPを知りたいの?
英語版/日本語版/International版みたいな違いを知りたいの?
質問する時はもっと明確質問してくれないと、困るよ君ぃ。
556:デフォルトの名無しさん
06/05/08 08:25:04
「困るよ君ぃ」 と言いたいだけなんちゃうかと
557:デフォルトの名無しさん
06/05/08 10:34:05
「Version」は95/98/Me/NT/2000/XP/2003 みたいな区別
ビルド番号は「ビルド番号」
SPは「サービスパック適用状態」
英語版/日本語版/International版みたいな違いは「言語区分」
558:デフォルトの名無しさん
06/05/08 10:49:20
で?
559:デフォルトの名無しさん
06/05/08 10:53:03
「困るよ君ぃ」
560:デフォルトの名無しさん
06/05/08 14:08:02
違いが判別できればええんとちゃう?
561:デフォルトの名無しさん
06/05/08 14:49:51
ていうか、100や200も回答があるわけじゃないんだし
たかが、3つや4つなら、それぞれの回答を書いてやれば良いじゃんw
漏れは調べないと分かんないから、そこまでしてやる気はないが
562:554
06/05/08 18:59:29
すみません。Yahoo検索 - Windows*バージョン*取得で方針が見えてきました。
ExcelVBAからなら、Windowsのバージョンを取得できるみたいなので、
Excelオブジェクトを宣言して使えばとりあえず対応できそうです。
9x系かNT系かで、内部処理を変えたかったもので…。
ちなみに今までは、If WScript.CreateObject("WScript.Network").ComputerName = "~" Then
で、根気よく対応していました。
わざわざMeに、Excelインストールするのが面倒なので、IEオブジェクトでも、似たのが
なかったか探してみます。
レスありがとうございました。
563:デフォルトの名無しさん
06/05/08 19:04:06
>>562
> 9x系かNT系かで、内部処理を変えたかったもので…。
そのくらいなら環境変数 ComSpec で判断すればいいと思うけど。
564:デフォルトの名無しさん
06/05/12 23:23:58
>>529
糞ソフトの宣伝乙
565:562
06/05/21 11:16:51
>>563
WScript.CreateObject("WScript.Shell").Environment.Item("COMSPEC")
できました。ありがとうございましたー
566:デフォルトの名無しさん
06/06/02 00:39:07
wshを最近始めた者です。
CreateObject("Scripting.FileSystemObject").GetFolder(パス).SubFolders
からFor Each 文を使用してサブフォルダのリストを取得出来ますが
For Eachを使わずに・・SubFolders.Item(1)のような形で同じようにパスの
取得をすることは可能でしょうか?
ググってみましたが、For Eachの方法しか見つかりませんでした。
567:デフォルトの名無しさん
06/06/02 01:15:05
コレクションと配列は似ているようで微妙に違うからなぁ
一旦配列に入れてみるとかしか思いつかないや
568:デフォルトの名無しさん
06/06/02 01:19:22
ちょっと調べたところ、Foldersコレクションのキーはフォルダ名になってる模様
569:566
06/06/02 01:35:49
ありがとうございます。
自分も検索して
Folders.Item("MyFolder")のようにフォルダ名を入れれば取得出来ることは確認出来た
のですが・・フォルダ名ではなく整数型で取得は出来ないものかと思っています。
570:デフォルトの名無しさん
06/06/02 01:43:44
できないよ。
やりたいのなら配列に入れ直せ。
571:566
06/06/02 01:52:14
そうですか
ありがとうございました。
572:デフォルトの名無しさん
06/06/02 18:33:56
vbsを勉強したいのですが、みんな何の本で勉強しました?
本屋に行ってもイマイチ良さそうなのが無いので
573:デフォルトの名無しさん
06/06/02 18:42:54
今更 VBS と言うのも……
574:デフォルトの名無しさん
06/06/02 19:46:55
全部ネットで勉強できた
575:デフォルトの名無しさん
06/06/02 20:45:06
>>572
vbs ⊂ WSH … って考えたら (ここ "WSH(・∀・)スレッド! " だし)
スレリンク(win板:2-5番)
大概は
URLリンク(download.microsoft.com)
URLリンク(www.roy.hi-ho.ne.jp)
あたりなのかな?
WSHを始めよう - @IT
URLリンク(www.atmarkit.co.jp)
なんてのも始まったネ。
576:デフォルトの名無しさん
06/06/03 12:12:47
>>572
おれはここから始めたよ
@IT:運用 Windows管理者のためのWindows Script Host入門
URLリンク(www.atmarkit.co.jp)
577:デフォルトの名無しさん
06/06/04 13:06:02
>>575-576
糞サイトの宣伝乙
578:デフォルトの名無しさん
06/06/04 13:49:16
>>577
内容が理解できない = 糞サイト?
579:デフォルトの名無しさん
06/06/04 15:00:24
@ITが糞サイトとか言ってる香具師がいるぞ
580:デフォルトの名無しさん
06/06/04 22:51:43
糞サイトだろ?
581:デフォルトの名無しさん
06/06/04 23:32:43
@ITは結構他では扱っていない内容もカバーしてるから
俺もあそこの情報は重宝してるが、質については弁護できんな。
582:572
06/06/05 09:35:25
レス遅れましたが有難うございました。
紹介して頂いたページで勉強してみます
583:デフォルトの名無しさん
06/06/16 16:38:03
WSHで同じワークグループ内のコンピュータ名を
取得する方法はないのでしょうか?
具体的には、ネットワーク内のあるコンピュータの起動状況を確認して
起動していればネットワークドライブに接続するスクリプトを書きたいのですが・・・
584:デフォルトの名無しさん
06/06/16 17:33:58
> WSHで同じワークグループ内のコンピュータ名を
> 取得する方法はないのでしょうか?
あるよ。
つ Google
585:デフォルトの名無しさん
06/06/16 18:49:26
ググっても見つからなかったのですがorz
とりあえずcscriptの方で動かしてます。
586:デフォルトの名無しさん
06/06/17 10:35:27
URLリンク(www.codecomments.com)
587:デフォルトの名無しさん
06/06/17 11:53:06
set wbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}")
この行のあるプログラムをcscriptで実行しようとしたとき、(実行者はAdministrator)
Server 2003 では問題出ないのですが、2000 Server 上では
(ソースファイル名)(上の行の番号) SWbemServices: アクセスは拒否されました
というメッセージが出て止まってしまいます。
wbemServices や impersonate で検索してみたのですが、
impersonate が権限を取得出来る可能性が高いので推奨
というくらいのことしか分かりませんでした。
何か解決策をご存知の方はいらっしゃいますでしょうか?
588:デフォルトの名無しさん
06/06/17 12:02:58
自己レスです
検索してたら
「SeSecurityPrivilegeが割り当てられている必要があります」
「ない場合は、"Access Denied"がアプリケーションに返されます」
という記述が見つかりました
もう少し調べてうまくいったらご報告します
589:デフォルトの名無しさん
06/06/17 18:12:41
Aフォルダの中にあるファイルとフォルダを全て削除する。
ただしBフォルダ以外。
上記の操作をWSHで可能ですか?
色々調べたんですが、一時的にBフォルダを別の場所に移動
してから一括削除する方法位しか思いつかなくて・・・
590:デフォルトの名無しさん
06/06/17 18:32:51
>>586
さんくす
591:デフォルトの名無しさん
06/06/17 18:54:56
>>589
Aフォルダ自体に削除処理を掛けることばかり考えずに
Aフォルダ以下のSubFolders、Filesをループで削除する処理を作って
そのループの中でBフォルダの名前に一致した場合は削除処理を行わないようにすれば良い。
つーか
> 時的にBフォルダを別の場所に移動
> してから一括削除する方法
に何か問題でもあるの?
別パーティションに移動するとかなら移動処理に時間が掛かるだろうが
Bフォルダのパスを2回書き換えるだけで実際には移動せずに済むんだから、
そういう不都合も無いでしょ。いったい何が不満なの?
592:デフォルトの名無しさん
06/06/17 19:28:36
FAT32なのかもしれん
593:デフォルトの名無しさん
06/06/17 19:33:13
Win2000をサービスパックとか何も入れずに使っているのですが、
何やらXPだとかサービスパックだとかの場合、ADODBが殺されて使えない、
というような話を聞いたのですが本当なのでしょうか?
ADODBを使ったスクリプトを他人のコンピュータ(特にXP)でも動作させたいのですが、どういう状況なのか教えてくださいませ。
594:デフォルトの名無しさん
06/06/17 19:42:58
「Win2000をサービスパックとか何も入れずに」
しね
595:デフォルトの名無しさん
06/06/17 23:17:29
Dim SettingFile1
Set SettingFile1 = ~
Dim SettingFile2
Set SettingFile2 = ~
みたいなのを動的に増やしていきたいのですが、
どうすればいいのでしょうか?
596:デフォルトの名無しさん
06/06/17 23:24:41
配列にする
597:589
06/06/18 04:42:54
>>591
Bフォルダの容量が大きいので、移動は避けたかったんですよ。
で、教えて頂いた通りにやってみるとできました!
objStartFolder =
ShowSubfolders objFSO.GetFolder(objStartFolder)
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
ShowSubFolders Subfolder
If not objFolder = objStartFolder & "Bフォルダ" Then
objFSO.DeleteFolder(objFolder),true
End If
Next
End Sub
598:デフォルトの名無しさん
06/06/18 19:49:21
Windows板のスレから移動してきました。質問させてください。
変数に格納されている文字列を元にした名前を持つグローバル関数を定義したいのですが
WSH ではグローバル変数・関数が集まっているオブジェクトって存在するのでしょうか?
(ブラウザでのJavaScript実行環境における window にあたるオブジェクト)
具体的には InternetExplorer のイベントを監視する為に
function observe(s, f) { window["InternetExplorer_On" + s] = f; }
のようなコードを書きたいのです。
Global オブジェクトかな、とも思ったのですが、うちの環境(Windows XP sp2)では
参照しようとするとエラーがでてしまいます。なんで…(´・ω・)
eval を使う手も考えましたが、実行されるのが関数の中なのでグローバルにできません…。
599:デフォルトの名無しさん
06/06/18 20:11:12
マルチ乙
600:598
06/06/18 20:28:20
>>599
いえ、マルチとならないよう、向こうのスレで質問を中止する旨を書き込んだのですが
まずかったのでしょうか…。こちらのスレに移動する、という事も書きました。
601:デフォルトの名無しさん
06/06/18 21:42:38
>>598
代用法はあるが、そのものの方法は無い。
602:デフォルトの名無しさん
06/06/19 19:03:27
開発環境はメモ帳ですか?
603:デフォルトの名無しさん
06/06/19 20:36:15
VS2005
604:デフォルトの名無しさん
06/06/19 23:44:16
おいらはメモ帳派
605:デフォルトの名無しさん
06/06/20 02:26:33
インターネット上のファイル(URLリンク(......))のタイムスタンプを調べて、
更新されていればダウンロードし、「ファイル名+日付.pdf」リネームする
するスクリプトを作りたいんですが、他の部分はともかくネット上のファイルに
アクセスする方法がわからないのですが、何かよい方法はあるでしょうか?
606:デフォルトの名無しさん
06/06/20 03:57:24
取りあえず HTTP で公開されてるファイルには XMLHTTP とか使う。
そもそもそのサーバが最終更新日時をヘッダに含めてくれるのか? とか。
If-Modified-Since ヘッダを使えばできるかもな。
607:605
06/06/21 00:15:12
>>606
XMLHTTPでなんとかアクセスできるようにはなりましたけど、
タイムスタンプの取得がうまくいきませぬ。
If-Modified-Sinceヘッダに関しては、
URLリンク(www.su-jine.com)
こんなサイト発見して、目的のサーバが対応してるところまでは
調べれましたが、問題はそのヘッダをどうやって送るかが、わかりませぬ。
もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。
あればできそうなのに・・・。HTTPの仕様に関する資料とか探せばいいのかな?
とにかく助言ありがとうございました。
608:デフォルトの名無しさん
06/06/21 00:56:28
last_modified = XMLHTTP.getResponseHeader("Last-Modified");
XMLHTTP.setRequestHeader("If-Modified-Since", last_modified);
> もちろんググッてはみたもののヘッダ送信に関する資料が見つからず・・・。
XMLHTTP ヘッダー
でググったら一発で見つかったけど・・・?
609:605
06/06/21 01:08:36
ぐは!本当だ。申し訳なかとです、修行が足りませなんだ・・・。orz
おかげでなんとか出来そうです。
ありがとうございました。
610:デフォルトの名無しさん
06/06/24 15:49:45
スクリプトだと実行できてEXEだと実行できないような状態ってありますか?
611:デフォルトの名無しさん
06/06/24 15:59:39
状態? なんの?
612:デフォルトの名無しさん
06/06/24 18:15:18
>>594
教えてくれたら死にます。なので教えて下さい。
原因はおそらくADODBがIObjectSafetyをサポートしているのでIEから使えてしまう事が原因だと思いますが、これの対策としては
1. ADODBをIObjectSafety非サポートに変更
2. ADODBのレジストリ登録を削除
3. ADODBのモジュール自体を削除
のいずれかだと思います。MSが取った対策はどれですか?
#・・・しかしスクリプトな人達って疲れる・・・(^^;)
613:デフォルトの名無しさん
06/06/24 18:17:56
スクリプトもexeの実行だよ。
関連付け設定していれば、スクリプトファイル(コードを書いたファイル)を実行してるように感じるかもしれないが、
その実、Wscript.exeを実行して、スクリプトファイルを渡すという処理が行われている。
exeが実行できなかったら、.vbsや.jsを実行(ダブルクリック、Enter)したって何も起きない。
614:デフォルトの名無しさん
06/06/24 18:28:19
> 教えてくれたら死にます。なので教えて下さい。
教えたら死ぬという確かな証拠と、
あなたの死後、死んだことを証明するものを提示する手段を明らかにしてください。
>教えてくれたら死にます。
という前提があって
> なので教えて下さい。
という欲求があるのだから、当然前提は明確にしないとね。
615:デフォルトの名無しさん
06/06/24 21:59:11
>>614
お前みたいなレスは一番(゚⊿゚)イラネ
616:デフォルトの名無しさん
06/06/24 22:02:14
>>615
オマエモナー
617:デフォルトの名無しさん
06/06/24 22:11:49
>>615
ID出ない板は便利だね( ̄ー ̄)ニヤリッ
618:605
06/06/25 00:26:49
遅レスでスマソ。
とりあえず、ファイルの更新日時をチェックする部分はできますた。
url = "URLリンク(......)
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Call objHTTP.Open("GET",Url,False)
objHTTP.send
Last_Modified = objHTTP.getResponseHeader("Last-Modified")
s = split(Last_Modified)
strWeekday = s(0)
strDay = s(1)
strMonth = s(2)
strYear = s(3)
strTime = s(4)
こんな感じで更新日時はゲットできますた。
教えていただいた方にまずは感謝です。
アリガト!(´▽`)
あとはダウンロードするだけですが、
HTMLとかテキストデータをDLする方法はいくつか見かけたのですが、
バイナリファイルのダウンロードの方法はどんな方法があるのでしょうか?
619:デフォルトの名無しさん
06/06/25 00:32:47
おいおい、それくらいちょっと調べればすぐ出てくるだろ?
てか XMLHTTP だけでも(アップロードだが)バイナリデータのがトップだ。
620:デフォルトの名無しさん
06/06/25 00:58:49
普通に取ってデコードする
621:605
06/06/25 01:22:52
>>619
XMLHTTPだけでも~~~
って、ことはXMLHTTPを使えばできるってことですよね?
うーん、.ResponseTextメソッドとか.ResponseBodyメソッドとかを
使うってことですか?
>>620
普通に取ってデコードするってことは、
上記のような方法で取ってきたデータを
なんらかのデコード処理をしたあとでファイルに書き出すということでしょうか?
レスありがとうございました。
まだまだ検索が甘かったようなので、もう一度探しに行っていきます。
622:デフォルトの名無しさん
06/06/25 23:02:37
>>621
バイナリはADODB.Streamで保存する
別にデコードはいらんだろ
623:デフォルトの名無しさん
06/06/26 00:05:45
ADODB.Stream使わないで保存できないの?
624:605
06/06/26 00:28:41
ADOBO.Streemで検索を掛けていたら、
ここにそのまんまな解決方法が載っていました。
URLリンク(www.roy.hi-ho.ne.jp)
ためしにサンプル通りに作ってみたところ見事ダウンロードできました。うはっ!!
もうあまりにまんまでなぜ見つけられなかったか、
自分の不甲斐なさに涙が出てきました。
レスして頂いた方々へ→本当にありがとうございました。m(__)m
625:612
06/07/01 20:28:54
私は以下の掲示板で活動してるAK○という者なんですが、教えていただけないでしょうか?
URLリンク(www.roy.hi-ho.ne.jp)
別のスレや掲示板で聞き直してもいいのですが、たくさんそういう事をすると検索の時に引っ掛かって邪魔だ、とよく言われるので。
626:デフォルトの名無しさん
06/07/10 01:40:01
>625
アロンのトコじゃねぇか、ソコの住人の方が詳しいんじゃね?
627:デフォルトの名無しさん
06/07/29 21:16:12
>>625
糞掲示板の宣伝乙
628:デフォルトの名無しさん
06/08/02 19:47:22
JScript の Array オブジェクトを、VBArray に変換する方法を教えてください
629:628
06/08/02 20:12:57
自己解決。
DynWrap Helper にまんまそのとおりのコードがありました。
630:デフォルトの名無しさん
06/08/15 11:45:30
Microsoft.XMLDOMを利用してxmlファイルを作る場合なのですが
ただ単にappendChildで追加していってSaveすると
<root><item>a</item><item>b</item></root>
というファイルが出来るのですが、これを改行やインデントを入れて
<root>
<item>a</item>
<item>b</item>
</root>
とするには、何をすれば良いのですか?
まさか自前で文字列解析するなんてことはないだろうから
XMLDOMのプロパティなりなんなりでこの辺の設定が出来ると思うのですが
具体的にどうすれば良いのか解りません。ご教示お願いします。
631:デフォルトの名無しさん
06/08/15 15:01:49
>>630
改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。
どうしても整形したいならXSLTで変換かなぁ。勘だけど。
632:デフォルトの名無しさん
06/08/15 19:37:59
>>631も言ってるようにそこはデータだから勝手に整形しちゃいかん。
やるんだったらこう。
<root
><item>a</item
><item>b</item
></root>
633:デフォルトの名無しさん
06/08/15 20:00:52
>>632
それは完全に間違い。
634:デフォルトの名無しさん
06/08/15 20:52:52
>>633
脊髄反射するな。
635:デフォルトの名無しさん
06/08/15 23:05:23
>>630
それらしきプロパティはあって、使えるかと思って以前試したけど
それほど簡単ではなかった。
DOMDocument には PreserveWhitespace というプロパティがあって、これが
falseのとき、ドキュメント内の空白は保存時に自動的にインデントされる仕様。
ところが、インデントする対象が "ドキュメント内の空白" なため、
以下のような既存文書を読んだ場合、
<root>
<item>a</item>
</root>
<root>と<item>の間、</item>と</root>の間は空白扱いなので、
書き込むときも(空白=>インデント変換によって)同様にインデントされるが、
新規に
<root><item>a</item></root>
というデータを作成してsaveしても途中に空白がないので、保存しても
そのままではインデントしてくれない。
仕方がないので、要素をルートから再帰的にたどってタグとタグの間に
テキスト要素がなければ問答無用で1つの空白を挿入するという補助関数
を作って保存前に呼んでた。
636:630
06/08/16 09:50:58
>>631
> 改行や空白もテキストノードの一種だから、データとしては前者の改行が無いものが正しいんだよね。
> そこはデータだから勝手に整形しちゃいかん。
それは違うと思います。確かに改行や空白はテキスト要素として扱われます。
だから<root>をテキストノードとして扱い、余計な改行や空白が入っては拙い場合は、前者の書き方が正しいと言えますが
<root>がエレメントノードであり、テキスト要素を利用しない場合は、テキスト要素に何が入ろうと間違いも問題もありません。
つまり改行や空白を入れれば、それらもテキスト要素として取得されるという仕様なだけの話であり、
テキスト要素に改行や空白を使ってはいけないなんてことはないので、改行や空白が取得されては困る場合だけ避ければ良いことだと思います。
少なくとも>>630後者の記述は、仕様に沿った正しいXMLファイルとして扱えています。
>>633
間違いでは無いと思いますよ。
>>632も>>630後者も、どちらもXMLの仕様には違反していません。
ただ条件付きで>>630後者は、<root>のテキスト要素に改行や空白は入っては拙い場合は不都合があるというだけです。
>>635
ありがとうございます。理想通りに改行&インデントされました。
やはりこういう記述を正式にサポートしてたのですね。
637:デフォルトの名無しさん
06/08/16 10:54:42
EXEにできない時点で糞
638:デフォルトの名無しさん
06/08/16 11:06:57
何処の誤爆だ?
639:デフォルトの名無しさん
06/08/17 05:42:20
EXEにできないヨネ?
640:デフォルトの名無しさん
06/08/17 11:33:48
なぜEXEにできないと糞なの?
Windowsならどんな環境でも大体は実行できるのに。
コード隠蔽したいってこと?
641:デフォルトの名無しさん
06/08/17 17:27:39
>>639
URLリンク(www.vector.co.jp)
642:デフォルトの名無しさん
06/08/17 17:36:51
できるのかーーー
普通のウインドウも作れる?
643:デフォルトの名無しさん
06/08/17 17:59:22
HTA使えば余裕
644:デフォルトの名無しさん
06/08/17 19:42:43
WSHの限界は何処ですか?
645:デフォルトの名無しさん
06/08/17 19:51:16
COMの限界
646:デフォルトの名無しさん
06/08/17 19:53:30
exeにしたければJScript.NETでも使ったほうがいいような気もする
コンパイラ jsc.exe はバージョンの新しい順に
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705
あたりにある。
とは行ってもWSHのJScriptはほとんどそのままではコンパイルできないね。
647:デフォルトの名無しさん
06/08/17 19:56:34
構造体はありますか?
648:デフォルトの名無しさん
06/08/17 20:04:42
クラスならあります。C#等で定義した構造体は使える。
649:デフォルトの名無しさん
06/08/21 20:42:48
多分スレ違いだけど適当な場所が無いので教えてください。m(__)m
Aというコンピュータのa.batからBのコンピュータのb.vbsを起動させたい。
b.vbsはあくまでもB自身で起動させたいというのがポイントです。
(Bのメモリ空間で実行したい)
どんなコマンドを書けば実行できますか?
ヒントでもいいから教えてもらえると助かります。
650:デフォルトの名無しさん
06/08/21 20:46:58
>>649
> どんなコマンドを書けば実行できますか?
普通に。
651:デフォルトの名無しさん
06/08/21 20:48:37
'普通に。' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
652:デフォルトの名無しさん
06/08/21 23:02:06
>>649
WshControllerというのがあるらしい。
URLリンク(msdn.microsoft.com)
とか
653:デフォルトの名無しさん
06/08/21 23:20:49
>>652
どうもです。m(__)m
WshControllerでぐぐったらいろいろと事例がでてきました。
研究してみます。
654:デフォルトの名無しさん
06/08/22 06:40:04
先輩、
WSHでデスクトップのアイコンの座標を取得できますか?
655:デフォルトの名無しさん
06/08/22 20:11:55
>>654
WScript.exeの機能だけでは出来ませんが、
そういう機能を有するCOMを作れば取得できます。
後のことは、あなたがそのCOMを作るのに使う言語のスレでどうぞ。
COM作れないなら、出来ないってことで諦めるか、勉強して作れるようになりましょう。
656:デフォルトの名無しさん
06/08/22 23:45:56
COM作れば、そりゃ何でも出来るわな。
657:デフォルトの名無しさん
06/08/23 00:12:11
COM作れば、億万長者にもなれますか?
658:デフォルトの名無しさん
06/08/23 06:08:54
COMMAND.COMをつくったゲイツくんはおかねもちになりました。
659:デフォルトの名無しさん
06/08/24 22:52:51
Excel.Run "Macro1"
660:デフォルトの名無しさん
06/08/26 19:08:32
>>639
>>641
でも、一旦EXE化してしまうと、そのファイルを直接メモ帳で修正…って作業が、不可能になる。
使いながら、どんどんVersion UPさせて行くようなスクリプトがWSH/VBSは、特に多いから、メンテ上不利かも。
という事で、VBを持っていれば、Shell()関数で、同じフォルダに在るAutoexec.vbs を自動で読みに行くEXEを
作ってしまうと良い感じです。呼び出す時はEXEでありながら、なおかつ、メンテもしやすい環境になる。
Autoexec.vbs には、VBで作ったEXEファイルから、Drag&Dropしたファイルのフルパス情報を渡すようにしとけば、
ファイルとEXEの関連付け設定をした場合にも、実際には、VBS内で定義したアプリケーションで開いてくれる。
テキストファイルをランダムで、メモ帳/EmEditor/TeraPad/秀丸 に送る環境とかも、簡単にできるし、メンテも楽です。
そう言えば、昔、メモ帳トラッパー.exe ってアプリがあったのを思い出した…
661:デフォルトの名無しさん
06/08/26 19:38:47
>>660
ごめん、そこまでしてEXE化する理由が本当にわかんない。
なぜスクリプトファイルを直に使わないの?
662:デフォルトの名無しさん
06/08/26 20:25:11
>>661
VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。
>>660は、そういう問題に関しての、回避例として簡単&便利かと思って。
VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。
663:デフォルトの名無しさん
06/08/26 20:31:45
関連付けは普通にできる。
664:デフォルトの名無しさん
06/08/26 20:52:59
> VBSファイルだと、Drag&Dropはできても、Wクリックしたファイルの関連付けはできないですよね。
いいえ出来ますよ。君が無知なのはどうでもいいが、勝手に出来ないことにしないように。
> そういう問題に関しての、回避例として簡単&便利かと思って。
わざわざスクリプトのトラッパーなんか作るより、関連付けの仕様を覚えて使いこなす方が
10倍簡単で100倍便利で1000倍クールです。
> VBSは、他の技術と組合わせて使う事で、更に便利になるツールだから、逆にスクリプトとして使う事だけにこだわらなくてもいいと思う。
それはスクリプトとして使いこなしてる人が言うと納得できる台詞だが、君レベルの人が言うと滑稽なだけ。
665:デフォルトの名無しさん
06/08/26 21:10:52
>>663-664 そうは言っても、
Win2K SP4だけど、
ファイルタイプの編集から、アクションを実行するアプリケーションで、
X:\P114.vbs "%1"を入れても、
指定されたアプリケーションが見つかりませんでした。
ファイル名とパスが正しいかどうか確かめてください。
なんて言われるだけだし。
自分の持ってる知識を組合せて実現して行くのが、その人にとっての一番の
解法だと思う。別に俺の方法が間違ってるってわけでもないもんねー
知ってるか知らないかだけで、そんなに居丈高になれる奴のほうが、気がおかしいんじゃないの?
とは言え、ちょっと恥ずかしいから、ググってくるか…
次の話進んでて構わないよ。
666:デフォルトの名無しさん
06/08/26 21:25:24
>>665
X:\P114.vbs は非実行ファイルだ(アプリケーションでない)から
%SystemRoot%\System32\WScript.exe X:\P114.vbs "%1" %*
のようにしなければならない。
667:デフォルトの名無しさん
06/08/26 22:05:20
スクリプトファイルを動かしてるインタプリタの存在も知らなかったのか
668:デフォルトの名無しさん
06/08/26 22:36:15
>>666
めっちゃレスが早いんですが、もしかして、上の人(>>663-664)と同一人物だったりしますか?
人気スレでもないのに、そんなに人が居るわけもないだろうし…
ありがとうございます。検索中&確認中中だったのですが、まだ解法が見つかってなかったので助かりました。
無事動作を確認いたしました。
基本を忘れていました。
( >>667 また、そーゆー事を…)
669:デフォルトの名無しさん
06/09/25 12:05:56
VBScriptってVBなんだから
With Wscript
.echo "hell world!"
End with
っていうのがなんで出来ないのか?と思ってやってみたら出来た。
670:デフォルトの名無しさん
06/09/25 13:27:37
そういうのはチラシの裏に書け
671:デフォルトの名無しさん
06/09/25 17:26:19
WshShell,RUNの第二、第三パラメーターのデフォルト値って いくつっすか?
URLリンク(www.atmarkit.co.jp)
第三パラメータのデフォルトはFALSEっぽいんだけど、第二がよくわからん。0?
672:デフォルトの名無しさん
06/09/25 20:31:34
まあ普通に考えると 5 (SW_SHOW) だと思うよ
673:デフォルトの名無しさん
06/09/26 00:16:52
今ではまったく使い物にならなくなった第1版が大幅改訂するらしい
-----------------------------------------------------------
『WSHクイックリファレンス 第2版』
羽山 博 著
ISBN4-87311-309-1
定価3,990円
■ロングセラー書の改訂版。最新のWSH 5.6対応に対応して大幅改訂!■
WSH(Windowsスクリプトホスト)を使えば、従来のWindowsバッチファイル
よりも複雑なバッチ処理が可能です。OSレベルで管理されているデータにも
アクセスできるので、システム管理やネットワーク管理にも重宝します。
本書は、WSHの本格的な活用に役立つリファレンスです。Windowsスクリプト
ホストの初歩から応用までを豊富なサンプルとともにていねいに説明します。
最新のWSH5.6対応。
============================================================
674:デフォルトの名無しさん
06/09/27 12:41:25
HSPで中空扇形を書いて中も塗りつぶしたいのですが、どうすりゃいいっすか?
675:デフォルトの名無しさん
06/09/27 19:47:33
いろいろなサイトを閲覧して、ローカルPCに溜まったCookieファイルを、VBScriptで定期的に自動消去する処理は、どうすれば良いでしょうか?
URLリンク(www.happy2-island.com)
ファイルの削除を参考にしてみましたが、Cookieファイルの指定がうまくできませんでした。
676:デフォルトの名無しさん
06/09/27 19:53:47
>675
ブラウザで設定する方が早くね?
677:デフォルトの名無しさん
06/09/27 19:54:12
うまくできないとは?
678:デフォルトの名無しさん
06/09/27 22:23:42
別にWSHでやらなくても、既存のソフトが山ほどあるような。
それをタスクスケジューラに登録すればいいじゃない。
679:デフォルトの名無しさん
06/09/28 03:44:07
スレリンク(hp板:214番)
680:デフォルトの名無しさん
06/10/01 14:31:08
台形の面積を求めたいんだけど、
Option Explicit
Dim A, B, C, D
A = InputBox("上底 cm","値を入力してください")
B = InputBox("下底 cm","値を入力してください")
C = InputBox("高さ cm","値を入力してください")
D = (A + B) * C / 2
MsgBox D & " 平方cm"
これだと、(A + B) のところが2桁の数字の左数字と右数字という文字の関係になってしまい、
計算式として認識してくれないんだが、A + B をどう囲えばいい?
681:デフォルトの名無しさん
06/10/01 14:42:28
CInt とか CCur とか
682:デフォルトの名無しさん
06/10/01 14:44:38
>>680
A,B,CそれぞれCDbl関数で括れば?
683:デフォルトの名無しさん
06/10/01 15:01:32
A か B どちらか一方を数値にすればおk
684:デフォルトの名無しさん
06/10/01 15:20:22
A = CDbl(InputBox("上底 cm","値を入力してください"))
こうすることで、解決できました。
ありが㌧
685:デフォルトの名無しさん
06/10/01 23:27:59
例外処理きちんとしようぜ。
IsNumericっていう便利な関数あるんだから。
686:デフォルトの名無しさん
06/10/02 10:17:57
A=A+0
っていうのでどうでしょ?
687:デフォルトの名無しさん
06/10/02 10:43:37
洒落で言ってるの?
688:デフォルトの名無しさん
06/10/02 12:34:41
>>687
どれがしゃれ?
689:デフォルトの名無しさん
06/10/02 13:10:26
いや、君に聞いてるんだけど。
690:デフォルトの名無しさん
06/10/02 19:40:26
"って、chr(34)で入れるしかないですか?
"""とか"^""とか"\""とか、だめ?
691:デフォルトの名無しさん
06/10/02 19:47:59
WScript.Echo('"');
692:デフォルトの名無しさん
06/10/02 22:06:20
>>690
VBScript の場合は、Chr() 関数を使うしかない。
JScript の場合は、シングルクォーテーションで囲っても良いし
エスケープシーケンスを使って \" と書いても良い。
"\""って発想が出てくる喪前に JScript 。
693:デフォルトの名無しさん
06/10/02 22:11:47
""""
1 文字列囲い開始
2 ダブルクォーテイションのエスケープ文字
3 ダブルクォーテイション
4 文字列囲い閉じ
694:680
06/10/03 08:39:28
>>685 IsNumericの存在を始めてしったが、使いこなせないのが鬱 Or=z__
修行に出るわ
695:690
06/10/03 10:38:54
>>693
さんくす。うまくいきました。
それ、どっかにドキュメントがありますか?
696:デフォルトの名無しさん
06/10/03 18:34:07
ソースだせやゴルア!ってこと?
697:690
06/10/03 19:16:06
>>696
そんな言い方はしてないw
698:デフォルトの名無しさん
06/10/03 19:40:06
>>690
Visual Basic における文字列の基本
URLリンク(msdn2.microsoft.com)
699:デフォルトの名無しさん
06/10/04 08:38:01
SeraphyScriptTools を使って、GUI画面作っているのですが…
URLリンク(www.vector.co.jp)
CommonDialogオブジェクトの
MultiOpenFileDialog
メソッドで配列を取得するんだけどVBのVariant配列が帰ってくるんです。
それでこれをJScript上で取得したいんだけど、方法を知っている方いらっしゃらないでしょうか?
700:デフォルトの名無しさん
06/10/04 09:38:03
>>699
つ URLリンク(hp.vector.co.jp)
701:690
06/10/04 10:35:54
>>698
だんけ
702:デフォルトの名無しさん
06/10/04 16:02:23
URLリンク(d.hatena.ne.jp)
703:デフォルトの名無しさん
06/10/04 17:09:48
>>699
varName = new VBArray(safeArray)
704:699
06/10/04 20:24:45
>703
サンキュ! 解決した!
705:デフォルトの名無しさん
06/10/04 23:31:31
初心者です。初めて質問します。C#からWshを使おうと思っています。
現在、既に開かれているIEのテキストを取得しようと試みています。
そのため、IEのWindowのIEオブジェクトを取得しようと
思っているのですが、その取得方法が分かりません。
Set Shell = Wscript.CreateObject("Shell.Application");
//既に開かれているWindowからIEを探す処理
//IEオブジェクトからテキストを抜き出す処理
DocumentプロパティからIHTMLDocumentを取得するとよい??
大体このような流れだと思うのですが、詳細が分かりません。
どなたかご教授願います。
ちなみにIE6.0.0系を使おうと思っています。
706:デフォルトの名無しさん
06/10/04 23:55:48
>>705
つSystem.Runtime.InteropServices.Marshal.GetActiveObject
流れはおおよそ間違っていないが、WSHは全く関係しない。
707:デフォルトの名無しさん
06/10/05 00:08:36
>706
素早い回答、真に有難う御座います。
この方法を使うとC#から直接COMオブジェクトを利用できると思ってイイですか?
708:デフォルトの名無しさん
06/10/10 00:17:37
>>671
wShell.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
のintWindowStyleのデフォルトを調べてみました。
関連付けのコマンドラインに、%Sを指定すると、ここに、WindowStyleが入ります。
ダブルクリック 1
ドロップ 5
wShell.Run 1
CMD.EXE /C 1
START /MIN 7
START /MAX 3
でした。
709:690
06/10/12 10:42:56
>>708
ってことは、1ですかね?どうもありがとうございまs
710:デフォルトの名無しさん
06/10/12 12:23:32
10 ではないだろうか
711:デフォルトの名無しさん
06/10/13 16:36:50
10じゃなくて1のようです。
712:デフォルトの名無しさん
06/10/18 00:15:06
WindowsのGUIからではなくコマンドまたはスクリプトを用いて
各インターフェイスの「Microsoft ネットワーク用ファイルとプリンタ共有」
のチェックを外す事は可能でしょうか?
ローカルエリア接続が出来れば結構です。
netshやサービスのコマンドを見てみてもそれらしき、項目はありませんでした。
どなたか教えてくださいm(_ _)m
713:デフォルトの名無しさん
06/10/18 02:21:10
>>712
Windows XP SP2なら
netsh firewall set service FILEANDPRINT DISABLE
とやればWindowsファイヤウォールの設定によって
同等の効果が得られそうだけど、
スクリプトでやるとしたらWMI使ったりレジストリ操作したりで面倒そう。
714:デフォルトの名無しさん
06/10/18 21:17:37
>>713
ありがとうございます。
OSはWinXPSP2ですが、各インターフェイスごとというのが難しいようですね。
例えば無線LANでは有効、有線LANでは無効といった使い方をしたいんです。
715:デフォルトの名無しさん
06/10/21 13:59:22
うろおぼえなのですが、マウスの右クリックと同じ動作をさせるInvokeとかなんとかっていう機能があったような。
あんまり関係ないでしょうか?
716:デフォルトの名無しさん
06/10/25 01:01:48
wshでセットした変数をバッチスクリプトで使うには
environmentを使えばいいのでしたっけ?
717:デフォルトの名無しさん
06/10/25 01:38:14
>>673
これってどうなの?
718:デフォルトの名無しさん
06/10/25 11:10:37
全然ダメ
719:デフォルトの名無しさん
06/10/25 19:49:07
sendkeysは左右のshiftとctrl(各々個別に)が使い分けられない事を知った。
Sendinputやらkeyeventやらのモノがあるらしいが、どこ見ても難しい;;
ぶっちゃけ↓だけメモ帳にいれて.vbsにすると、実行されるじゃない?
msgBOX "aaaaa"
ま、ここまで簡単でなくとも、も少し簡単な例はないですか?
720:デフォルトの名無しさん
06/10/26 18:02:16
ようやくHTAの引数の読み込み方が分かった…
721:デフォルトの名無しさん
06/10/26 18:03:21
シマタ誤爆。
722:デフォルトの名無しさん
06/10/26 23:46:40
( ´_ゝ`)フーン
723:デフォルトの名無しさん
06/10/28 21:44:40
>>720
ちなみに、WSHと同じく、Arguments で取得できたりするの?
724:デフォルトの名無しさん
06/10/28 22:42:40
>>723
資料読めばわかるけど、HTA の設定をするための <HTA:APPLICATION /> タグってのがある。
これに id 属性を設定すると、設定した id を使って
スクリプト中からこのタグを表したオブジェクトにアクセスできるようになる。
<HTA:APPLICATION id="app" applicationname="MyApplication" />
こうすると、例えば JS では app.applicationName で "MyApplication" が参照できる。
んで、このオブジェクトの commandLine プロパティに起動時のコマンドライン文字列が入ってる。
調べた限りでは、引数が取得できるのはこのプロパティを通してのみで、
自動的に Arguments のように配列にわけてくれたりはしない。
725:723
06/10/29 00:15:11
>>724
丁寧にありがとう。
726:デフォルトの名無しさん
06/10/29 00:20:36
誤爆っていってんだから紛争地域にいってやれよ
スレリンク(tech板)
727:デフォルトの名無しさん
06/10/29 13:09:19
いや向こうのスレからネタ拾ってきたんでしょ。
それに紛争している訳でもないし。
728:デフォルトの名無しさん
06/11/02 00:18:45
外部からVBスクリプトで書かれた関数を呼び出すにはどうしたらよいでしょうか?
例として、
cscript hoge.vbs foo
(hoge.vbsのモジュール的な箇所は実行しつつもfoo関数を呼び出す)
729:デフォルトの名無しさん
06/11/02 00:25:45
モジュール的な箇所にfoo関数を呼び出すコードを書く
730:デフォルトの名無しさん
06/11/02 00:27:11
.vbs でなく .wsf にVBSを書くようにして
cscript hoge.wsf //job:foo
のようにする。
731:デフォルトの名無しさん
06/11/02 00:46:50
コマンドラインの第1引数に少し文字列付け足して、Evalに渡す。
732:デフォルトの名無しさん
06/11/02 00:49:01
>>729,730
貴重な情報ありがとうございます。
どちらの方法もよさそうなのでとりあえず両方作ってみようと思います。
ありがとうございました。
733:デフォルトの名無しさん
06/11/02 00:50:37
>>731
引数を渡して内部で関数を呼び出すカンジですよね。
勉強も兼ねているので色々試してみたいと思います。
ありがとうございました。
734:デフォルトの名無しさん
06/11/02 01:37:53
>>733
完成したら、さらしてね
735:デフォルトの名無しさん
06/11/03 21:48:05
>>728
VBscriptハッカーズマニュアルの続編の本に、
Executeメソッド内に、他のvbsプログラム(←関数の集まりを入れておく) を実行するコードを書いておくっていう裏技を紹介してた。
これで、vbsから、別のvbs内の関数を使える。
でも、呼び出されるvbsコード内に、不要なコードが入ってると、それも実行されてしまうみたいなので、
>>730 のように、wsfとか、htaから呼び出すのが、基本みたい。
736:デフォルトの名無しさん
06/11/03 21:55:39
WshShortcut オブジェクトのRelativePathってどう使うんでしょう?
設定は出来ても、参照はできず、実行もできないみたい。
737:デフォルトの名無しさん
06/11/04 18:42:49
>>736
ちゃんと実装されてないのでは
738:デフォルトの名無しさん
06/11/04 18:52:42
バッチファイルにJScriptを埋め込む例(※参照)。
バッチファイルの拡張子は .cmd で。
@if (0)==(0) echo off
setlocal
set me=%0
cscript.exe //nologo //e:jscript %me:.cmd=%.cmd %*
goto :eof
@end
// ここからJScript
var args = WScript.Arguments;
for (var i = 0; i < args.length; i++)
WScript.Echo(i, args(i));
※↓
スレリンク(tech板:100番)
スレリンク(tech板:72番)
739:デフォルトの名無しさん
06/11/04 19:23:08
そんな枯れた情報をいきなり書かれてもねぇw
740:デフォルトの名無しさん
06/11/04 21:09:03
しかも、情報が劣化してる。変なことせずとも、
CScript.exe //NoLogo /E:JScript "%~f0"
でよい。
741:デフォルトの名無しさん
06/11/04 21:14:11
あれ、//Eでなくても通るのね。訂正。
CScript.exe //NoLogo //E:JScript "%~f0"
742:デフォルトの名無しさん
06/11/04 21:30:18
では、こんなのも。バッチでクリップボードを処理する例。
@ECHO OFF
FOR /F "delims=" %%0 IN ('MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') DO ECHO %%0
でも、これ、WSHじゃないな。
743:デフォルトの名無しさん
06/11/04 21:45:40
FileSystemObject ObjectのGetStandardStreamって日本語版の
Windows Script V5.6 ドキュメント(Script56.CHM)には載ってないよね
744:デフォルトの名無しさん
06/11/04 21:47:57
MSDNライブラリ参照
745:デフォルトの名無しさん
06/11/04 21:57:22
MSDN見ても日本語では載ってないから英語版のscript56.chmでいいや
746:デフォルトの名無しさん
06/11/07 02:01:01
wscript実行時に窓に表示される
バージョン情報と、~All rights reserved の文字を
表示させないようにすることはできますか?
ご教示ください。
747:746
06/11/07 02:20:21
すいません。解決しました。
//nologo ですね。
748:デフォルトの名無しさん
06/11/13 02:26:09
WScript.ShellのRegWriteメソッドで、バイナリ値で「00 00 00 00」を書き込む方法を教えてください。
.regに書き出して結合するとかreg.exeやWMIを使うとかではなくRegWriteでの方法です。
WinXP/WSH5.6
749:デフォルトの名無しさん
06/11/13 09:10:43
>>748
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\company\\application\\bin_value", 0, "REG_BINARY");
750:748
06/11/13 17:49:22
>>749
回答ありがとうございます。しかし、それだと「00 00」になるんです。
そして第二引数をCByte(0)にすると、「00」になります。
この板の方なら、同じ0でも、「00 00」と「00 00 00 00」の意味が違うことは
解ってると思いますが、望む結果は「00 00 00 00」なんです。
WMIだとArray(0,0,0,0)を書き込むことで「00 00 00 00」になるんですが
これと同じ結果をRegWriteで行いたいと言うことです。
引き続きよろしくお願い合います。
751:デフォルトの名無しさん
06/11/13 19:20:09
>>750
やってみれば簡単に理解できると思いますがJScriptなら 4バイトになるぞ。
しかし、CByte()を知ってるのにCLng()を思いつかないとは・・・
752:デフォルトの名無しさん
06/11/13 21:38:12
イメージ名で指定して、そのプロセスが動いているかどうか判定したいのですが、
wshでできるでしょうか。
できるならその方法を教えていただきたいです。
753:デフォルトの名無しさん
06/11/13 21:50:21
WMI 使えば出来るな。
Win32_Process
754:752
06/11/13 22:38:52
ありがとうございます
755:デフォルトの名無しさん
06/11/15 14:23:49
スレリンク(charaneta2板)
756:デフォルトの名無しさん
06/11/17 20:55:41
Windows PowerShell Version 1.0
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
ell/default.mspx
757:デフォルトの名無しさん
06/11/18 00:22:30
VBscriptもしくはVB6.0でバイナリデータのファイル操作ってできますか?
758:デフォルトの名無しさん
06/11/18 00:25:41
っOpen
759:デフォルトの名無しさん
06/11/19 00:20:45
IEを起こして取れますが、遅いので、
Set Document=CreateObject("htmlfile")
Document.write "<input type=text id=xxx>"
Document.all.xxx.value="ほげほげ"
MsgBox Document.all.xxx.scrollWidth
で、文字列の表示幅を取ろうとしたのですが、0しか返って来ません。
"htmlfile"は、ウィンドウを持たないので、~Widthなどは取れないってことでしょうか?
760:デフォルトの名無しさん
06/11/19 00:49:40
>>759
<INPUT>エレメントの持つプロパティで、
それっぽいのは offsetWidth かな?
scrollWidthやめて、offsetWidth にしたらどう?
761:デフォルトの名無しさん
06/11/19 18:13:52
VBscriptで
A=150
Dim B(A)
Dim C(A)
Dim D(A)
というふうに配列宣言時、添え字の数字に変数を使いたいのですが、エラーになります。
解決方法を教えて下さい。
762:デフォルトの名無しさん
06/11/19 18:33:39
Dim A
A = 150
ReDim B(A)
ReDim C(A)
ReDim D(A)
763:デフォルトの名無しさん
06/11/19 20:52:54
>>762
俺もそう思ったw
764:761
06/11/19 21:53:39
>>762
そうやってもエラーになります
765:761
06/11/19 21:56:40
すいません勘違いでした。無事できました。
766:デフォルトの名無しさん
06/11/21 22:30:28
StrCnvさえ使えたら
767:デフォルトの名無しさん
06/11/21 22:49:45
うちではVBSで使ってるよ。>>VBランタイム内のStrCnv
768:デフォルトの名無しさん
06/11/21 23:24:09
>>767
kwsk
769:デフォルトの名無しさん
06/11/23 00:32:32
>>766
>StrCnvさえ使えたら
なにがしたいの?なくても困ること特にないけど。
770:デフォルトの名無しさん
06/11/23 11:45:18
そんなこと言ったらWSH自体使わなくても(r
771:デフォルトの名無しさん
06/11/23 15:48:49
>>767
VBで、VBの内部オブジェクトを公開するCOMを作ったことあるけど、
MSはそういう使い方保証してないし、開発ライセンスのないひとに
そのCOMを提供するのはどうかなというのと、
どうしても必要ということがなくてやめた。
>>766
VB持ってたら作ってみたら。
EXCELなど持ってたらVBAでも同様のことできるのでは。
772:デフォルトの名無しさん
06/11/25 19:05:25
直接使えばいいのに
773:デフォルトの名無しさん
06/11/29 15:52:47
子供の為にPCの起動を監視する(起動したら掲示板に「起動しました」と書き込む)スクリプトを書いているのですが、
レジストリのローカルマシーン(都合があって)の方にスタートアップを登録したのですが、うまく起動しないことがあります。
通常の起動なら大丈夫なのですが、スタートアップだと1/5ぐらいの確立でしか起動してくれないです・・・
xmlhttpを使ってます。
774:デフォルトの名無しさん
06/11/29 16:21:55
>>773
コード貼り付けてよ
775:デフォルトの名無しさん
06/11/29 17:02:41
>>773
ネットワークがUPしてないんだろ。1分くらいしてから処理開始しなよ。
あとそれたとえ相手が自分の子供でも犯罪行為だから。
こんな人間がいるとは、リアルで気分悪くなった。
776:デフォルトの名無しさん
06/11/29 17:20:18
>>773
イベントビューアでログ見れば済む事を
なぜわざわざ掲示板に書かせるんだね?
777:デフォルトの名無しさん
06/11/29 20:11:20
ヒント: 自分の子供じゃない
778:デフォルトの名無しさん
06/11/29 20:52:30
ヒント: 子供云々は口実で、本当はストーカー行為目的。
779:デフォルトの名無しさん
06/11/29 22:25:06
一応WScript.sleep で120000ミリ秒待機するようにしてます
犯罪行為になるならば、HD上にログに残す方法でやるしかないんでしょうね
確かにキーロガーとか仕込めばストーカーですね
780:デフォルトの名無しさん
06/11/29 22:28:53
だからイベントビューア
781:デフォルトの名無しさん
06/11/30 18:36:23
きっとお兄さんたちに人気がありそうな容貌をした小学生のお子さんなんだろう
だとしたらそこまでして監視したいという気持ちもわかる
がやっぱ気分悪いな
782:デフォルトの名無しさん
06/11/30 21:08:54
ここにいるのはお子様ばかりか?
俺はすべてのファイルを監査対象にして、何をいつ触ったかまで細かくフルロギング!
もちろん監査ログは5分おきに携帯へ逐一転送。
万一の場合にはリモートから即座にシャットダウン可能です。
まあ、愛する我が子を危険なインターネットから守るにはこのぐらいして当然ですよね。
783:デフォルトの名無しさん
06/11/30 21:12:38
>>782
まだまだヒヨっ子だなw
784:デフォルトの名無しさん
06/11/30 21:44:29
楽しい釣り場でつね
785:デフォルトの名無しさん
06/11/30 22:06:11
うん。
でも釣る側の俺は楽しいが、
釣られる奴等は悔しがってるんだろうなw
786:デフォルトの名無しさん
06/12/06 04:02:33
統合アーカイバのKBAってちゃんと動く?
Path = "C:\\DATA\\PROG\\WSH\\KBA\\test.zip"
Set UnZip = CreateObject("KBA.UNZIP")
Result = UnZip.FileCount(Path)
WScript.Echo Result
Result = "" & UnZip.OpenArc(Path)
WScript.Echo Result
こういうのをやると、FileCount()は動くのに、OpenArc()は動かない。
OpenArc()が動かないとファイル情報系のメソッドが全く使えない。
787:786
06/12/07 02:09:01
ProgIDが"KBA.UNZIP"だからUNZIP32.DLLだけあればいいかと思ったけど違った・・・orz
788:デフォルトの名無しさん
06/12/15 17:09:58
Windows板で質問して、WSHなら出来そうって事でやってきました。
やりたい事は、
ショートカットなどをダブルクリックするごとに、
1)タスクバーを自動的に隠す設定にする。
2)1を解除。
というものです。
WSH無しでもいけそうならお教えいただけるとありがたいです。
ググってみたのですが、WSH関係のサイトにタスクバーについて
の処理というのが見つけられず、困っている次第です。
よろしくおながいします。
789:デフォルトの名無しさん
06/12/15 17:43:51
SHAppBarMessage 使うアプリを書いてそれを呼び出す
790:デフォルトの名無しさん
06/12/15 18:01:16
メニューでやってることを、SendKeysでやらせる。
or
レジストリの変更箇所を見つけて、RegWriteで書き換える。+ 即反映の何か。
791:こんな時間まで何やってんだろ俺.wsf
06/12/16 04:10:35
<job>
<script language="JScript">
function deRLE(src){
return src.replace(/\s/g,"").replace(/(.)\.(.)/g,function($0,$1,$2){
return Array(parseInt($2,35)+(($2<"A")?56:($2<"a")?-6:20)).join($1);});}
</script>
<script language="VBScript">
Set fso=CreateObject("Scripting.FileSystemObject")
path=fso.BuildPath(fso.GetSpecialFolder(2),"SwHide.exe")
Set elm=CreateObject("Microsoft.XMLDOM").createElement("data")
elm.DataType="bin.base64":elm.text=deRLE(getResource("bin"))
With CreateObject("ADODB.Stream")
.Open:.Type=1:.Write elm.NodeTypedValue:.SaveToFile path:.Close
End With
CreateObject("WScript.Shell").Run path,1,True
WScript.Sleep 1000:fso.DeleteFile path
</script>
<resource id="bin">
TVqQAAMA.BEA.B//8AALgA.GQA.syA.C4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm
5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJA.HvsN/Fa9GxlmvRsZZr0bGWqN7slm7RsZZr0
bCWadGxlkwXw5Zp0bGWTBfJlmrRsZZSaWNoa9GxlgA.RBQRQAATAEDADWwgkUA.HOAAAwELA
QgAAAIA.BEA.GBA.CQA.BIA.CBA.BQA.CgAABA.HEA.HBA.CBA.GIAAAQAABAAABA.DEAAAE
A.FBA.MBAgAAA8A.9A.tIAAAEA.hC50ZXh0A.BRQA.CQA.CgA.BQA.PCAAAGAucmRhdGEAAJ
YA.CIA.CIA.BGA.PBAAABALmRhdGEA.BEA.CDA.bQAAAwA.9A.9A.9A.9A.9A.9A.9A.9A.9
A.dIPsJFaLNQggQACNRCQEUGoEx0QkDCQAAADHRCQQA.CP/WD7bIg/H/jVQkBIPhAVKDyQJq
ColMJCz/1moA/xUAIEAAXgA.9A.9A.9A.9A.9A.9A.9A.9A.9A.LXCA.FB4IA.FEwgA.KGog
A.BIAAAVCA.LiiA.BggA.aFwgA.FeCA.FC5AEV4aXRQcm9jZXNzAEtFUk5FTDMyLmRsbAAAd
gBTSEFwcEJhck1lc3NhZ2UAU0hFTEwzMi5kbGwA.9A.9A.9A.9A.9A.9A.9A.h=
</resource>
</job>