【VBScript】WSHについて話し合うスレ【JScript】at TECH
【VBScript】WSHについて話し合うスレ【JScript】 - 暇つぶし2ch100:デフォルトの名無しさん
21/10/31 21:58:45.97 3T1likaz.net
>>99
ボタン類がウインドウハンドルが取得できるアプリなら、
EXCEL経由でWindowsAPIを使って動かせます
ダメなら頑張ってSendKeysとか・・

101:デフォルトの名無しさん
21/11/10 05:06:08.88 nYV3iGax.net
ひさびさにJscriptをいじってみた。
全銀フォーマットをcsvに変換してみたんだが、
構造体使えないからこうするしかないよね?
URLリンク(tamajimu.sytes.net)
>>99
VBAなら操作できる。
URLリンク(youtu.be)
PSだどUIAutomation.dllを使う必要がある。たぶんVBSでも面倒だと思う。
URLリンク(youtu.be)

102:デフォルトの名無しさん
21/12/03 16:11:29.20 BQZU6rT+.net
Windows11 では、vbscript はなくなるのですか?

103:デフォルトの名無しさん
21/12/05 01:15:17.07 z1lQW/5A.net
Scripting.FileSystemObject のFileExistsで
unicode (utf-8かutf-16)はつかえないんですか?
ファイルが実際は存在するのに、見つからないんですが?

104:102
21/12/05 13:58:52.81 z1lQW/5A.net
無理らしいとわかり、UTF8のバッチファイルを実行して存在確認する方法にしました
リストのパスのハードリンクを一括で作ろうとしてたんですが
ハードリンクもUTF8バッチファイルを起動するしかなく手間がかかるんで
UTF8のパスで直にアクセスできたPythonに乗り換えました
こっちだと外部exe起動なしでいけていいです

105:102
21/12/06 16:24:20.22 eAUmHCGb.net
調べたところ、Pythonだとunicodeと、ロングパス(\\?\C:\と先頭につける)が同時に使えました
windowsのパス操作で不具合がでないか、出にくいってことですが
jscript(どっちも駄目)とPHP(utf-8○ロングパス?)はできませんでした

106:デフォルトの名無しさん
22/01/14 11:09:52.79 Qd6pq3MI.net
 
VB とか VB Script を開発した人は優秀だったね。
ユーザビリティの差がそれを表している。
今のMicrosoft の開発陣は無能だらけ。
 

107:デフォルトの名無しさん
22/05/09 01:50:02.01 QBSslohU.net
WebbrowserコントロールってVBSで使えない?
GUI無理だろって言われそうだけど。

108:デフォルトの名無しさん
22/05/09 02:16:39.51 Zv2d8iQk.net
丁度Qiitaに面白そうな記事が出てたよ
流し読みしただけでまだ自分では試してないけど
次期HTA(HtmlApplication)としてのPowerShell+XAML+WebView2の利用 - Qiita
URLリンク(qiita.com)

109:デフォルトの名無しさん
22/05/09 13:58:27 FBA5y2My.net
HTA使えなくなると地味にめんどくさいな

110:デフォルトの名無しさん
[ここ壊れてます] .net
vbsで仕事のシステムを開発しようとしているがいずれ無くなるのでは、C#でシステム構築をした方が良いのかな?

111:デフォルトの名無しさん
23/10/10 08:20:09.20 mPqYM+Ph.net
「VBScript」は非推奨に、将来のWindowsリリースで削除
「Visual Basic」風の文法をもつWindows標準搭載のスクリプト言語
URLリンク(forest.watch.impress.co.jp)

112:デフォルトの名無しさん
23/10/11 02:50:18.85 0ssGz0+E.net
ついにdeprecatedの烙印を押されたか
PS嫌いなんだけど

113:デフォルトの名無しさん
23/10/11 08:46:32.65 gtYx3X7E.net
jscriptは?

114:デフォルトの名無しさん
23/10/11 13:07:36.97 S6S2C2rz.net
>>111
「WSH」ではなく「VBScript」と表現されているってことは、JScript(Chakraエンジン含む)側は影響なしってことかな?

115:デフォルトの名無しさん
23/10/11 13:27:38.47 9HKLudgp.net
InputBoxが使えなくなるのは不便だな

116:デフォルトの名無しさん
23/10/11 21:57:45.67 M4b98xDg.net
>>115
WScript.StdIn.ReadLine()

