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


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

WSH(・∀・)スレッド!



1 名前:デフォルトの名無しさん [03/06/08 21:31]
( ´ゝ`) 無ので立ててみた。

誰か詳しい情報キボンヌ

679 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 03:44:07 ]
pc8.2ch.net/test/read.cgi/hp/1018858947/214


680 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 14:42:28 ]
CInt とか CCur とか

682 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 14:44:38 ]
>>680
A,B,CそれぞれCDbl関数で括れば?

683 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:01:32 ]
A か B どちらか一方を数値にすればおk

684 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:20:22 ]
A = CDbl(InputBox("上底 cm","値を入力してください"))

こうすることで、解決できました。
ありがd

685 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 23:27:59 ]
例外処理きちんとしようぜ。
IsNumericっていう便利な関数あるんだから。

686 名前:デフォルトの名無しさん [2006/10/02(月) 10:17:57 ]
A=A+0
っていうのでどうでしょ?


687 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 10:43:37 ]
洒落で言ってるの?



688 名前:デフォルトの名無しさん [2006/10/02(月) 12:34:41 ]
>>687
どれがしゃれ?


689 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 13:10:26 ]
いや、君に聞いてるんだけど。

690 名前:デフォルトの名無しさん [2006/10/02(月) 19:40:26 ]
"って、chr(34)で入れるしかないですか?
"""とか"^""とか"\""とか、だめ?


691 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 19:47:59 ]
WScript.Echo('"');

692 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 22:06:20 ]
>>690
VBScript の場合は、Chr() 関数を使うしかない。
JScript の場合は、シングルクォーテーションで囲っても良いし
エスケープシーケンスを使って \" と書いても良い。

"\""って発想が出てくる喪前に JScript 。

693 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 22:11:47 ]
""""

1 文字列囲い開始
2 ダブルクォーテイションのエスケープ文字
3 ダブルクォーテイション
4 文字列囲い閉じ

694 名前:680 mailto:sage [2006/10/03(火) 08:39:28 ]
>>685 IsNumericの存在を始めてしったが、使いこなせないのが鬱 Or=z__
修行に出るわ

695 名前:690 [2006/10/03(火) 10:38:54 ]
>>693
さんくす。うまくいきました。
それ、どっかにドキュメントがありますか?


696 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 18:34:07 ]
ソースだせやゴルア!ってこと?

697 名前:690 [2006/10/03(火) 19:16:06 ]
>>696
そんな言い方はしてないw




698 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 19:40:06 ]
>>690
Visual Basic における文字列の基本
ttp://msdn2.microsoft.com/ja-JP/library/ms234766.aspx


699 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 08:38:01 ]
SeraphyScriptTools を使って、GUI画面作っているのですが…
www.vector.co.jp/soft/win95/prog/se177026.html

CommonDialogオブジェクトの
MultiOpenFileDialog
メソッドで配列を取得するんだけどVBのVariant配列が帰ってくるんです。

それでこれをJScript上で取得したいんだけど、方法を知っている方いらっしゃらないでしょうか?



700 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:38:03 ]
>>699
つ ttp://hp.vector.co.jp/authors/VA017626/


701 名前:690 [2006/10/04(水) 10:35:54 ]
>>698
だんけ


702 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 16:02:23 ]
d.hatena.ne.jp/xAloe/20061001


703 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 17:09:48 ]
>>699
varName = new VBArray(safeArray)


704 名前:699 mailto:sage [2006/10/04(水) 20:24:45 ]
>703
サンキュ! 解決した!

705 名前:デフォルトの名無しさん [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 23:55:48 ]
>>705
つSystem.Runtime.InteropServices.Marshal.GetActiveObject
流れはおおよそ間違っていないが、WSHは全く関係しない。

707 名前:デフォルトの名無しさん [2006/10/05(木) 00:08:36 ]
>706
素早い回答、真に有難う御座います。
この方法を使うとC#から直接COMオブジェクトを利用できると思ってイイですか?



708 名前:デフォルトの名無しさん mailto:sage [2006/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 [2006/10/12(木) 10:42:56 ]
>>708
ってことは、1ですかね?どうもありがとうございまs


710 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 12:23:32 ]
10 ではないだろうか

711 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:36:50 ]
10じゃなくて1のようです。

712 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:15:06 ]
WindowsのGUIからではなくコマンドまたはスクリプトを用いて
各インターフェイスの「Microsoft ネットワーク用ファイルとプリンタ共有」
のチェックを外す事は可能でしょうか?
ローカルエリア接続が出来れば結構です。
netshやサービスのコマンドを見てみてもそれらしき、項目はありませんでした。
どなたか教えてくださいm(_ _)m

713 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:21:10 ]
>>712
Windows XP SP2なら
netsh firewall set service FILEANDPRINT DISABLE
とやればWindowsファイヤウォールの設定によって
同等の効果が得られそうだけど、
スクリプトでやるとしたらWMI使ったりレジストリ操作したりで面倒そう。

714 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:17:37 ]
>>713
ありがとうございます。
OSはWinXPSP2ですが、各インターフェイスごとというのが難しいようですね。
例えば無線LANでは有効、有線LANでは無効といった使い方をしたいんです。


715 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 13:59:22 ]
うろおぼえなのですが、マウスの右クリックと同じ動作をさせるInvokeとかなんとかっていう機能があったような。

あんまり関係ないでしょうか?

716 名前:デフォルトの名無しさん [2006/10/25(水) 01:01:48 ]
wshでセットした変数をバッチスクリプトで使うには
environmentを使えばいいのでしたっけ?

717 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 01:38:14 ]
>>673
これってどうなの?



718 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 11:10:37 ]
全然ダメ

719 名前:デフォルトの名無しさん [2006/10/25(水) 19:49:07 ]
sendkeysは左右のshiftとctrl(各々個別に)が使い分けられない事を知った。
Sendinputやらkeyeventやらのモノがあるらしいが、どこ見ても難しい;;

ぶっちゃけ↓だけメモ帳にいれて.vbsにすると、実行されるじゃない?
msgBOX "aaaaa"

ま、ここまで簡単でなくとも、も少し簡単な例はないですか?

720 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:02:16 ]
ようやくHTAの引数の読み込み方が分かった…

721 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:03:21 ]
シマタ誤爆。

722 名前:デフォルトの名無しさん mailto:e_e [2006/10/26(木) 23:46:40 ]
( ´_ゝ`)フーン

