1read 100read
2011年10月1期プログラムWSH(・∀・)スレッド! Part 4 TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
次世代のプログラミングを考える
CVS導入スレ〜 Rev.3
Boost総合スレ part9
関数型言語Part5


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


1 :09/05/24 〜 最終レス :11/12/31
( ´ゝ`) 誰か詳しい情報キボンヌ
●過去スレ
WSH(・∀・)スレッド!
http://pc11.2ch.net/test/read.cgi/tech/1055075469/
WSH(・∀・)スレッド! Part 2
http://pc11.2ch.net/test/read.cgi/tech/1176698934/
WSH(・∀・)スレッド! Part 3
http://pc12.2ch.net/test/read.cgi/tech/1208948450/
●関連スレ
お前ら、wsh使ってますか? Part7
http://pc12.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画 Part2
http://pc12.2ch.net/test/read.cgi/tech/1220874815/
★WSHでCGI★JScriptVBScript
http://pc11.2ch.net/test/read.cgi/php/1059745064/
●公式サイト
Windows Script
http://www.microsoft.com/japan/msdn/scripting/
●個人サイト
Windows Scripting Host
http://homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
http://winscript.s41.xrea.com/wiki/index.php

2 :
>>1

WSHやVBSずっと消えないで欲しい
というか消えたら困る

3 :
VB6よりは長生きできるさきっと

4 :
javascriptが残るならjscriptも残るだろうし、wshも当然残ることになる。そうなるとvbscriptも残るし、htaが残るのは当然だ。

5 :
ある日、次のバージョンのWindowsでは対応しないことになって終わる

6 :
だんだん使いにくくなるな
scriptcontrolはvistaで消えた
<input type=file>はie8で使えん
...

7 :
ここの人たちは PowerShell は使ってる?
>>2
WSH消えたら困る人ってあんまり見かけないけど
案件でWSH酷使してるんか?

8 :
>>7
いままで標準装備のWSHで処理しなかった人たちは、今後標準装備になるPowerShellも使わんだろうな。

9 :
>>7
俺は個人だよ
msgboxが好きなので(ホントはpopupメソ)
powershellは未だ手付かず
WSHから自由に.netのクラスライブラリ
呼び出せるといいんだけどね

10 :
そういうcomを作ればよい

11 :
com?やだよメンドクサイ
標準装備で出来ることがWSHのメリットなのにさ。
WSHからSystem.Collections.ArrayList呼ぶことなら結構あるけどな。

12 :
System.Collections.ArrayListはcomから呼べるように特別に作ってあるのか
それとも、ほかのクラスもレジストリに書けば呼べるのか?

13 :
ttp://www.isla-plata.org/wiki/pukiwiki.php?%B3%AB%C8%AF%A5%EA%A5%BD%A1%BC%A5%B9%2FJScript%2F%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%AB%A4%E9.Net%20Framework%A5%AF%A5%E9%A5%B9%A4%F2%CD%F8%CD%D1%A4%B9%A4%EB%A1%CA%A5%CE%A5%A6%A5%CF%A5%A6%CA%D4%A1%CB

14 :
で、どっち?

15 :
>>13
ここまでまとめた人が居るんか、すごいな
でもやっぱりあんまり使えなそう
結局powershell覚えて出力をWSHで受け取るとか
本末転倒だなw

16 :
PowerShellでもWin32API使いにくいからな
FindWindowやSendMessageが標準環境で簡単に使えるようにならんかな

17 :
スクリプト言語の中にはC関数を直接呼び出せるものがあってな

18 :
そんなもん、いくらでも有るが

19 :
なんでvbscriptは

20 :
こんなにかわいいの?

21 :
シフトキーを押しながらの操作はWSHでどうするの?

22 :
WSHを実行するのにシフトキーを押す必要はありません。

23 :
なるほど

24 :
>>21
copyhereやmovehereみたいに用意されてるものもあるが
ショートカットの貼り付けや
invokeverb "delete"みたいに用意されてないものもある
ないものはあきらめてほかの方法さがせ

25 :
なるほど

26 :
mailto:sage

27 :
getobject("hoge.xls")して、それが新規インスタンスか、
既存のインスタンスか、区別する方法は?

28 :
普通にやれば良いだけでは?

29 :
抽象的な質問なのですが、wshでアプリケーションを操作する・・・では無くて
wshでアプリケーションを作る事は可能ですか?

30 :
GUIつきのアプリは厳しいんじゃないか?

31 :
そのためのHTAです。

32 :
<SCRIPT language="vbscript">
str = "Hello World!!"
</SCRIPT>
<BODY>
<P><変数strを、ここに出力したい。></P>
</BODY>

33 :

34 :
<BODY>
<P>Hello World!!</P>
</BODY>

35 :
>>27
ないんじゃないか
getobjectする前に排他オープンしてみるとか

36 :
<html><BODY><!-- NHKニュース速報すくりぷと.hta -->
<div align="center"><i>NHKニュース速報 </i><span id =span1></span><span id =span2></span></div></BODY>
<script language=vbscript>
Window.ReSizeTo 480,360
Sub Window_onLoad()
span2.innerhtml="<font size=1> アナログ</font>"
For iii = 0 to 10
span1.innerhtml = "日経平均、" & iii & "万円台突破"
createobject("WScript.Shell").Run "%COMSPEC% /c ping -n " & 1 & " 127.0.0.1>nul", 0, true
next
end sub
</script></html>

37 :
<html>
<body>
<!-- 完璧すぎる.hta -->
<p>変数strを、ここに出力したい。</p>
<span id =strspan></span>
</body>
<script language=vbscript>
sub window_onLoad()
str = "Hello World!!"
strspan.innerhtml = str
end sub
</script>
</html>

38 :
>変数strを、ここに出力したい。
といってるくせに違うところに出してどうする?

39 :
>>37
setintervalかsettimeout使えよ

40 :
getobject("hoge.xls")

getobject("hoge.xls","excel.sheet")
の違いはなんだろう?

41 :
,"excel.sheet"があるかないかの違い。

42 :
ハズレ

43 :
Active にするオブジェクトを指定してるんじゃなかったっけか?

44 :
どちらもWorkbookオブジェクトが取れる

45 :
getobject("hoge.xls")
は新規と既存がとれるけど
getobject("hoge.xls","excel.sheet")
は新規のみだろ
getobject("","excel.sheet")がcreateobjectなのはその1例だろ


46 :
exec.vbs
createobject("wscript.shell").exec("notepad")
を作って
wscript exec.vbs|more
とすると、wscriptは終了してるのに、notepadの終了を待ちます。
なぜか、わかる人いますか?

47 :
C:\>notepad|more

48 :
createobject("wscript.shell").run("notepad")
だと待たないからrunとexecの違いのなにかだろ

49 :
start /b /wait notepad|more
start /b notepad|more
パイプがinheritされて閉じられてないみたいだな

50 :
作業の自動化ができる、って具体的に何を自動化したいの?
連投スクリプトとかできるの?

51 :
それはお前さん次第さ

52 :
明日の会議で自動的に受け答えしてくれる?

53 :
それもお前さん次第さ

54 :
俺の代わりに飯食ってきてくれるか?いま手が離せない

55 :
それはまた別の話

56 :
どうやら>>52>>54の間辺りにWSHでできる事の限界があるらしい

57 :
じゃあ俺の心の隙間を埋めてくれるのかい?

58 :
埋め

59 :


60 :
WSHにてインストールされているプリンタの一覧を取得する方法はありますか?

61 :
あります

62 :
ありがたい

63 :
WSHで現在アクティブなウィンドウを取得する方法ってありませんか?
最前面に来て使用しているであろうアプリを調べたいのです。

64 :
ない
win32api使え

65 :
SFCminiとAutoitXを入れましょう。これでWSHからwin32apiも使い放題。window操作もやりたい放題。

66 :
>>64、65
ありがとうございます。調べてみます。
ネットで調べてうすうすAPIというものを使わないと無理そうだとは思ってたのですが
やはりそうですか・・

67 :
WSHから離れて、dmscript( 日本人製作の
Jscriptと同様のスクリプト、dm.exe -l オプションでワンライナーの
ようにも使えるので場合によってはWSHからWin32Apiの機能を利用可能)、
UWSC(日本人製作、ドキュメント多し)、
なでしこ(日本人製作、ドキュメント多し)、
AutohotkeyやAutoIT3(AutoItXとほぼ同じ)をつまんで見るのも吉。
これらは、SFCminiやAutoITXに比べて、ポータブルでも使えるメリットがある。

68 :
あんま怪しいツールは入れたくないんだよね

69 :
MS純正
excel
powershell
vb.net

70 :
どれもOS標準添付じゃないし…

71 :
結局は XUL が最強だよな

72 :
.netはvistaに標準添付だろ

73 :
開発環境も?

74 :
vbc.exe

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

76 :
IEで、Ctrl+Nでウィンドウの新規作成を行った時と等価な状態(セッション情報等を継承)で、
WSHでIEのウィンドウの新規作成を行い、
かつそのIEのウィンドウのオブジェクトIDを得るにはどうしたら宜しいでしょうか?

77 :
>>76
ここはWSHのスレであって
IEコンポーネントAPIのスレではないのでスレ違い。

78 :
Shell.apliction でグルグルすると既存のieオブジェクトやエクスプローラーのハンドルとれるじゃん。
またはieオブジェクト作ったときのオブジェクトに、例えば objIe.hWndってやってもハンドル取れる。

79 :
>>78
やりたい事は、セッション情報を引き継いだIEの新規ウィンドウの生成(Ctrl+Nに相当)です。
例えば、
ie1 = new ActiveXObject("InternetExplorer.Application");
ie1.Navigate("http://www.example.com/login/");
// ログイン処理
ie2 = new ActiveXObject("InternetExplorer.Application");
ie2.Navigate("http://www.example.com/foo/bar.html");
とした場合、ie1の派生物とie2の派生物では別セッションとなってしまい、
ie1でログイン状態がセッション管理により行われている場合、
ie2では非ログイン状態になってしまいます。

80 :
>>79
window.open ではダメなの?

81 :
>>78
どれがアクティブか調べる方法は?

82 :
普通にやれば良いんじゃないの?

83 :
普通にWin32APIのFindWindow クラス名でやれば良いんじゃないの?

84 :
>>83
タブの区別がつかん

85 :
statustextでつくとは!

86 :
CreateObject("Shell.Application").Windows.Item
でアクティブ取れるんだね。

87 :
正確には
でアクティブ取れたんだね。

88 :
>>87
え?Vista以降は取れないとか?

89 :
え?IE7以降は取れないとか?

90 :
どこで聞けばいいのかわからないのでここで質問を
piyo1hogera.txt
piyo2hogera.txt
piyo3hogera.txt
piyo5hogera.txt
pito8hogera.txt
というように番号がとびとびになっているようなファイルの集まりから数字だけを抽出して
htmlファイルに反映させたいんだけどどうすればいい?
一応, ファイル一覧は抽出できるんだけどそっから数字だけを抽出するにはどうすればいいかわからないので。

91 :
>>90
正規表現を使うのが簡単
var num;
if (/(\d+)/.exec(ファイル名) != null) { // ファイル名に数字を含んでいたら
num = RegExp.$1; //抽出した数字
}

92 :
$1wwwwwwwwwwww

93 :
WScript.Echoで文字色変えられますか?もし変えられるなら方法も

94 :
>>93
コンソールの文字色変更だったらオススメはしない
一応、コンソールAPI or エスケープシーケンス を使うことで出来るけどね
↑は環境を変更する必要があるので、HTAを使った方がマシだと思う

95 :
tscmd.zipのechoc.exeを使うといいかも

96 :
createobject("wscript.shell").exec "cmd /c color ac"

97 :
>>95-96
間違ってはいないけど >>93 の意図とは違うだろ・・・ワザとか?

98 :
>>96はだめみたいよ
標準入出力をリダイレクトしてコンソール環境を継承してない?

99 :
>>93
NT系OSのコマンドプロンプトでは色指定などのエスケープシーケンスは標準ではサポートされない
エスケープシーケンス ANSI.SYS などのキーワードで検索

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
次世代のプログラミングを考える
CVS導入スレ〜 Rev.3
Boost総合スレ part9
関数型言語Part5