117:デフォルトの名無しさん
23/10/11 22:24:44.67 0ssGz0+E.net
いずれにしても、WSHの動向次第だな

118:デフォルトの名無しさん
23/10/14 17:21:21.21 d/UVIPu3.net
Excel VBAの中でVBScript.RegExpを結構使ってるんだけど、
全部修正が必要になるのか……。

119:デフォルトの名無しさん
23/10/15 05:26:52.72 7Mkk/cdQ.net
こういう事に対するプログラム改修って誰得だよな
できたことができなくなって、それをできるようにするのは開発側の負担になるが
ユーザから見たら何の変化ないんだもの

120:デフォルトの名無しさん
23/10/15 11:14:29.17 +HKBzPAl.net
ieみたいに残りはするんじゃね?

121:デフォルトの名無しさん
23/10/16 21:25:40.45 YqpBcTH8.net
WSH JScriptで入力ダイアログにIEを使う方法
URLリンク(qiita.com)
俺の環境だとエラーになって使えなかったが参考になる人もいるだろう

122:デフォルトの名無しさん
23/10/17 23:30:05.33 SM1x01dA.net
遂にVBScriptも終わりか
制限のある環境でちょろっとコード書くには便利だったんだが
R.I.P.

123:デフォルトの名無しさん
24/01/23 12:45:05.89 7Z/YbaXZ.net
.jsファイルをダブルクリックすると
入力エラー: ファイル拡張子 ".js" を持つスクリプト エンジンはありません。 
って表示されるようになったぞ。
調べたらレジストリの問題らしくて解決はできたけど
Windowsアップデートでいよいよ無効化されるようになったのか?

124:デフォルトの名無しさん
24/01/23 23:55:23.63 MiOUbmxG.net
正直PowerShell書きにくいからjsかc#に寄せた言語にしてほしかった

125:デフォルトの名無しさん
24/01/24 02:05:32.17 ZIts2bJh.net
コボルとかなら実行環境は特定できて対応の計画を立てるの可能だけど
WSHは誰も知らない所で動いてて、
サポート外になって急に動かなくなってからの対応になりそう
自分は前の職場でAdobePhotoshopのjsxからvbsのスクリプトを生成して実行するツール作った事ある…

126:デフォルトの名無しさん
24/01/26 17:31:42.23 JeO5kwgZ.net
node.jsに変更するのが楽なんだろうか
よく分からんな

127:デフォルトの名無しさん
24/01/26 22:52:57.27 lFcmi/4h.net
プログラムが複雑になると
結局何で書いても似たようなことになるな

128:デフォルトの名無しさん
24/01/27 01:14:48.87 L8+LNXwl.net
Powershell は複雑なものは無理。
Node.js も辛い

Ruby がベスト!

129:デフォルトの名無しさん
24/01/28 09:42:39.02 2It1lSCU.net
Ruby のココがダメ
URLリンク(qiita.com)
プログラミング言語『Ruby』が嫌いなワケ
URLリンク(nayutari.com)
ぼくがRubyを断念した理由
URLリンク(t-kojima.github.io)

130:デフォルトの名無しさん
24/01/28 18:40:19.52 vejEUXdK.net
簡単なのはahkに移行することにした
msのはできるだけ使わない
ハシゴ外されるだけだ

131:デフォルトの名無しさん
24/02/07 16:08:03.87 ZayBCm+z.net
今までユーザにスクリプトをポイって渡すだけで良かったのにな・・・

132:デフォルトの名無しさん
24/02/19 00:15:11.88 eSCv3YQW.net
これだけ使えりゃ十分やろ
古き良き時代のパソコンのプラットホームなんぞ何年も続いてないやないか

133:デフォルトの名無しさん
24/03/21 22:34:18.16 Acij60VY.net
VBScriptはXP以降ならどこでも動くし、ドラッグアンドドロップもできた。
構文の癖がやや強く、また、変数の型も「実は内部的に強い型付けだった」ところを除けばまあ良かったよ。
ライブラリが作れないところが致命的だったからチョコチョコアプリにしか使えなかったのが致命的だった。

あばよVBScript!いい夢見ろよ!

134:デフォルトの名無しさん
24/04/28 21:53:17.96 zlR73q8o.net
スレ立てあらしスクリプト対抗age