723 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:44:40 ]
>>720
ちなみに、WSHと同じく、Arguments で取得できたりするの?

724 名前:デフォルトの名無しさん mailto:sage [2006/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 mailto:sage [2006/10/29(日) 00:15:11 ]
>>724
丁寧にありがとう。

726 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 00:20:36 ]
誤爆っていってんだから紛争地域にいってやれよ
pc8.2ch.net/test/read.cgi/tech/1124559962/


727 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 13:09:19 ]
いや向こうのスレからネタ拾ってきたんでしょ。
それに紛争している訳でもないし。



728 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:18:45 ]
外部からVBスクリプトで書かれた関数を呼び出すにはどうしたらよいでしょうか?
例として、
cscript hoge.vbs foo
(hoge.vbsのモジュール的な箇所は実行しつつもfoo関数を呼び出す)

729 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:25:45 ]
モジュール的な箇所にfoo関数を呼び出すコードを書く

730 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:27:11 ]
.vbs でなく .wsf にVBSを書くようにして
cscript hoge.wsf //job:foo
のようにする。

731 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:46:50 ]
コマンドラインの第1引数に少し文字列付け足して、Evalに渡す。


732 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:49:01 ]
>>729,730
貴重な情報ありがとうございます。
どちらの方法もよさそうなのでとりあえず両方作ってみようと思います。
ありがとうございました。

733 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 00:50:37 ]
>>731
引数を渡して内部で関数を呼び出すカンジですよね。
勉強も兼ねているので色々試してみたいと思います。
ありがとうございました。

734 名前:デフォルトの名無しさん [2006/11/02(木) 01:37:53 ]
>>733
完成したら、さらしてね

735 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 21:48:05 ]
>>728
VBscriptハッカーズマニュアルの続編の本に、
Executeメソッド内に、他のvbsプログラム(←関数の集まりを入れておく) を実行するコードを書いておくっていう裏技を紹介してた。
これで、vbsから、別のvbs内の関数を使える。

でも、呼び出されるvbsコード内に、不要なコードが入ってると、それも実行されてしまうみたいなので、
>>730 のように、wsfとか、htaから呼び出すのが、基本みたい。




736 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 21:55:39 ]
WshShortcut オブジェクトのRelativePathってどう使うんでしょう?
設定は出来ても、参照はできず、実行もできないみたい。


737 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 18:42:49 ]
>>736
ちゃんと実装されてないのでは



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


※↓
pc8.2ch.net/test/read.cgi/tech/1123842575/100
pc8.2ch.net/test/read.cgi/tech/1148485555/72

739 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 19:23:08 ]
そんな枯れた情報をいきなり書かれてもねぇw

740 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:09:03 ]
しかも、情報が劣化してる。変なことせずとも、
CScript.exe //NoLogo /E:JScript "%~f0"
でよい。


741 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:14:11 ]
あれ、//Eでなくても通るのね。訂正。
CScript.exe //NoLogo //E:JScript "%~f0"


742 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:45:40 ]
FileSystemObject ObjectのGetStandardStreamって日本語版の
Windows Script V5.6 ドキュメント(Script56.CHM)には載ってないよね

744 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:47:57 ]
MSDNライブラリ参照


745 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:57:22 ]
MSDN見ても日本語では載ってないから英語版のscript56.chmでいいや

746 名前:デフォルトの名無しさん [2006/11/07(火) 02:01:01 ]
wscript実行時に窓に表示される
バージョン情報と、〜All rights reserved の文字を
表示させないようにすることはできますか?
ご教示ください。

