アカウント名:
パスワード:
これ消えて大丈夫?代替先はどこですか?
Powershell使えって事なんだろうな。
VBScript自体は自分では書いてないけど、Excel VBAで CreateObject("VBScript.RegExp") をよく使ってるので、これが無くなると困る。どうにか代替策を考えないと……。
VBScriptをdeprecatedにするからにはVBAもいずれはそうするという事だと思う。VBA代替はまだMSの中でも方向性が定まってない気がするけど。VBA自体はまだ先とは思うけど、他の解法を確保しておいた方が色々と良いだろうね。
VBAを無くせるのかなぁ。新機能追加はしなくなるだろうけど動作しなくはならないと思うよ。影響が大きすぎる。個人的にはぜひやってほしいけどね。
昨年Excel4.0マクロ(XLMマクロ)がデフォルトで無効化されたけど廃止されてないから四半世紀以上は残るんじゃない?
1992年 Excel4.0マクロ登場1994年 Excel5.0登場。XLMマクロの代わりとなるVBA登場2022年 Excel4.0マクロがデフォルトで無効化される(オプション設定で有効化も可能)
よもや勘違いしてないだろうとは思うけど、VBScriptとVBA(VB7)は似てるようで全く異なる言語なので注意。VB7はVB6の64bit拡張みたいなものというか、ほぼVB6だよね。古い。
古いけどCOM拡張ができるので、別言語であるVBScriptをCreateObjectで呼び出してたコードが使えなくなると困るな、って話だな。同等のCOMオブジェクト自作でもすれば、呼び出しメソッド同一にしておけばCreateObject時のCOM名称書き換えるだけで使えそう。まぁそれも面倒ではあるんだが。VBScriptの良い所は、OSが標準で持ってるので他人の環境でもそのまま動く、って所なので。
VBAなくせるのか、って
別に消えるわけじゃないでしょう非推奨でオプションになるだけでまだまだ当分使えるそれでも不安なら使うのやめるかPowershellにスクリプトを移植すればいいだけ
# その移植が面倒で割に合わないってのは言わない約束ですよおじいさん
自分で使ってるスクリプトはPythonで書き換えました。
おいらは全部JPerlで書き換えました。
おいらの所ではVBScript(というかJScript含めたWSH)は、幾つかまだ動いているよ
元は使い捨てスクリプトのつもりて作ったものだし、書き換えるの面倒だからそのまま使ってる
HTMLなどWeb系でJavaScriptを理解しているとWindows環境のメンテナスや使い捨てスクリプト使用時にJScriptだと便利なんだよね
PowerShellより理解しやすいし
PowerShell
タスクスケジューラからPythonとかPowerShellで書いたスクリプトを定期実行するときに、窓を表示させずに実行するのってvbs抜きでできる?あれって、wscript.exe、つまり非CLIなインタープリタでこそできるの芸当だとおもうんだけど。
そこに拘る強い動機がもしあるとしたらそれはなんでやろねと思う。
個人的にはコンソールウィンドウをあんまり表に出したくない場合はウィンドウ最小化状態で起動させる。むしろCLIのプロセスが終了したことは確認できた方がいいし、必要に応じてウィンドウを表示させて処理状況を確認できる。
本当に画面に何も出したくない場合は、C#でウィンドウ非表示でパラメータをpowershellにパスするだけのプログラムを書いて、非CLIでexeを作るのはやったことある。
タスクスケジューラでは「ユーザーがログオンしているかどうかにかかわらず実行する」なら条件によっては非表示実行の目的は達成できるんじゃないだろうか、しらんけど。
定期実行だと、フォーカスが奪われてIMEの入力が失われるとかその辺の挙動が気に入らないのではないかなーと。
タスクスケジューラの設定の「ユーザーがログインしているかどうかに関わらず実行する」を選択しておけばいいです。そうすればdos窓を表示しなくなります。
pythonw をどうぞ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
vbs (スコア:0)
これ消えて大丈夫?
代替先はどこですか?
Re: (スコア:0)
Powershell使えって事なんだろうな。
Re: (スコア:0)
VBScript自体は自分では書いてないけど、Excel VBAで CreateObject("VBScript.RegExp") を
よく使ってるので、これが無くなると困る。
どうにか代替策を考えないと……。
Re: (スコア:0)
VBScriptをdeprecatedにするからにはVBAもいずれはそうするという事だと思う。VBA代替はまだMSの中でも方向性が定まってない気がするけど。
VBA自体はまだ先とは思うけど、他の解法を確保しておいた方が色々と良いだろうね。
Re: (スコア:0)
VBAを無くせるのかなぁ。
新機能追加はしなくなるだろうけど動作しなくはならないと思うよ。
影響が大きすぎる。
個人的にはぜひやってほしいけどね。
Re: (スコア:0)
昨年Excel4.0マクロ(XLMマクロ)がデフォルトで無効化されたけど廃止されてないから
四半世紀以上は残るんじゃない?
1992年 Excel4.0マクロ登場
1994年 Excel5.0登場。XLMマクロの代わりとなるVBA登場
2022年 Excel4.0マクロがデフォルトで無効化される(オプション設定で有効化も可能)
Re: (スコア:0)
よもや勘違いしてないだろうとは思うけど、VBScriptとVBA(VB7)は似てるようで全く異なる言語なので注意。
VB7はVB6の64bit拡張みたいなものというか、ほぼVB6だよね。古い。
古いけどCOM拡張ができるので、別言語であるVBScriptをCreateObjectで呼び出してたコードが使えなくなると困るな、って話だな。
同等のCOMオブジェクト自作でもすれば、呼び出しメソッド同一にしておけばCreateObject時のCOM名称書き換えるだけで使えそう。
まぁそれも面倒ではあるんだが。
VBScriptの良い所は、OSが標準で持ってるので他人の環境でもそのまま動く、って所なので。
VBAなくせるのか、って
Re: (スコア:0)
これ消えて大丈夫?
代替先はどこですか?
別に消えるわけじゃないでしょう
非推奨でオプションになるだけでまだまだ当分使える
それでも不安なら使うのやめるかPowershellにスクリプトを移植すればいいだけ
# その移植が面倒で割に合わないってのは言わない約束ですよおじいさん
Re: (スコア:0)
自分で使ってるスクリプトはPythonで書き換えました。
Re: (スコア:0)
おいらは全部JPerlで書き換えました。
Re: (スコア:0)
おいらの所ではVBScript(というかJScript含めたWSH)は、幾つかまだ動いているよ
元は使い捨てスクリプトのつもりて作ったものだし、書き換えるの面倒だからそのまま使ってる
HTMLなどWeb系でJavaScriptを理解しているとWindows環境のメンテナスや使い捨てスクリプト使用時に
JScriptだと便利なんだよね
PowerShellより理解しやすいし
Re: (スコア:0)
PowerShell
Re: (スコア:0)
タスクスケジューラからPythonとかPowerShellで書いたスクリプトを定期実行するときに、
窓を表示させずに実行するのってvbs抜きでできる?
あれって、wscript.exe、つまり非CLIなインタープリタでこそできるの芸当だとおもうんだけど。
Re: (スコア:0)
そこに拘る強い動機がもしあるとしたらそれはなんでやろねと思う。
個人的にはコンソールウィンドウをあんまり表に出したくない場合はウィンドウ最小化状態で起動させる。
むしろCLIのプロセスが終了したことは確認できた方がいいし、必要に応じてウィンドウを表示させて処理状況を確認できる。
本当に画面に何も出したくない場合は、C#でウィンドウ非表示でパラメータをpowershellにパスするだけのプログラムを書いて、
非CLIでexeを作るのはやったことある。
タスクスケジューラでは「ユーザーがログオンしているかどうかにかかわらず実行する」なら
条件によっては非表示実行の目的は達成できるんじゃないだろうか、しらんけど。
Re: (スコア:0)
定期実行だと、フォーカスが奪われてIMEの入力が失われるとかその辺の挙動が気に入らないのではないかなーと。
Re: (スコア:0)
タスクスケジューラの設定の「ユーザーがログインしているかどうかに関わらず実行する」を選択しておけばいいです。そうすればdos窓を表示しなくなります。
Re: (スコア:0)
pythonw をどうぞ