135:デフォルトの名無しさん
24/05/23 14:59:55.90 ebEXeImX.net
URLリンク(forest.watch.impress.co.jp)
「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開
3つのフェイズに分け、段階的にサポートを縮小

136:デフォルトの名無しさん
24/05/23 20:25:32.39 AaZKaOhS.net
MSはオープンソース化する気はないんだろうか

137:デフォルトの名無しさん
24/06/08 19:05:06.14 zcPJDSId.net
未来を絶たれた気分はどうよ

138:デフォルトの名無しさん
24/06/09 20:54:50.07 7Q1Du+Ln.net
今まで何百本か気軽にツール作ってきたけど、不便になるなあ

139:デフォルトの名無しさん
24/06/09 21:02:12.92 kJbngo76.net
互換インタープリターエンジンはないのか

140:デフォルトの名無しさん
24/06/17 15:14:07.50 trC5QrqM.net
>>135
JScriptは問題なさそう

141:デフォルトの名無しさん
24/06/17 20:18:26.59 HWHtvWSs.net
FileSystemObjectとかも生き残るならJScriptで問題ないな

142:デフォルトの名無しさん
24/06/26 22:09:52.35 xDRjqcHM.net
JScriptとは別のライブラリなの?

143:デフォルトの名無しさん
24/06/29 15:04:28.56 AKI9JxZ5.net
どの範囲が消されるのかは今も不明だよ
VBScriptの言語単体にセキュリティリスクがあるならWSHの仕組み自体は消されないだろうけど

144:デフォルトの名無しさん
24/08/13 23:03:08.72 nLMbzk9T.net
>>138
Pythonでいいじゃん
SJISとかUTF8とか楽でいいじゃん

145:デフォルトの名無しさん
24/08/13 23:14:02.56 XDaXPs8v.net
>>144
Windowsにビルトインのインタプリタの手軽さには及ばないんだよなぁ
WSHはなんだかんだいって、立ち上がりは爆速

146:デフォルトの名無しさん
24/08/18 22:43:00.60 +1alf/Bp.net
コマンドプロンプト
wsh
powershell
c#
Windows標準で使えて再配布が容易で権限に左右されずインタプリタな言語ってwshだけだから重宝するんだよなぁ

147:デフォルトの名無しさん
24/08/27 18:12:19.52 iw7oT2Oc.net
全角の二重引用符をプロンプトに貼り付けたら勝手に半角になるんだが。
ファイルにこの文字使ってたからうまくいかんくてしばらく悩んだわ。糞過ぎ。

148:デフォルトの名無しさん
25/02/04 12:56:17.29 kaUW1BUV.net
Chakraエンジンが使えなくなってる(エラーを吐く)人はいますか?
下記の記事ではWin10での発症が報告されてます(別のWin10 PCは未発症であるとも)

【速報】ある日突然WSHでChakraエンジンが使えなくなった #JavaScript - Qiita
URLリンク(qiita.com)

149:
25/02/04 13:16:57.06 +pSv4Rmm.net
vbsが使えなくなるのもツライが、regexpが使えなくなったら笑えない

150:デフォルトの名無しさん
25/02/05 21:08:32.96 bdTBg5w+.net
vbscriptが消えるとプリンタ関連のインストールスクリプト全般(C:\Windows\System32\Printing_Admin_Scripts\ja-JP)も使えなくなるのは普通に困るんだけど
代替の手段用意してから消してくれ

151:デフォルトの名無しさん
25/02/05 21:13:32.00 bdTBg5w+.net
プリンタ関連はpowershellにあるみたいだわ
URLリンク(qiita.com)
これに移行してる人おる?
ログインがますますもっさりもさもさになるな

152:デフォルトの名無しさん
25/02/10 15:19:48.04 LilW4IW8.net
Deprecation: What it means in the Windows lifecycle
URLリンク(techcommunity.microsoft.com)
「非推奨は終わりではなく、おぽちゅにてぃだ!」Microsoft公式による非推奨化の解説がやけに丁寧すぎる
正しく理解すれば「非推奨」はユーザーに有益なものとなるそう
URLリンク(forest.watch.impress.co.jp)

153:デフォルトの名無しさん
25/02/24 12:14:02.71 y443ChUP.net
VBSとHTAで、ちょっとしたメニューを作ってきたけど
PowershellとWinForms で同じようなことできるんだね

いままで Powershellでは GUI はできないと思いこんでたわ
chatgpt になんとなく聞いたら教えてくれた

