度々、おせわになっております。ひっしと言います。
以前(一昨年の12月頃(^^;)正規表現の所でアドバイスを
頂いたのですが、今回新たに問題に突き当たりました。
それは、以前と同じhtmファイルのソースの修正なのですが
2行に渡る文字列を1行に置換したいのです。
今問題になっているのが、
ゥゥゥゥ・<br改行
clear=allゥゥゥゥ・
というものを
ゥゥゥゥ・<br clear=all ゥゥゥゥ・
という形に置換を行おうとしたのですが、中々うまくできません。
最初は、ReadAllで正規表現を使用して行ったのですが2行の
場合には正確にできないようで、ReadLineも使ってチャレンジ
したのですが駄目でした。アドバイスを宜しくお願いします。
以下にうまくいかなかった、ものをのせますので何かご指摘でも
あれば、宜しくお願いします。
For Each z In eFold.files
If inStr(z.name,".htm") <> 0 then
Set convFile = Fs.OpenTextFile(z)
myText = convFile.ReadAll
convFile.Close
Set oRE = New RegExp
oRE.Pattern = "(\S+)<br\rclear=all"
oRE.Global = True
myText = oRE.Replace(myText,"$1<br clear=all")
Set newFile = Fs.CreateTextFile(z,true)
newFile.Write(myText)
newFile.Close
End If
Next
何度もお世話になります。
ようやくWSHの本やこちらのサイトで少しずつではありますが勉強し始めたのですが、
テキストへの書き出し部分で困っています。(ローカルDisk作業オンリーです)
テキストファイルを開き、InputBoxで入力したデータを最後の行に追加書き込み
させたいのですが、方法がわかりません。
上書きは下記Programで出来ましたが、最終行を検索して次に書き出す方法が
見つかりません。
書き出しProgram
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Option Explicit
Dim Fso, Fn, Intext, Txt
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fn = Fso.GetFolder("C:\")
Intext = InputBox("追加する項目を入力して下さい。","追加項目入力")
Set Txt = Fso.CreateTextFile("c:\data1.txt")
Txt.WriteLine Intext
Txt.Close
MsgBox "テキストファイルを書き出しました。"
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−以上
このままでは常に上書きで新規の書き込みになってしまい、旧データが破棄されてしまいます。
これを追加書き込みにするにはどのような記述で実現できるのでしょうか?
ちなみにテキストデータには現在テスト用として下記記述で保存されています。
−−−−−−−−−−−−
氏名
年齢
職業
登録年月日
−−−−−−−−−−以上
(最終の4行目には改行が含まれています。)
御指導お願いいたします。
プログラムというものを勉強し始めてまだ1週間足らずで、右も左もあまり
分からない状態で勉強しています。
AcrobatReaderのOLE Automationを使用していますが全文を印刷する時に、printpageやprintpagessilent等を使用するには、ページ番号を指定する必要があります。開いたPDFファイルの総ページ数を取得する方法をご存知の方、教えて頂けないでしょうか?
DDEではFilePrintSilentでファイル名を指定することで、直接PDFを全ページ印刷できたのですが、OLE Automationでもこの様な機能はありますか?
ご助力の程、宜しくお願い申し上げます。
To 管理人むたぐちさん&土屋さん
Passwordを入力させるフォームについてのご指導、
ありがとうございます。
色々なサイトを見て勉強しているときに、たまたま
検索でアメリカのサイトをひっかけました。
WindowsXPでなくともPasswordフォームを実現する
OCXを見つけたので、よりスマートに問題が解決でき
ました。
・・・なんでWSHはPasswordフォームぐらい標準装備
してないんでしょうかね〜(涙)。
To: HAL さん
> ヂュアルブートしてるんでWin Me(Cドライブ)のほうから
> DドライブのWin XPに持ってこれますか。
> どちらもFAT32でフォーマットです。
…試してみればすぐわかると思うんですが。
別にコピーしなくても、そのまま実行できると思います。
To: Lib30 さん
> またWSHと関係ない話ですが、秋葉原でこれを買ってきました。
> http://mac.akibakan.com/select/#marumihd
> 使えなくなったHDDをオブジェのようなものにするキットですが、
> 帰ってきてそうそう、なんとこれを現在のメインドライブに装着してみようと
> 試みてました。
怪しいもの好きなんですか?
この手の(笑)
http://akiba.ascii24.com/akiba/news/2002/02/15/633656-000.html
To: KABA さん
> VBSを使用して、IPアドレスをDHCPサーバより再取得することは可能でしょうか?
> もしご存知の方がいらっしゃいましたら教えてください。
WMIのWin32_NetworkAdapterConfigurationクラスに、RenewDHCPLeaseメソッド
ってのがあります。
To: 土屋 さん
> あきらさんのWSH専用エディタ、Script Builderにこんな機能がありますが、
> 最近リンクが切れていますね。どうしたんでしょう。。。
私も知りたいです。あきらさん、見てたらお返事ください。
> HTMLタグみたいに一覧から選んで貼り付けたいときには、同じ作者の
> ToClipシリーズが便利だと思います。
私の場合、こういうツールを使わずに、普通にコピーアンドペーストしてます。
ですが最近は、
Set WshShell=WScript.CreateObject("WScript.Shell")とかも手打ちするように
なってきました。
本当にいつでもどこでも、Windowsのメモ帳さえあれば、即興でスクリプトを書けるように
なってるわけです。ほとんど異常者扱いされてます(^^;
To: matty さん
> 今、ユーザーにIDとPasswordを入力させるスクリプトを書いているん
> ですが、InputBoxを使うと、入力したPasswordがそのまま表示されて
> しまいます(^^; これではやばいので、Passwordを入力しても
> 画面表示上は"*******"みたいにすることはできませんでしょうか?
WinXPならScriptPW.PasswordというProgIDを持つコンポーネントに、
そういう機能があります。
http://content.communities.msn.com/WindowsScript/windowsxp.msnw
To:土屋さん
>> やはり,WSHだけで実装することは無理なのでしょうか?
>
>だと思います。
>別にCOMでなくてもチェックするための実行ファイルを作って、
>それをWSHからたたくのもありだと思うので、やはりVBなどAPIを使えるツー
>ルで補助アプリを作った方が近道なのではないかと。
>DelphiなんかはAPIの実装が結構簡単でいいですよ。。
やはり無理なんですね。
DLLや実行ファイルを使う方法でOKかどうかを
依頼先と相談してみます。
ありがとうございました。
To: ともさん
> エクセルを閉じようとするとタスクバーの文字がなくなり真っ白になるのです。
> そして、”リソースが極端に不足しています”と表示されて再起動するしかないのです。
> ワードではそんな症状がありません。
ツールバーの変更履歴が書き込まれる Excel.xlb ファイルが肥大化すると
起動時にリソースを取りまくってしまうようです。
http://www.moug.net/cgi-bin/mdboard.cgi?exopr+ML2002020183
の 2002/02/11(月) 13:45:44 の回答を参考にしてください。
大変困っています。スクリプトに関するHPなので皆さんPCに詳しいと思い、
質問させてもらいました。症状としては、エクセルを使用して数文字書いて
エクセルを閉じようとするとタスクバーの文字がなくなり真っ白になるのです。
そして、”リソースが極端に不足しています”と表示されて再起動するしか
ないのです。ワードではそんな症状がありません。起動直後のリソースは81%
でエクセルを開くと70%です。数文字書いて閉じようとするとリソース不足
とは不思議です。今まではそんなことなかったのに‥。PC:win98 64mb。
それと、ウイルスチェックしてもウイルスは発見されません。どうしよう(涙)
土屋さん、ありがとうございます。
大変参考になりました。おかげでなんとかできそうです。
Dear matty さん
スピードと軽さを求めるなら、誰かに専用のCOMを作ってもらうのがいいと思いますが、
とりあえずその辺りにあるもので、という場合は、
IEを使ってみるというのはどうでしょう。
Set Ie = WScript.CreateObject("InternetExplorer.Application","IE_")
Ie.Navigate "about:blank"
Do While Ie.ReadyState<>4
WScript.Sleep 100
Loop
Set document=Ie.Document
Set window=document.ParentWindow
With Ie
.Top = window.screen.availHeight / 2-40
.Left = window.screen.availWidth / 2-150
.Width = 250
.Height = 70
.AddressBar = False
.MenuBar = False
.StatusBar = False
.ToolBar = False
End With
document.Write "<html><head><title>パスワードを入力してね </title><style>BODY {background: MENU; color: WINDOWTEXT; border-style: none; margin: 10}</style></head><body scroll=no><input type=password id=pass><input type=button value=OK id=cmdOK></body></html>"
Set document.all.cmdOK.onclick=GetRef("cmdOK_onclick")
Ie.Visible=True
document.all.pass.focus
Do:WScript.Sleep 100:Loop
Sub cmdOK_onclick()
IE.Quit
Msgbox document.all.pass.Value
WScript.Quit
End Sub
Sub IE_OnQuit()
WScript.Quit
End Sub
はじめまして。みなさんのカキコ見ながら勉強させていただいてます。
今、ユーザーにIDとPasswordを入力させるスクリプトを書いているん
ですが、InputBoxを使うと、入力したPasswordがそのまま表示されて
しまいます(^^; これではやばいので、Passwordを入力しても
画面表示上は"*******"みたいにすることはできませんでしょうか?
助言お願い致します。
To 土屋 さん
>私のお薦めはTeraPadで、これだと、
>◆編集中のスクリプトをそのまま実行するための設定が簡単
>◆VBSファイルを開くとそのまま色分けモードで編集できる
>◆ヘルプがなんといっても面白い・・・
>◆私の作ったDoMacroでWSHでマクロが書ける(宣伝モード)
>◆外部ツールの登録が簡単で、100を越える補助アプリが公開されてます
>◆バグフィクスやサポートがはやい
>◆フリーソフトです
>などの特徴があります。
>正式版とβ版がありますが、β版の方がお薦めです(Unicodeにも対応してますし)。
TeraPad使用してみます。
>HTMLタグみたいに一覧から選んで貼り付けたいときには、同じ作者の
>ToClipシリーズが便利だと思います。
>これはTeraPadだけでなく、秀丸など他のエディタから使うこともできます。
実はToClipシリーズを既に使用済みで、登録アイテムが限界点近いです。
折り返しで4行にもおよんでいるので、追加登録が出来ない・・・(/_;)
情報ありがとうございました。
To:KABAさま
>VBSを使用して、IPアドレスをDHCPサーバより再取得することは可能でしょうか?
こんなのでどうでしょう?
(WHSにする必要は何処にもありませんが…。)
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("ipconfig /renew ""アダプタ名""", 1, true)
To higulin さん
>IEの5.5以上なら”navigable = yes”で回避できるようですが、
>IEの5.0の環境で同じような動作をする方法はないものでしょうか?
HTAにはフレームを記述し、その中にリンクが記述されたページを
入れればいいでしょう。フレーム内のページから上位フレームに
アクセスする場合やファイル入出力を使う場合はFRAMEタグに
application="yes" を指定する必要があります。
あっ。しまった。
送信したあと戻って、更新したらまた送ってしまった。。。(すみませ〜ん)
Dear コリー さん
> やはり,WSHだけで実装することは無理なのでしょうか?
だと思います。
別にCOMでなくてもチェックするための実行ファイルを作って、
それをWSHからたたくのもありだと思うので、やはりVBなどAPIを使えるツールで補助アプリを作った方が近道なのではないかと。
DelphiなんかはAPIの実装が結構簡単でいいですよ。。
Dear Fujita さん
> ようやくWSHの解説してある本を2冊ほど購入して勉強し始めたのですが、
> VBSプログラムを記述していく上で何か便利なツールはないのでしょうか?
> HTML等ではタグ挿入方のアプリケーションが多数存在しますが、
> VBSを記述するのに便利なエディタやエディタに関数などを選択して
> 挿入できるツールがあれば便利かなと感じましたので、ここで聞いてみました。
あきらさんのWSH専用エディタ、Script Builderにこんな機能がありますが、
最近リンクが切れていますね。どうしたんでしょう。。。
私のお薦めはTeraPadで、これだと、
◆編集中のスクリプトをそのまま実行するための設定が簡単
◆VBSファイルを開くとそのまま色分けモードで編集できる
◆ヘルプがなんといっても面白い・・・
◆私の作ったDoMacroでWSHでマクロが書ける(宣伝モード)
◆外部ツールの登録が簡単で、100を越える補助アプリが公開されてます
◆バグフィクスやサポートがはやい
◆フリーソフトです
などの特徴があります。
正式版とβ版がありますが、β版の方がお薦めです(Unicodeにも対応してますし)。
HTMLタグみたいに一覧から選んで貼り付けたいときには、同じ作者の
ToClipシリーズが便利だと思います。
これはTeraPadだけでなく、秀丸など他のエディタから使うこともできます。
http://www2s.biglobe.ne.jp/~t-susumu/toclip/
Dear Fujita さん
> ようやくWSHの解説してある本を2冊ほど購入して勉強し始めたのですが、
> VBSプログラムを記述していく上で何か便利なツールはないのでしょうか?
> HTML等ではタグ挿入方のアプリケーションが多数存在しますが、
> VBSを記述するのに便利なエディタやエディタに関数などを選択して
> 挿入できるツールがあれば便利かなと感じましたので、ここで聞いてみました。
あきらさんのWSH専用エディタ、Script Builderにこんな機能がありますが、
最近リンクが切れていますね。どうしたんでしょう。。。
私のお薦めはTeraPadで、これだと、
◆編集中のスクリプトをそのまま実行するための設定が簡単
◆VBSファイルを開くとそのまま色分けモードで編集できる
◆ヘルプがなんといっても面白い・・・
◆私の作ったDoMacroでWSHでマクロが書ける(宣伝モード)
◆外部ツールの登録が簡単で、100を越える補助アプリが公開されてます
◆バグフィクスやサポートがはやい
◆フリーソフトです
などの特徴があります。
正式版とβ版がありますが、β版の方がお薦めです(Unicodeにも対応してますし)。
HTMLタグみたいに一覧から選んで貼り付けたいときには、同じ作者の
ToClipシリーズが便利だと思います。
これはTeraPadだけでなく、秀丸など他のエディタから使うこともできます。
http://www2s.biglobe.ne.jp/~t-susumu/toclip/
VBSを使用して、IPアドレスをDHCPサーバより再取得することは可能でしょうか?
もしご存知の方がいらっしゃいましたら教えてください。
はじめまして、higulinと申します。
現在HTAで作成しているものがあるのですが、
HTAから別のHTAを呼び出すとき、別ウィンドウで
ページが開く問題なんですが・・・
IEの5.5以上なら”navigable = yes”で回避できるようですが、
IEの5.0の環境で同じような動作をする方法はないものでしょうか?
またWSHと関係ない話ですが、秋葉原でこれを買ってきました。
http://mac.akibakan.com/select/#marumihd
使えなくなったHDDをオブジェのようなものにするキットですが、
帰ってきてそうそう、なんとこれを現在のメインドライブに装着してみようと
試みてました。
で、起動してみると、ヘッドが変な音を立てて行ったり来たりし、
正常に動作しません。うわー、最後にバックアップとったのは
この前Win2000の権限変更で個人ファイルがすべて消えたときだよなー、とか
ふたをはがしたときに軸がずれたのかなーとか思って
それっぽいねじを回したりゆるめたりしましたが直らず、あきらめて
元のふたをつけてみたところ、なんと元に戻りました。
元のHDDのふたをよく見てみると、なんか黒いぽっちがついていて、
どうもこれが重要なのではないかと思うのですが
これ以上やるのは危険と判断し、おとなしく元通りにしました。
今度は何も入っていないHDDでやってみよう。
To むたぐちさん
> ネットカフェからの書き込みですか?
デパートの「ブロードバンド体験コーナー」なるところからです
> > 非表示のファイルを非表示にするというのも良くわかりませんが、
> > ここで紹介されているスクリプトはMacでは動かないと思いますよ。
>
> これはLAN経由でMacからWindowsマシンにファイルをコピーした場合、
> Mac上では非表示となる、"."からはじまるファイルがWindowsでは表示されてしまうので、
> 「隠しファイル」属性をつけてやりたい、という話だと思います。
あ、そうだったのですか。納得。
>昔は、このサンプルスクリプトはWebから落とせたんですが、
>最近は見ませんねえ。
ヂュアルブートしてるんでWin Me(Cドライブ)のほうから
DドライブのWin XPに持ってこれますか。
どちらもFAT32でフォーマットです。
ようやくWSHの解説してある本を2冊ほど購入して勉強し始めたのですが、
VBSプログラムを記述していく上で何か便利なツールはないのでしょうか?
HTML等ではタグ挿入方のアプリケーションが多数存在しますが、
VBSを記述するのに便利なエディタやエディタに関数などを選択して
挿入できるツールがあれば便利かなと感じましたので、ここで聞いてみました。
この掲示板にふさわしくない質問でしたら消去して下さい。
プログラム初心者には入力が結構大変です。
何か情報を持っていらっしゃる方がおられましたらよろしくお願いいたします。
私は通常「秀丸」を使用していますが、こだわりは有りません。
>> WMIを利用し、
>> GetObject("winmgmts:").InstancesOf ("win32_process")
>> のようにすれば、できることはわかっているのですが、
>> 諸事情により、WMIを利用せずに実装しなければなりません。
>>
>> いろいろとWebを検索したのですが、VBでpsapiを利用するような
>> サンプルしか見つけることができませんでした。
>
>
>VBでそういうAPIを呼び出すCOMコンポーネント(ActiveX DLL)を作成して、
>そいつをWSHから呼び出すというのはいかがでしょうか。
コメント有難うございます.
そうゆう方法があるのですね.
ただ,依頼先からWSHだけで実装して欲しいとの要望がありまして,
DLLを作るのは避けたいのです.
VBもやったことないので良くわかりませんし...
やはり,WSHだけで実装することは無理なのでしょうか?
To: 松島 さん
> iomodeの値を ForReading にすれば出来ると思います。
最初、「アプリケーションを」っておっしゃってたので、テキストファイルの
ことじゃないと思ってました。テキストファイルで正解だったのかなあ。
To: youkazu さん
> スクリプト言語の勉強は始めて間もないので、まだ右も左もわからない状態なのですが、MacOSXがディスクに書き込むピリオドではじまる非表示のファイルの属性をスクリプトを使って、非表示にするためのスクリプトを思案中です。
> そこで、「ディレクトリのTree構造を書き出す」スクリプトをダウンロードさせていただき、これを解読しようと思ったのですが、この中で使われている、
> 「Shell.NameSpace」「Shell.BrowseForFolder」について書かれたヘルプ記事が全く見当たらないのですが、なぜなのでしょう。Google等で検索すると、それらしきページは数件あるのですが、なにせ英語なもんで、さっぱり判りません。
> このメソッドについて書かれた資料はどこを参照すればよいのでしょうか。教えてください。
MSDNライブラリにヘルプがあります。(英語ですが)
ただ、現在、MSDNライブラリがリニューアル中みたいで、これらのヘルプが
見られなくなっているようです。
ファイル操作に関しては、普通はFileSystemObjectを使うのが定番です。
こっちなら、資料もいっぱいありますし。
To: 土屋 さん
> 実はTeraPadは、Ver.0.73β7以降で、Unicodeに対応してしまったんですよ。
> http://www2s.biglobe.ne.jp/~t-susumu/toclip/library/tpadbeta.html
お、知らなかったです。
試してみよっと。
…folder.httのUTF-8もちゃんと読めていい感じ。
DualHead機能をオフにすると調子いいみたいなので、最近スクリプト書きには
TeraPadが活躍してます。
To: コリー さん
> WMIを利用し、
> GetObject("winmgmts:").InstancesOf ("win32_process")
> のようにすれば、できることはわかっているのですが、
> 諸事情により、WMIを利用せずに実装しなければなりません。
>
> いろいろとWebを検索したのですが、VBでpsapiを利用するような
> サンプルしか見つけることができませんでした。
VBでそういうAPIを呼び出すCOMコンポーネント(ActiveX DLL)を作成して、
そいつをWSHから呼び出すというのはいかがでしょうか。
To: ミサキ さん
> このような結果から、VBSはログオンスクリプトとしてそのまま単独で実行することは不可能なのでしょうか?BATを間に挟んでキックするしか実行する手段がないのでしょうか?
Win98や2000ではできますが、もしかしたらNT4じゃ無理なんでしょうかねえ。
(いや、WSHは、もともとNT4のログオンスクリプト用に作られたものだから、
動かないはずはないと思うんですが)
Service Packはいくつのを当ててます?
To: Lib30 さん
> 現在私学の入試で埼玉にいます。途中で秋葉原に
> よったのですが(秋葉原に行くのは初めて)、
ネットカフェからの書き込みですか?
私も3月にはぜったい秋葉原に行くぞ。案内してね > どなたか
> 非表示のファイルを非表示にするというのも良くわかりませんが、
> ここで紹介されているスクリプトはMacでは動かないと思いますよ。
これはLAN経由でMacからWindowsマシンにファイルをコピーした場合、
Mac上では非表示となる、"."からはじまるファイルがWindowsでは表示されてしまうので、
「隠しファイル」属性をつけてやりたい、という話だと思います。
To: HAL さん
> 「基本的な使い方」のページに
> 「サンプルスクリプトは、%windir%\SAMPLES\WSHにあります。」
> という記述がありますが、確かにWin Meにはあるのですが、
> Win XPにはwscript.exeはあっても上記のサンプルがありません。
> どうしたら入手できますか。
昔は、このサンプルスクリプトはWebから落とせたんですが、最近は見ませんねえ。
まあ、ヘルプファイルが昔と比べて充実してますので、こちらだけでも
ほぼ問題ないと思います。ヘルプファイル内にいっぱいサンプルが
ありますしね。
はじめまして。最近WSHを勉強しようと思っています。
環境はWin XP home+WinMeとのデュアルブート(どちらもFAT32)。
「基本的な使い方」のページに
「サンプルスクリプトは、%windir%\SAMPLES\WSHにあります。」
という記述がありますが、確かにWin Meにはあるのですが、
Win XPにはwscript.exeはあっても上記のサンプルがありません。
どうしたら入手できますか。
よろしくお願いします。
うをっ 化けまくり
やっぱり自分のパソコンじゃないと使い勝手がいまいちわからない
現在私学の入試で埼玉にいます。途中で秋葉原に
よったのですが(秋葉原に行くのは初めて)、
町の一角がすべてじd呂晃造蠧韻犬茲Δハ
パソコンショップばかりで道に迷いそうになりました。
名古屋の大須と比べてかなり店の数が多いです。
中には中国語やハングルの店もあったりして(免税店らしい)
なんか国際的です。でもぞ紊惺圓韻亶圓C曚ノ
変な(危なげな?)店ばかりになるのはどこも同じ(笑)。
ちなみに今に織妊僉璽箸離屮蹇璽疋丱鵐病慮灰魁璽福爾C藹颪X「瀉罅」
うーんい泙辰燭ッWSHと関係ない...。
To youkazu さん
非表示のファイルを非表示にするというのも良くわかりませんが、
ここで紹介されているスクリプトはMacでは動かないと思いますよ。
アルゴリズムを参考にするだけなら別ですけれども...。
始めまして。ミサキと申します。
VBSのログオンスクリプトに関してご教授いただきたく願います。
Windows2000ServerにVBSで作成したログオンスクリプトを置き、あるユーザーのプロパティでログオンスクリプト名として「****(スクリプト名).vbs」と割り当てました。
そして、WindowsNT4.0workstationからそのユーザーでログオンするとVBSが実行されるという事を実現したいのですが、ログオンしても全く動作してくれません。ローカルでVBSを起動すると、正常に動くので、VBS自体は問題ないと思われます。また、ログオンスクリプトの割り当て方法がまずかったのかと思い、BATファイルを間に置き、BATからVBSをキックするという方法に変えたところ、問題ありませんでした。
このような結果から、VBSはログオンスクリプトとしてそのまま単独で実行することは不可能なのでしょうか?BATを間に挟んでキックするしか実行する手段がないのでしょうか?
ご回答宜しくお願いします。
はじめまして。コリーと申します。
現在、VBScriptであるプロセスが起動しているかどうかをチェックし、
起動していなかったらその.exeファイルを置き換えるというスクリプト
を作ろうとしています。
WMIを利用し、
GetObject("winmgmts:").InstancesOf ("win32_process")
のようにすれば、できることはわかっているのですが、
諸事情により、WMIを利用せずに実装しなければなりません。
いろいろとWebを検索したのですが、VBでpsapiを利用するような
サンプルしか見つけることができませんでした。
どなたかご存知の方がいらっしゃったら教えてください。
Dear たぬきぽんち さん
Win95の場合は、やはりOfficeやIEの上位バージョンのインストールが手っ取り早いような。。
該当サイトは、
http://www.microsoft.com/msdownload/vbscript/scripting.asp?id=25
の方で、ここに従ってインストールした方がいいと思います。
ちなみに、WSHの最新5.6は、Win95を対象外にしています。
Dear むたぐち さん
> 私の使ってるEmEditor v2やTeraPadは、Unicodeの読み書きができないんで、
実はTeraPadは、Ver.0.73β7以降で、Unicodeに対応してしまったんですよ。
http://www2s.biglobe.ne.jp/~t-susumu/toclip/library/tpadbeta.html
多機能な面ではサクラエディタにかないませんが、
WSHをマクロとして使えるし(手前みそですがDoMacroようやくアップです)、
結構いけてるエディタになっていると思います。
そろそろDoMacroをvectorにアップすべきかなあ。
Dear youkazu さん
> 「Shell.NameSpace」「Shell.BrowseForFolder」について書かれたヘルプ記事が全く見当たらないのですが、
ここのサイトで「WSHから呼び出せるオブジェクト」⇒「Shellオブジェクト (ShellApplication)」とたどると、見つかると思うんですが。。
こんばんは。こちらにははじめて書き込みさせていただきます。
スクリプト言語の勉強は始めて間もないので、まだ右も左もわからない状態なのですが、MacOSXがディスクに書き込むピリオドではじまる非表示のファイルの属性をスクリプトを使って、非表示にするためのスクリプトを思案中です。
そこで、「ディレクトリのTree構造を書き出す」スクリプトをダウンロードさせていただき、これを解読しようと思ったのですが、この中で使われている、
「Shell.NameSpace」「Shell.BrowseForFolder」について書かれたヘルプ記事が全く見当たらないのですが、なぜなのでしょう。Google等で検索すると、それらしきページは数件あるのですが、なにせ英語なもんで、さっぱり判りません。
このメソッドについて書かれた資料はどこを参照すればよいのでしょうか。教えてください。
一つだけ。
To: oyajiB さん
> すみません、WSHでVBSを使ってファイルを読み込み専用で開きたいのですが。
http://www.microsoft.com/japan/developer/library/script56/jsmthopenastextstream.htm
iomodeの値を ForReading にすれば出来ると思います。
フォルダのカスタマイズがいまさらマイブーム。
いまさらJavaScriptの練習を兼ねています。
いまさらJavaScriptに魅せられたかも。C#もこっそり勉強中だったりする。
ここでも11として参加中。良かったらあなたもどうですか。
http://pc.2ch.net/test/read.cgi/win/1011536679/
To: 松島 さん
> また、Perl独特のものとして、
> ・記法を統一し難く、長期メンテナンス/複数人開発/仕事で使う言語に向いていない。
> という事も良く言われています。
某read.cgiは、よってたかって直されてますけどね(^^;
> 続いてしまいました。というか、インフルエンザでした。
> 高熱が出て再びダウン。
> 週末前後に、丸々4日間、意識朦朧としていました。
> 給料は減るし、病院代は掛かるし、病気に掛かるとロクな事ないです。(^^;)
はい、私もきっちりかかりましたよ。インフルエンザ。
39度を越える熱が4日続き、死ぬ思いでした。
なんか、発病してから48時間以内に飲むと効く薬ってのがあるらしいのですが、
残念ながら、私の場合は「手遅れ」でした。
To: oyajiB さん
> すみません、WSHでVBSを使ってファイルを読み込み専用で開きたいのですが。
ファイルを読み込み専用で開く、という意味がどうしてもわからないのですよ。
テキストファイルのことでしょうか?
To: Lib30 さん
> サクラエディタがアップデートし、置換ダイアログ内で$1などが使えるようになりました。
つまり、正規表現でreplaceするのと同じ感覚で使えるってことですよね。
これは使えそうな予感。
To: 土屋 さん
> 必要に迫られて、いろんな事をそっちのけにCSVエディタを作り始めたのですが、
> CSVって、プログラムで扱おうとすると、結構面倒なものですね。
>
> でも、シンプルで軽快なCSVエディタ「CSVPad」ということで、とりあえず非公式に公開中。
DoMacroの更新がしばらく途絶えていたので、ちょっと心配してました。
CSVですかあ。私が書いた某測定機器制御プログラムのデータ出力がCSVだったなあ、
どうでもいいですが。
To: 139 さん
> WHSスレ…?
> 2chのですか?
> だったら違いますが、今後ともひとつ宜しくお願いします。
失礼しました、数字を見ると2chを思い出す癖がありまして。
> ServicePackのインストールって何か設定項目有りましたっけ?
> 急いでいたんで記憶が…。
なかったかもしれません。
新規インストールのときは、あったと思います。
Win2000の場合は、なかったかもしれません。
To: ちもり さん
> というSCRIPTを乗せていたと思いますが、このスクリプトについて質問が数点あります。
> 質問1:「対象PCのIP」のところを変数にして、シャットダウンさせたいのですが、必ずエラーが帰ってきます。このSCRIPTは変数は使えないのでしょうか。
そんなことはないと思いますよ。
> 質問2:このSCRIPTはWin2000からWin2000をシャットダウンさせるってことですか?Win98→Win2000とかはできるのでしょうか?
できます。
28-28 管理人むたぐち 2001/01/16 01:13 とかを見てください。
To: 松島 さん
> > WIN95の環境で,ぜんぜん動かんのですわ。
> > 本当に,このOCXファイルを登録するだけで,WSHは、正常に動くのでしょうか…?
>
> WSHをインストールすれば動くはずです。IE4以降に付属しています。
>
> cscript.exe とかが無くても動くのですかねえ。
> *.ocx は、*.dll への橋渡しのみ、という場合もありますし。
Win95の場合、最新版WSHは使えない罠がありますのでご注意を。
あと、DCOMとか入れなきゃいけないのでいろいろ面倒です。
Win95で動かす可能性のあるアプリにWSH付属のコンポーネントを使うとよろしくないよ、
と、その開発者さんにお伝えください > たぬきぽんちさん
To: ひょん さん
> 再インストもしたので、環境が素で
> 久々にメモ帳なんかを使っております
私の使ってるEmEditor v2やTeraPadは、Unicodeの読み書きができないんで、
フォルダカスタマイズにはメモ帳が大活躍しております。
それでは、あゆみたんによろしく。
むたぐちさん、こんにちは
だいぶ遅くなりましたが、リンクありがとうございました(^^
最近PCの修理してまして、おととい戻ってきたばかりです
ここ2週間半ほど部屋の整理などに励んでました(^^;
再インストもしたので、環境が素で
久々にメモ帳なんかを使っております
む、ムダなかきこみでごめんなさい
ではまた
この頃仕事で、VBからExcel.ApplicationをCreateObjectして、データ入れて罫線引いて帳票印刷して、
なんて事をしてます。コードがVB/VBA/VBScript共通で使えそうな感じ(笑)。
To: Fujita さん
> 確かにネットワーク上には数台のインターネットゾーンに接続できる
> 環境があるので、不安に考えていました。
「イントラネット」の設定でなく、「信頼済みサイト」の設定を用いる方法もあります。
イントラ内部に侵入した悪意のプログラムが、甘いイントラ用の設定を利用して活動するというケースも考えられますので。
スクリプト自体は特に難しくないと思います。
WSHのオブジェクトを利用する部分は、ファイルの読込と書込のみです。
面倒な部分は、CSVファイル読込時の解析でしょうか。(カンマを含むカラムが二重引用符で囲まれていたり……)
To: Lib30 さん
> 個人の趣味用としてはまだまだいけると思います。
一定のインフラが広範囲で整っていますからね。
PC-Unix系では、システムに近い所でPerlスクリプトを用いている物もありますし。
#なんだかんだ言いながら、自分も、必要に応じて、
#自分で書いたり、公開スクリプトに手を入れたりして使っています。
> WSH的用途にもいちいちサーバーを立ち上げる
PHPも、コマンドプロンプト用にmakeすれば、httpデーモンを経由させずに動かせます。
#Windows版は、コマンドプロンプト版だけだった様な……。
#標準でApacheのモジュール用にコンパイルされるのは、特殊(異常)と言えそうな気がする(^^;)。
To: たぬきぽんち さん
> WIN95の環境で,ぜんぜん動かんのですわ。
> 本当に,このOCXファイルを登録するだけで,WSHは、正常に動くのでしょうか…?
WSHをインストールすれば動くはずです。IE4以降に付属しています。
cscript.exe とかが無くても動くのですかねえ。
*.ocx は、*.dll への橋渡しのみ、という場合もありますし。
基本的なことが分からなくて困ってます…。
うちの会社は,VBでアプリを製作してますが,
最近,ある開発者が,この便利なWSHを使って
プログラミングし始めました。
で,このプログラムを納品したところ,WIN95の環境で,
ぜんぜん動かんのですわ。プログラムが…。
で、開発者に聞くと,△犬,これをシステムフォルダに入れて,
レジストリ登録して。」と、Wshom.ocxファイルを渡されました。
本当に,このOCXファイルを登録するだけで,
WSHは、正常に動くのでしょうか…?動かないと恐いので,
テストしたいのですが,WIN95マシンがなくて…。
どなたか教えてください…。
139 さん
139さん、並びに助言を下さったみなさん本当にありがとうございました。
とりあえず漠然とした方向性が見えてきましたので、WSH、ASP関連を
勉強していきたいと思います。
またWSH関連で分からない事が出ましたら、質問させて頂きます。
ではまた。
過去ログに
Set oSystemSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//対象PCのIP/root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each oSystem In oSystemSet
oSystem.Win32Shutdown 8
Next
というSCRIPTを乗せていたと思いますが、このスクリプトについて質問が数点あります。
質問1:「対象PCのIP」のところを変数にして、シャットダウンさせたいのですが、必ずエラーが帰ってきます。このSCRIPTは変数は使えないのでしょうか。
質問2:このSCRIPTはWin2000からWin2000をシャットダウンさせるってことですか?Win98→Win2000とかはできるのでしょうか?
To nosuke さん
return = WshShell.Run("net start ""Abc Xyz Service""",1,true)
もありです
Runメソッドにダブルコーテーションを含めたい件について自己レスです。
S="Abc Xyz Service"
R=objWsh.Run("net start " & Chr(34) & S & Chr(34),1,true)
という方法で解決できました。
Runメソッドで"(ダブルコーテーション)を含む実行コマンドを指定したいと考えています。
具体的にはnet startコマンド等でサービスの起動を行なわせたいのですが、サービス名にはスペースを含むものもあり、コマンド実行には、例えば
net start "Abc Xyz Service"
とする必要があります。(cとzの後ろにはスペースを含みます ヒ
Runメソッドで実行するには
Set WshShell = WScript.CreateObject("WScript.Shell")
return = WshShell.Run(net start "Abc Xyz Service",1,true)
と記述したいのですが、これはコンパイルエラーになってしまいます。
他にもコマンドを絶対パスで指定したいときなど、フォルダにスペースを含む(Program Filesなど)場合、実行コマンド自体をダブルコーテーションでくくるために同様の問題にあたってしまいます。
メソッドの指定の中ではダブルコーテーションをエスケープすることができれば良いと思うのですが、そのようなことは可能でしょうか?
もしくは他に方法がありましたらご教授頂けませんでしょうか?
いちおうhelpを参照したのですがわかりませんでした 屬海海鮓C蹇廚箸いΔ茲Δ幣霾鵑「△蠅泙靴燭蕕柑愿Δい燭世韻譴仆CC蠅泙后
どうぞよろしくお願いします。
管理人さま:
WHSスレ…?
2chのですか?
だったら違いますが、今後ともひとつ宜しくお願いします。
>Windows Script 5.6には、スクリプトデコード機能が含まれてないのかも。
>Windows Script 5.0のときは、たしか含まれてたと思うんですが、
>今思うとあんまり確信が持てないなあ。
そうだったんですか。
WHSの存在に気づいたのが最近なもんですから、WHS5.6しか使ったことが…。
ScriptEncoderをインストールすれば、デコード機能も一緒に入れてくれても
良いと思うんですけど。
>SP2にしたからではなくて、SP2インストール時に、「Visual Basic スクリプト >サポート」
>オプションをチェックしたからじゃないですか?
ServicePackのインストールって何か設定項目有りましたっけ?
急いでいたんで記憶が…。
Fujita さま:
Intraって事なんで、WEBサーバは手の内にあるという前提なら
Lib30さんのおっしゃる方法が良いと思います。
ASPで作れば勉強した内容が役立つはずですし、BASP21を組み込んで
おけば簡単に作れると思います。
(BASP21無しではやっていけない人より)
#流し読みで参加しています。
#訳の分からん事を書いてたらゴメンなさい。
必要に迫られて、いろんな事をそっちのけにCSVエディタを作り始めたのですが、
CSVって、プログラムで扱おうとすると、結構面倒なものですね。
でも、シンプルで軽快なCSVエディタ「CSVPad」ということで、とりあえず非公式に公開中。
ver0.2.4で、拡張子.tsvと.tabをタブ区切りとして読み込むようにして、
個人的にはこれが気に入っています。
それで念願のCOM化ですが、DelphiではActiveXドキュメント(Excelみたいに実行ファイルであり、
COMオブジェクトでもある)を簡単に作る手段(ウィザード)が提供されていないようなので、
TeraPadの時のように、COM用のライブラリを別に作って、これでWSHからの操作を受け付けるようになりそう。
現在外部からのメッセージを受け付けるためのインターフェース作成中。
(WSH対応になったら、ここでの正式な話題にできるかな。)
■現在追加する予定(そう、予定です)でいる機能
◇タックシール印刷(または葉書に宛名印刷)
◇マクロ機能(もちろんWSHで動かすことになります)
◇暗号化・復号化(パスワードなどの管理に・・・)
■マクロ(WSH)で対応する予定でいる機能
◇SQLを発行してAccessやExcel、FileMakerなどからデータを取得する機能
◇表をHTMLの表に変換
◇平均や合計、順位などの計算機能
■どうしようか検討している機能
◇グラフ化機能
ちなみに、ソフトは上のページのまん中あたりに目立たなくおいてあります。
単独で動いて、レジストリはいじりませんので、試してみたい方はぜひ。
サクラエディタがアップデートし、置換ダイアログ内で$1などが使えるようになりました。
これはかなり使えます。
To 管理人むたぐち さん
>こういうことができると、アクセス解析に、「どせいさんフォント使用率」という
>項目を追加したりすることが可能なわけですね(謎)
うちのアクセス解析でも採用しようかな。
でも何百もあるフォントの名前をGETで送信するのはかなり無理がありそうなので、
XMLHTTPでPOSTするしかないでしょうかね(笑)。
To 松島 さん
>また、Perl独特のものとして、
>・記法を統一し難く、長期メンテナンス/複数人開発/仕事で使う言語に向いていない。
>という事も良く言われています。
>
>ここ1〜2年、企業がPerl/ASPで開発していた部分に、PHPが食い込んで来ています。
>Perlの開発は続いていくと思いますが、最盛期は過ぎていると思います。
確かにPerlは多人数によるプログラムには向きませんが、個人の趣味用としては
まだまだいけると思います。個人向けサーバーでもほとんどの場合Perlは使えますし、
ファイル移動や文字列検索といったWSH的用途にもいちいちサーバーを立ち上げる
必要があるPHPより向いていると思います。
CGIの分野ではこの先PHPがのびてくるかもしれませんが、まだまだPerlもいけるでしょう。
To Fujita さん
>今までHTMLやJAVAScriptを勉強してきて、HTML上のフォームから
>入力したデータをローカルやオフラインネット(イントラネット)上のディスクに
>保存するのにWSHなら可能のような気がするのですが、可能でしょうか?
そのHTMLファイルがhttp上にあるのならば、スクリプトにデータをPOSTし
スクリプトは標準入力を読んでファイルに保存するという、CGI風な処理を
するというのはどうでしょう。
松島 さんご指摘ありがとうございます。
まさしくイントラネット オンリーの使用で、インターネットゾーンへは
接続しないプログラムにしたいと思っております。
具体的な構想としては、IEでフォームにて幾つかの項目を入力し、
CSV形式にて保管と、別ウインドウのIEで保管させたデータの閲覧を
させたいのです。
データを保管する際には、既存のCSVファイルに追加保存させて行きたい。
閲覧するデータは、データバインドを使用すればある程度可能なようですが、
保存させる部分をWSHで出来れば勉強しようかなと考えていました。
確かにネットワーク上には数台のインターネットゾーンに接続できる
環境があるので、不安に考えていました。
すみません、WSHでVBSを使ってファイルを読み込み専用で開きたいのですが。
To: Lib30 さん
> Perlはいいですよ。裏技がたくさんあり、あることを実現するのに別の言語と比べて
> かなり短いコードですみます。短いコード、きれいなプログラムを書くのが好きな人には
> おすすめです。将来性も結構ありそうですし。
プログラムに関する一般論ですが、
・冗長性を少なくし過ぎると、コードは暗号めいて、難解になる。
・その言語独特の記法を行うと、アルゴリズムを他のプログラム言語に移植する際の妨げになる。
という事があります。
また、Perl独特のものとして、
・記法を統一し難く、長期メンテナンス/複数人開発/仕事で使う言語に向いていない。
という事も良く言われています。
ここ1〜2年、企業がPerl/ASPで開発していた部分に、PHPが食い込んで来ています。
Perlの開発は続いていくと思いますが、最盛期は過ぎていると思います。
#Perlの省略の美学は、開発規模が小規模/個人レベルを超えると、
#金(具体的な能率)に結びつかなくなってしまう、
#というのが社会の結論の様な気がします……。
To: むたぐち さん
> ぶり返し**時間、悪化**時間・・・と続かなかったことを祈ります。
続いてしまいました。というか、インフルエンザでした。
高熱が出て再びダウン。
週末前後に、丸々4日間、意識朦朧としていました。
給料は減るし、病院代は掛かるし、病気に掛かるとロクな事ないです。(^^;)
> はじめて「ユーザー定義型」っちゅーのを使ってみましたよ。
要は、構造体ですよ。
> ハッシュみたいなのはVBにはないのかなあ、と思いました。知ったかですな。
collection ?
To: ぽみゃ さん
> PC買ったばかりでなんにも解からないのです。
パソコン/コンピュータ用語辞典が手元にあると、何かと便利だと思います。
2000〜4000円程度の、1年以内に出版(or改訂)されている物がお勧めです。
To: Fujita さん
もし、イントラネット用のシステムでしたら、IEでは、セキュリティ設定を
インターネット用とイントラネット用と別々に設定できますので、
比較的安全に、お望みの事が可能かもしれません。
管理人むたぐちさん、有難うございました。
》しかし、このコンポーネントはその性質上、「安全でない」コンポーネントです。
》そのため、IEの初期設定では、このコンポーネントがWeb上のHTMLドキュメント中から
》呼び出されても実行されないようになっているのです。
》HTML中から呼び出すことを許可するには、ユーザーがIEのセキュリティ設定を下げてやる
》必要がありますが、これはとても危険なことです。
》つまり、事実上は不可能であると言うのが正しいかもしれません。
ご指摘いただきました件、検討させていただきます。
また、よろしくお願いいたします。
風邪うつされた…。
To: oyajiB さん
> アプリケーションを読み込み専用で開くにはどうすれば良いのでしょうか。
うーむ、意味がわかんないです。
もうちょっとわかりやすく説明お願いします。
To: Fujita さん
> 今までHTMLやJAVAScriptを勉強してきて、HTML上のフォームから
> 入力したデータをローカルやオフラインネット(イントラネット)上のディスクに
> 保存するのにWSHなら可能のような気がするのですが、可能でしょうか?
> もし可能なようならWSHを勉強していきたいので、可能か不可能化だけで
可能とも不可能とも一概には言いにくいところなんです。
WSHはWindows Scriptというものの一つの機能なんですが、このWindows Scriptには
Scriptingランタイムという、ファイルシステムへのアクセスをおこなうための
コンポーネントが含まれています。
これを使えば、JScript(not JavaScript)やVBScriptからファイルシステムへの
アクセスが可能になります。
しかし、このコンポーネントはその性質上、「安全でない」コンポーネントです。
そのため、IEの初期設定では、このコンポーネントがWeb上のHTMLドキュメント中から
呼び出されても実行されないようになっているのです。
HTML中から呼び出すことを許可するには、ユーザーがIEのセキュリティ設定を下げてやる
必要がありますが、これはとても危険なことです。
つまり、事実上は不可能であると言うのが正しいかもしれません。
フォームのデータをユーザーのローカルディスクに保存してやるには、cookieを使うのが
一般的でしょう。cookieならJavaScriptからも使用できます。
>>管理人むたぐちさん
ありがとうござます。
Win98系では、私のやり方ではむずかしいですね。
検索するのが手っ取り早いので、これで解決します。