747 名前:746 mailto:sage [2006/11/07(火) 02:20:21 ]
すいません。解決しました。
//nologo ですね。



748 名前:デフォルトの名無しさん [2006/11/13(月) 02:26:09 ]

WScript.ShellのRegWriteメソッドで、バイナリ値で「00 00 00 00」を書き込む方法を教えてください。
.regに書き出して結合するとかreg.exeやWMIを使うとかではなくRegWriteでの方法です。
WinXP/WSH5.6


749 名前:デフォルトの名無しさん [2006/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 [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 19:20:09 ]
>>750
やってみれば簡単に理解できると思いますがJScriptなら 4バイトになるぞ。

しかし、CByte()を知ってるのにCLng()を思いつかないとは・・・

752 名前:デフォルトの名無しさん [2006/11/13(月) 21:38:12 ]
イメージ名で指定して、そのプロセスが動いているかどうか判定したいのですが、
wshでできるでしょうか。
できるならその方法を教えていただきたいです。

753 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 21:50:21 ]
WMI 使えば出来るな。
Win32_Process

754 名前:752 mailto:sage [2006/11/13(月) 22:38:52 ]
ありがとうございます


755 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 14:23:49 ]
etc3.2ch.net/test/read.cgi/charaneta2/1133239288/

756 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 20:55:41 ]
Windows PowerShell Version 1.0

www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx
www.microsoft.com/windowsserver2003/technologies/management/powersh
ell/default.mspx

757 名前:デフォルトの名無しさん [2006/11/18(土) 00:22:30 ]
VBscriptもしくはVB6.0でバイナリデータのファイル操作ってできますか?



758 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:25:41 ]
っOpen

759 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 00:49:40 ]
>>759
<INPUT>エレメントの持つプロパティで、
それっぽいのは offsetWidth かな?
scrollWidthやめて、offsetWidth にしたらどう?


761 名前:デフォルトの名無しさん [2006/11/19(日) 18:13:52 ]
VBscriptで

A=150

Dim B(A)
Dim C(A)
Dim D(A)

というふうに配列宣言時、添え字の数字に変数を使いたいのですが、エラーになります。

解決方法を教えて下さい。

762 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 18:33:39 ]
Dim A
A = 150

ReDim B(A)
ReDim C(A)
ReDim D(A)


763 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 20:52:54 ]
>>762
俺もそう思ったw

764 名前:761 [2006/11/19(日) 21:53:39 ]
>>762
そうやってもエラーになります

765 名前:761 mailto:sage [2006/11/19(日) 21:56:40 ]
すいません勘違いでした。無事できました。

766 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 22:30:28 ]
StrCnvさえ使えたら

767 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 22:49:45 ]
うちではVBSで使ってるよ。>>VBランタイム内のStrCnv



768 名前:デフォルトの名無しさん [2006/11/21(火) 23:24:09 ]
>>767
kwsk

769 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 00:32:32 ]
>>766
>StrCnvさえ使えたら
なにがしたいの?なくても困ること特にないけど。

770 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 11:45:18 ]
そんなこと言ったらWSH自体使わなくても(r

771 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:48:49 ]
>>767
VBで、VBの内部オブジェクトを公開するCOMを作ったことあるけど、
MSはそういう使い方保証してないし、開発ライセンスのないひとに
そのCOMを提供するのはどうかなというのと、
どうしても必要ということがなくてやめた。
>>766
VB持ってたら作ってみたら。
EXCELなど持ってたらVBAでも同様のことできるのでは。


772 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 19:05:25 ]
直接使えばいいのに

773 名前:デフォルトの名無しさん [2006/11/29(水) 15:52:47 ]
子供の為にPCの起動を監視する(起動したら掲示板に「起動しました」と書き込む)スクリプトを書いているのですが、
レジストリのローカルマシーン(都合があって)の方にスタートアップを登録したのですが、うまく起動しないことがあります。
通常の起動なら大丈夫なのですが、スタートアップだと1/5ぐらいの確立でしか起動してくれないです・・・
xmlhttpを使ってます。

774 名前:デフォルトの名無しさん [2006/11/29(水) 16:21:55 ]
>>773
コード貼り付けてよ

775 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 17:02:41 ]
>>773
ネットワークがUPしてないんだろ。1分くらいしてから処理開始しなよ。
あとそれたとえ相手が自分の子供でも犯罪行為だから。

こんな人間がいるとは、リアルで気分悪くなった。

776 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 17:20:18 ]
>>773
イベントビューアでログ見れば済む事を
なぜわざわざ掲示板に書かせるんだね?

777 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:11:20 ]
ヒント: 自分の子供じゃない



778 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:52:30 ]
ヒント: 子供云々は口実で、本当はストーカー行為目的。

779 名前:デフォルトの名無しさん [2006/11/29(水) 22:25:06 ]
一応WScript.sleep で120000ミリ秒待機するようにしてます
犯罪行為になるならば、HD上にログに残す方法でやるしかないんでしょうね
確かにキーロガーとか仕込めばストーカーですね






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

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

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