154:デフォルトの名無しさん
25/02/24 12:20:44.30 0/P9qOKC.net
簡易GUIは「AHK」や「PowerShell」で

155:デフォルトの名無しさん
25/02/24 12:51:53.85 y443ChUP.net
今、PowerShell 勉強中だけど、いいなと思うのは
借り物競争しなくてすむこと

VBSだと、ファイル開く、正規表現使う、とか
そのたびに借りてこないといけないもんね

156:デフォルトの名無しさん
25/02/24 21:50:57.33 5Vs4GOVU.net
VBSはデフォで正規表現に対応してるじゃん

RegExp オブジェクト
URLリンク(learn.microsoft.com)(v=msdn.10)

157:デフォルトの名無しさん
25/03/05 02:13:38.61 Ld/cfFdB.net
>>148
同様のエラー発生を確認(Win10 Home 22H2/19045.5487)

リンク先の記事を参考に、アプデ前の実行ファイルとリソースファイルを WinSxS からサルベージして、それを利用するように環境を整えることで無事解決できました
詳しく調べて記事として公開してくれた人に感謝!

158:デフォルトの名無しさん
25/03/27 09:14:01.54 E03hX2B5.net
AI使ってるとシンプルなのは何でやってもいいな
java,c#,ps等 気分次第で使い分けして遊べる

159:デフォルトの名無しさん
25/05/03 12:21:38.53 POqjKBV5.net
ブックオフ行くと、VBS関連の古本が増えてきた
(200円のコーナー)
いつ行っても売れ残っててかなしい

160:デフォルトの名無しさん
25/05/19 20:56:28.44 ifw5CARU.net
「VBScript」の非推奨・削除に備えよ ~MicrosoftがVBS依存を検出する方法を案内
「VBScript」の既定無効化は2027年頃
URLリンク(forest.watch.impress.co.jp)

161:デフォルトの名無しさん
25/05/26 21:09:04.87 0qo4raBd.net
あと数年でVBSは動かなくなるらしい
ではHTAは? HTA+javascriptはどうなの?
それとも今HTAが動いているのは、
PCにIEが入ってるからにすぎないのか?

誰か解説たのむ

162:デフォルトの名無しさん
25/05/29 21:42:09.94 0idVFWvA.net
何年も使ってたけど、どこまでがVBSの範囲で
どこまでがWSHの範囲なのか結局分からなかった
分からないまま終焉していくのか
ま、いいけどね

163:デフォルトの名無しさん
25/07/10 08:06:59.01 qdcZv+SG.net
JScript9Legacy scripting engine now enabled by default
URLリンク(techcommunity.microsoft.com)

164:デフォルトの名無しさん
25/07/11 21:16:13.41 8Jrrp3Hi.net
jscriptは永遠に不滅という事か

165:デフォルトの名無しさん
25/07/12 10:50:29.22 tq7D7WVM.net
はるか昔 JSCript で ASP のプログラム書てたらなんか1秒ずれるバグがあった。

166:デフォルトの名無しさん
25/07/12 13:17:24.06 82oECP5w.net
× VBS
○ JScript
なんで?

167:デフォルトの名無しさん
25/07/12 14:00:46.62 5xrlF3qV.net
C系のJSとC#に選択と集中するから、VB系のVBSとVB.NETはもういらない子なんだろ

168:デフォルトの名無しさん
25/07/12 15:24:01.11 S1CHvytp.net
本気でWSHを続ける気があるならPowerShellもWSHに乗せてwscript/cscriptで実行できるようにするはずだろうから
WSH自体を弄る気はもうないんだろうなあとは思う
JScriptはたまたま切り替え可能な新し目のバージョン(といってもIE最終のやつだろ?)が既にあったので延命されただけで
やっぱりそのうち捨てられるのではないかな…

169:デフォルトの名無しさん
25/07/12 21:34:50.16 ItUByElJ.net
JScript9とJScript9Legacyの違いが分からん

170:デフォルトの名無しさん
25/07/12 22:16:54.10 ytUpmijL.net
今後はあくまでLegacyとしてメンテするということの表明じゃね?
main streamじゃないんだから、いつ切られても文句は言うなよ、ということで

171:デフォルトの名無しさん
25/07/12 23:30:28.15 dVfBjDe9.net
旧EdgeのChakraエンジン「 /E:{1B7CD997-E5FF-4932-A7A6-2A9E636DA385} 」がしれっと無効化されてるのは、管理機能を含むOSのコア部分で使われてなかったりするからなんだろうか?
WSHで唯一モダンな構文が使えるエンジンだったのに...

172:デフォルトの名無しさん
25/07/15 10:50:58.19 1v3q9PKm.net
そのJScript9LegacyがChakraらしい
URLリンク(windowsforum.com)
検証求む
URLリンク(blog.macorin.net)

173:デフォルトの名無しさん
25/07/15 12:42:37.44 J6nh+lbb.net
>>172
JScript9は「IE11搭載のChakraエンジン(jscript9.dll)」で、「旧EdgeのChakraエンジン(chakra.dll)」とは別モノ
JScript9Legacyは、JScriptとの非互換性(JScript9にはWScript.Quit()がない、など)を解消しつつ既知の脆弱性を塞いだ(あるいは緩和した)バージョンのように思える

174:デフォルトの名無しさん
25/07/16 12:44:55.22 09DhhKQk.net
もうV8でええやん
COM載せるだけでしょ

175:デフォルトの名無しさん
25/07/16 15:03:42.67 8VyoLyXs.net
>>174
JSのメソッドディスパッチ自体にOLEオートメーションと互換を持たせないといけないからなあ
MS製以外のエンジンを使うなら大改造になる

176:デフォルトの名無しさん
25/08/07 11:13:25.81 dOHm8u8G.net
HTAでWScriptの標準入出力Stdin/Stdoutを使う方法はありますか?

という疑問でwebを漁ってたら、以下のコードを見つけたのですが、
これは何をしているか判りますか
URLリンク(www.roy.hi-ho.ne.jp)

>Set oExec=wShell.Exec("MSHTA~
>oExec.StdIn.Write fso.OpenTextFile(Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"."))&"HTA").ReadAll
>oExec.StdIn.Close
の辺り。~は専ブラだとバグる

177:デフォルトの名無しさん
25/08/07 16:01:49.20 Pp4oXF33.net
意味がよくわからない
「WScript」がcscript.exeではなくwscript.exeのことなら元から標準入出力しても何も起きないけど多分そういう話ではないよね

そのソースコードは、mshta.exeを子プロセスとして起動してテキストファイルから読み込んだ内容をその子プロセスの標準入力に流してる
mshta.exeの側では標準入力から読み取った内容を実行してる

178:デフォルトの名無しさん
25/08/07 16:53:21.35 dOHm8u8G.net
元々HTAとpowershell間のプロセス間通信を考えてました
WSH(WScript)とpowershellでの通信はできていたので、
ならばHTAからWScript.Stdin/Stdout相当をどうにかして得られないかという疑問に代わりました

さてGetStandardStream(0)でStdinを得るまでは何となく判りますが
そのハンドルでReadAll()これの意味が判らない
結果的にoExecにはWScript相当?が入るようですが

179:デフォルトの名無しさん
25/08/07 17:25:58.39 Pp4oXF33.net
あー了解
で、oExecに入るのはwShell.Exec()の結果で、起動したmshta.exeのプロセスをラップしたWshScriptExecオブジェクト
oExec.StdIn.Writeでmshta.exeの標準入力に内容を書き込んでる、これがWSH側でやってること
MSのサイトですらリンク切れしまくってたけどitmediaに解説が残ってた URLリンク(atmarkit.itmedia.co.jp)

180:デフォルトの名無しさん
25/08/07 17:28:32.02 Pp4oXF33.net
GetStandardStream(0).ReadAll() を実行しているのは起動されたHTAの側で、標準入力から読み込んだ内容を実行してる
リンク先サンプルだとその内容はH.HTAで、その後は裏で起動させたIEを通じてやり取りをする…という実験っぽい

というわけでHTAで標準入出力を使うには new ActiveXObject('Scripting.FileSystemObject').GetStandardStream() だけでいいと思う
手元で確認したわけではないので違ってたらごめん

181:デフォルトの名無しさん
25/08/07 20:06:59.39 dOHm8u8G.net
>>180
WshScriptExecというのですね
色々ありがとうございます

182:デフォルトの名無しさん
25/08/07 21:37:56.02 FIb4oE/e.net
Exec メソッド
URLリンク(learn.microsoft.com)(v=msdn.10)
GetStandardStream Method
URLリンク(learn.microsoft.com)(v=vs.84)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch