さざなみ さん 2002年 06月 20日 15時 42分 48秒

さざなみです。

>山本 さん
>カテントディレクトリの検出方法を教えていただけませんか?

'自分はこの自作関数を使用しています。
'初心者なので、エレガントな回答ではありませんが、、、

MsgBox VBSDir()

Function VBSDir()
VBSPath=WScript.ScriptFullName
MyScrName=WScript.ScriptName
VBSDir=Left(VBSPath,Len(VBSPath)-Len(MyScrName)-1)
End Function

neo さん 2002年 06月 20日 12時 18分 27秒

また質問があります。
新しくフォルダを作成する際、フォルダ名をFormatDateTime(Date, 1)を
使って”**月**日 作成”みたいにしたいのですが、
リテラル定数を指定してください。というコンパイルエラーが返ってきます。

Dim GetCurrentDate
GetCurrentDate = FormatDateTime(Date, 1)
Const foldername = GetCurrentDate & " 作成 "

一部抜粋して記載したのですが、どうすればよいのでしょうか?



山本 さん 2002年 06月 20日 11時 30分 56秒

基本的なことかもしれませんが、
カテントディレクトリの検出方法を教えていただけませんか?

スクリプト wscript.exe d:\dir\script.vbs を実行し
スクリプトの中で、d:\dir を検出してたい

neo さん 2002年 06月 20日 09時 16分 50秒

なるほど。大阪弁川柳?での質問だったので
そのまま普通に回答してしまいました。

ビキナー さん 2002年 06月 19日 20時 22分 27秒

To:あいざわさん

返信いただき、感謝感謝です。
遅くなりましたが、有り難うございました。

筑集眺餅 さん 2002年 06月 19日 19時 39分 51秒

To:neoはん

>そうですね。運命ですか?えらい壮大なスケールの質問ですね。
>でも、信じます。昨日日本が負けたのも運命だと思いました。

ほっほっほ。
"Do you believe in fate, Neo ?" (by モーフィアス)
の謎掛けでござりました。
本家の Neo はんは、
「信じへんわ。なんでかゆうたら、わがの明日を他人に任せる
っちゅう考え方が気に入らん。」と言うておられまっせ。

ではでは。

シャキちゃき さん (shkityaki@mail.wbs.ne.jp) 2002年 06月 19日 13時 50分 21秒

どなたか、HTAの書籍、知りませんか?
MSいってみたんですが、なんか英語しかないみたいで、、、

neo さん 2002年 06月 19日 11時 53分 08秒

筑集眺餅さん、ありがとうございます。
そうですね。運命ですか?えらい壮大なスケールの質問ですね。
でも、信じます。昨日日本が負けたのも運命だと思いました。
僕個人的にはセネガルががんばってほしいと思うのですが、
どうでしょう?
でも昨日韓国が延長の末のゴールは見てるこちらも
さむぼろが出た!

筑集眺餅 さん 2002年 06月 19日 06時 17分 14秒

To:neoはん

>また別の質問ですが、MsgBoxを使用する際、
>buttons の設定値値で表示されるbuttonも変わってくると思いますが、
>(日本語がおかしいかも)
>例えばbuttonの表示される文字を変更することって可能ですか?

たぶん、そこまで MsgBox のカスタマイズはでけへんと思いまっせ。
ボタンの表示文字を指定するんなら、HTML(HTA)なんかとの
組み合わせって筋に流れるんやろかなぁ。
WSH(VBS)はマンマシンが貧弱ですさけ、あんまり欲張らんほうが
よろしいんとちゃいまっか。

ところで、neo はん、運命って信じまっか?(^^)

日和見サポーターの私としては、大いに日和って韓国を応援しよと
思いま。 なんと言うても、共催国ですさけな。

最近買うた「大阪弁川柳」にはまっておりま。
読み苦しい点はかんにんしとうくなはれ。

管理人むたぐち さん 2002年 06月 18日 23時 08分 45秒

今帰ってきたとこですが。
おー勝ってますね。
日本の代わりにがんばってほしいですな。

(ここはいつからW杯実況板になったのだ?)

あいざわ さん 2002年 06月 18日 22時 57分 20秒

わっ韓国決めたっ!
勝っちゃった!
すげー!すげー!すげー!

あいざわ さん 2002年 06月 18日 22時 52分 35秒

韓国イタリアすげー試合になってるよ。
すげーすげー!

neo さん 2002年 06月 18日 14時 28分 21秒

寝ぼけて変なメッセージ載せてしまいました。
筑集眺餅さん、ありがとうございました。
何とかやれています。

また別の質問ですが、MsgBoxを使用する際、
buttons の設定値値で表示されるbuttonも変わってくると思いますが、
(日本語がおかしいかも)

例えばbuttonの表示される文字を変更することって可能ですか?

EX.「OK」→「了解」見たいな感じ変えたいのですが、、、

どなたか教えてください。

ne さん 2002年 06月 18日 14時 21分 27秒

筑集眺餅

yoka さん 2002年 06月 17日 14時 12分 40秒

to:あいざわさん

昨日のスペイン-アイルランド戦おもしろかった。
明日のトルコ戦 楽しみですね 
毎日wカップで楽しめているのですが
決勝戦後の空虚感が今から心配されます・・・


>これはプリンタの追加からプリンタウィザードを使って
>登録するということでしょうか?であれば次のURLあたりが
>参考になるかと。

>JP189105 - ユーザーによる操作なしで Windows にプリンタを追加する方法
>http://www.microsoft.com/JAPAN/support/kb/articles/JP189/1/05.asp

遅くなりました

バッチリでした。
どうもありがとうございました
今後もよろしくお願い致します


初心者 さん 2002年 06月 17日 08時 54分 11秒

あいざわさん、ぽんたさん、ありがとうございました。
さしあたり右クリックメニューの送るから秀丸を
選択して起動するようにしました。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2002年 06月 16日 03時 30分 02秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

バイオUを買いました。
マジでいいわ、これ。

動作が多少もたつくのが玉に瑕だけど、あとは問題なし。
親指で全キーが打てるというのは中々すごいな。
ジョグダイアルなるオプション品も同時購入。
これ、ウォークマンのジョグダイアルと似たようなもんなんですが、
mp3の曲名表示からプレイヤーの制御までがディスプレイを閉じた状態で
できてしまうスグレモノ。買いですぞ、これは。

レスはまた今度。なにしろデスクトップのほうもHDD購入でWinの新規
インストールをしなきゃならんもんでして。

それと、日本決勝進出おめでとう。
…ほんとは、日和見的な国民総サポーター化現象が気に入らんのですがね。(オマエモナー

ぽんた さん 2002年 06月 15日 08時 33分 30秒

初めて投稿します。

>初心者 さん

エクスプローラのフォルダオプション→ファイルタイプをいじれば、
好きなエディタで編集できるようになります。

ちょっとだけ検索してみたのですが、
http://www2a.biglobe.ne.jp/~qpon/html/ie_nn.htm
↑とかを参考にすれば出来るでしょう。

筑集眺餅 さん 2002年 06月 15日 07時 56分 01秒

To:TalTalはん

>質問なのですが、VBSでテキストファイルの最後の行を削除する事は
>可能でしょうか? できるのであれば教えて頂きたいです。

できまんなぁ。テキストファイルを読み込んで1行ずつ書き出す事で
ファイルコピーするようなスクリプトで、最後の行だけ書かんといたら
よろし。

>あと、WriteLineで"を書き出したいのですができません。
>教えて頂けたら幸いです。

VBと一緒やと思いまっせ。
""""(4文字)で書くか、文字コードを Chr関数で文字にしたって
書くかしなはれ。

「サンプル書けや、ゴルァ」 かんにん、かんにん。

筑集眺餅 さん 2002年 06月 15日 07時 33分 49秒

おぉ、1次リーグ1位通過おめでとうござります!!
「ブ」のつく国と1回戦で当たらんようになって、
ラッキーラッキーでござりますなぁ。

To:Guraはん

>InputBoxに文字を入力する際*で表示させるような
>ことは可能でしょうか?パスワードを入力させる
>際に使用しているのですが、思いっきりパスワードが
>見えてしまっているのでどうにかしたいのです。

HTAを使やぁ、楽でござります。
VBSはインターフェースが貧弱だもんで、たぶん
HTAと組み合わせて一人前の顔にするのが◎でんなぁ。
他人に使ってもらうようなアプリなら、とりあえず、
この辺まで凝っとかんと・・・。
HTAのことは、むたぐちはんの解説がおます。

To:Neoはん

>しかし、本来なら指定したディレクトリに存在すればエラーがかえってくる
>と思います。その際、errorの戻り値がflaseならばMsgBoxを使用し、表示さ
>せようと思うのですが、うまくいきません。

何がなんでもerror を使わにゃならん事情でもなければ、とりあえず、
先に FileSystemObjectの FolderExists メソッドでチェックされてから
クリエートしはったらよろしと思いまっけど・・・。

>またまた質問ですが、皆さんはコンパイルするときってどのように
>行っていますか?

へ、スクリプトをコンパイルしはんの?

さて、次は18日、宮城です。 きばりや、日本!


あいざわ さん 2002年 06月 14日 23時 37分 01秒

to: ビギナーさん

お書きになっているソース部分では判断できないと思います。
むしろFORMタグのACTION部分などのソースを載せていただいたほうが...
ちなみにこのソース部分に関しては特に問題ないと思いますが。

あいざわ さん 2002年 06月 14日 22時 53分 35秒

祝!日本&韓国決勝T同時出場!ってか。すごいなあ。

to:yokaさん

確認なのですが

>手作業ですと
>エクスプローラからプリントサーバーを開いて
>一覧表示されているプリンタから該当する
>ドライバー?をダブルクリックして操作しています

これはプリンタの追加からプリンタウィザードを使って
登録するということでしょうか?であれば次のURLあたりが
参考になるかと。
JP189105 - ユーザーによる操作なしで Windows にプリンタを追加する方法
http://www.microsoft.com/JAPAN/support/kb/articles/JP189/1/05.asp

to:初心者さん

右クリックメニューの「送る」に秀丸エディタのショートカットを
追加できます。WIN2000をお使いであれば以下のURLを参照してください。
http://www.microsoft.com/windows2000/ja/professional/help/win_fcab_addto_sendto_menu.htm
WIN9xであればフォルダの名前が"windows\SendTo"に読みかえてください。

管理人むたぐち さん 2002年 06月 14日 16時 53分 28秒

って先制してるじゃん!

管理人むたぐち さん 2002年 06月 14日 16時 45分 52秒

ああもう。Yahoo!と2chの実況スレだけじゃさっぱりわかんねえよ。

ビギナー さん 2002年 06月 14日 14時 59分 18秒

ここに、質問をしてよいのか、判断がつかないのですが、
すいません、宜しければ教えて下さい。

質問:HTMLのフォームによるデータ伝送が、行われない。
対応策がありましたら、教えて下さい。

ソースの一部:==========================================
form.id[0].value=id[j].value;
if (confirm("まじですか??0="+form.id[0].value)) {}
=======================================================
上記で、form.id[0].valueにデータがセットされ、
ダイアログ上にも、データ内容が表示されます。
しかし、データ伝送時には、伝送されないのです。
URL(一部)には、&id%5B0%5D=&id%5B1%5D=
となり、データ伝送が行われない。

また、上記のソースを下記のようにすると、データ伝送が行われます。
ソースの一部:==========================================
form.id0.value=id[j].value;
if (confirm("まじですか??0="+form.id0.value)) {}
=======================================================
URL(一部):&id0=TEST0&id1=TEST1
となり、データが行われます。

フィールドのnameが、配列のような場合には、HTMLのフォームのデータ伝送は、
行えないのでしょうか???

以上 すいませんが宜しくお願い致します。

初心者 さん 2002年 06月 14日 14時 58分 36秒

VBSの内容ではない質問なのですが。。。
普段VBSの作成/編集には秀丸エディタを使用しています。
エクスプローラなどから直接ファイルの編集をするときに、
右クリックメニューの編集を選ぶとメモ帳が起動してしまいます。
どうすれば秀丸など別のエディタが起動できるのでしょうか。
右クリックメニューの編集はメモ帳の起動に固定しているのでしょうか。
エクスプローラの表示メニューのオプションでは
開くプログラムの変更はできますが、
VBSを開くのはwscriptでいいわけで、編集を変更できないし。
窓の手も使っているのですが、その変更ができるような
設定がないように思うのですが。。。


筑集眺餅 さん 2002年 06月 14日 07時 07分 41秒

おひさっ。

ここで一句
「ヤマダ電機で ジャンクパーツを買ったら
 ほんとうにジャンクだった。 シクシクシクシク(; ;)」

すみません。誰かに言いたくて言いたくて
ふらふらとココに来ました。

お邪魔しました。ではまた。

yoka さん 2002年 06月 13日 18時 14分 21秒

続けて、の質問ですがよろしくお願い致します
(前質問は、未解決中なのですが)

>プリンターの設定は、ログイン者にくっついてきます
>人の入れ替わりが激しくてその都度設定をしなくては
>いけない状態です

で、同様な事項なのですが
PRF ファイルによるアウトルックのプロファイルのカスタマイズを行えるとのことで
outlook.prfを用意してもらっているのですが

こちらも、クリックする作業を自動化したいのですが

Shell "wscript D:\200206\\Tyo-pr-dk6f.vbs"

と同じような記述で自動実行させることは、可能なのでしょうか


よろしくお願い致します


neo さん 2002年 06月 13日 14時 50分 07秒

またまた質問ですが、皆さんはコンパイルするときってどのように行っていますか?
先程の質問と重ねて誰か教えてください。
(できれば何かツールとかあったら紹介してください。使用方法とかも教えていただけると助かります。)

初心者ですので色々わからないことばっかりです。
宜しくお願い致します。

土屋 さん 2002年 06月 13日 14時 39分 05秒

Dear むたぐちさん

>また注目のエディタが増えましたね。
>というか、TeraPadとDoMacroはどーするんですか(^^;

実は使い分けてます。
外部からSendMessage等で操作しようとする時、
TeraPadは非常に素直な動きをしてくれていいんですよ。

それで、外部からオートメーションサーバーを操作するみたいに、
TeraPadを操作することが可能になってます。

VxEditorはWZ Editorと同じタイプのSDIで、
ウィンドウを何枚開いても、実は動作しているアプリケーションは一つです。
それで、10枚以上ファイルを開いたとしても、
リソースメモリの減少はほんのわずかですし、
新しいウィンドウを開く(ファイルを開く)時に、
一瞬でパッと開くあの快感は、
前世紀に安売りで買ったパソコン向きです。

でも、そのためか、DoMacroみたいなアプリは、
VxEditorでは作れない感じです。
(一応試してみてるんですが、期待通りにいかないです)
でも、内部のスクリプトでオートメーション操作ができるというのは、
巨大テキストの受け渡しが必要な際は、とっても魅力的です。

ついでですが、
WZ Editorも併用しています。
たとえば<H1>を挿入した行を、正規表現で置換して、
WZ Editorで使われる書式付テキスト(tml文書)に変換し、
WZ Editorに送ります。
そうすると、部分的なフォント変更やフォントサイズ、下線付などが、
TeraPadまたはVxEditorからマクロ(スクリプト)を使って印刷できてしまうので、
結構便利。。
VxEditor(TeraPad)からマクロ一発で、
指定したプリンタから、指定した用紙で、書式付で印刷できた時は、
すごく感動ものでした。
(WZ Editorのマクロ自体はそのまんまcなので、全然使ってません)

それからDoMacroですが、
Mersenne Twister: http://www.math.keio.ac.jp/~matumoto/mt.html
やMD5をサポートして近々バージョンアップしようかと思っていますが、
全然受けそうもないので、止まってます。
(一番の理由は、パスワード入力用のInputBoxがうまくいかないことですが、、)


>TeraPad + WSH補完クンも強力な環境ですよぅ。
>http://www.geocities.co.jp/SiliconValley-Oakland/4672/

そうですね。
実は某所で、TeraPadのキャレット座標位置取得のAPIをレスしたのが
私だったりするので、補完クンにちょっとは貢献できてるかな、、

さざなみ さん 2002年 06月 13日 13時 18分 29秒

さざなみです。

>むたぐち さん
>IE.Document.forms[0].elements[0].value="さざなみ";
>のようにすればいいと思います。

ありがとうございます。
いろいろ、試していたのですが、レスされた通りやってみて
やっとできました。
また、壁にぶつかったら、よろしくお願いいたします。

taltal さん 2002年 06月 13日 12時 15分 30秒

はじめて投稿します。
質問なのですが、VBSでテキストファイルの最後の行を削除する事は
可能でしょうか? できるのであれば教えて頂きたいです。

あと、WriteLineで"を書き出したいのですができません。
教えて頂けたら幸いです。
よろしくお願いします。

あいざわ さん 2002年 06月 13日 11時 59分 42秒

遅きに失した感はあるのですが>いつもか(笑)
CSVから固定長ファイルへの変換について。

なるほどこういう方法があるのですね。いただきます。>たるさん
自分では何とか基本的なスクリプトだけでできないもんかと
四苦八苦して以下のようなスクリプトを書いてみました。
せっかく作ったので強引に載せちゃいます。

Dim i, s, rec, FieldLenArray, FieldStrArray

FieldLenArray = Array(20, 10, 15, 25) '各フィールドの出力時のバイト長
s = "あいうえお ,Abc ,dEF, xYz" '1行分のデータ
FieldStrArray = Split(s, ",") 'カンマで区切って配列に代入
rec = ""

For i = 0 To UBound(FieldLenArray)
' MsgBox "[" & FieldStrArray(i) & "]"
rec = rec & ArrangedStr(FieldStrArray(i), FieldLenArray(i))
Next
'ここから確認用
Const ForWriting = 2 'ファイルを書き込み専用として開きます。
Const TristateFalse = 0 'ファイルを ASCII ファイルとして開きます。
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.OpenTextFile("D:\Fixed.txt", ForWriting, True, TristateFalse).Write rec
Set fso = Nothing
'ここまで確認用
'*** End Of Script ***

'----+----|----+----|----+----|----+----|----+----|
'in : 文字列, バイト長
'out : 与えられたバイト長に整形した文字列
Function ArrangedStr(CheckedString, FixByteLen)
Dim i, SingleChar, ByteLen
ByteLen = 0
For i = 1 to Len(CheckedString)
SingleChar = Mid(CheckedString, i, 1)
If Len(Hex(Asc(SingleChar))) = 4 Then '16進表示で4桁なら(SJIS)
ByteLen = ByteLen + 2
Else
ByteLen = ByteLen + 1
End If
Next
'与えられたバイト長にあわせて末尾にスペースを埋める
If ByteLen > FixByteLen Then
ArrangedStr = Space(FixByteLen)
Else
ArrangedStr = CheckedString & Space(FixByteLen - ByteLen)
End If

End Function

こんな感じです。ただしSJISのファイルのみ対応です。
しかーし、たぶんこれだと性能的に問題あるでしょねえ。
もそっとうまいやり方がありそうな気もする...

yoka さん 2002年 06月 13日 11時 13分 29秒

To: 管理人むたぐち さん

ありがとうございます

>60-41 土屋 さん 2002/04/10 17:46 が参考になります。

さっそく、みさせて頂き

> また、通常使うプリンターとしてのチェックも付けれればと思います

と、この部分設定の仕方がわかりました。

あと

>手作業ですと
>エクスプローラからプリントサーバーを開いて
>一覧表示されているプリンタから該当する
>ドライバー?をダブルクリックして操作しています

の部分の記述の仕方、教えて頂けないでしょうか?
よろしくお願い致します



neo さん 2002年 06月 13日 10時 18分 09秒

皆々様お騒がせしました。すごく初歩的なミスでした。
scriptjp.exeをダウンロードしたつもりが誤って、scr56jp.exeをダウンロードしてしまったみたいでした。
申し訳ございません。
それと、最近いろいろ勉強しているのですが、errorの理解不足で困っています。
例えば、CreateFolderメソッドを使用し、フォルダを作成しようとしました。
しかし、本来なら指定したディレクトリに存在すればエラーがかえってくると思います。その際、errorの戻り値がflaseならばMsgBoxを使用し、表示させようと思うのですが、うまくいきません。
どなたかできれば簡単なサンプルでも構いませんので教えて頂けないでしょうか?
(できれば猿でも理解しやすいのでお願いします)。
宜しくお願い致します。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2002年 06月 13日 00時 45分 37秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

また空けてしまった…。
お久しぶりです。管理しない管理人ことむたぐちです。



To: 土屋 さん

> 昨日からちょっとWSCに凝ってます。

ワンダースワンカラーですか?

> で、これで何をしているかというと、
> VxEditorというテキストエディタがありまして、
> http://homepage3.nifty.com/x-labo
> これにDMonkeyという、JavaScript互換のマクロが搭載されています。

ちょっと検索してみましたが、DMonkeyって、ECMAScriptのサブセットで
Delphiの組み込み用コンポーネントなんですねえ。

> WSH使いにとっては、ちょっとおいしいエディタなのではと思います。

また注目のエディタが増えましたね。
というか、TeraPadとDoMacroはどーするんですか(^^;

TeraPad + WSH補完クンも強力な環境ですよぅ。
http://www.geocities.co.jp/SiliconValley-Oakland/4672/



To: HP010 さん

> 金曜日、(株)アンクのVBScriptポケットリファレンスを買いました。
> そしてBASP21をインスコしてみました。メールを送っても何も返事が
> 帰ってこない仲間がおるので、『メール開封しました』ってなる
> スクリプト挑戦してみます。

HTMLメールに仕込むわけですか。
…HTMLメール見られない環境だと駄目ですよ(^^;



To: いっちゃん さん

> レジストリの操作をやりたくて、この板の過去ログで
> 「WMIでレジストリを操作する話」
> Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!root/default:StdRegProv")
> を参考にさせていただいたのですが、他のコンピュータのレジストリ
> を操作する方法が分からないのです。
> 名前空間の後ろにコンピュータ名をくっつけたりしたのですが、
> unknownなエラーが返ってきます(vb6で実行)

28-28 管理人むたぐち 2001/01/16 01:13
28-46 管理人むたぐち 2001/01/21 20:41
33-26 管理人むたぐち 2001/03/28 17:39
この辺りが参考になるかと。

> #あと、WMIの名前空間の概念、方面の日本語のドキュメントが
> #ありましたら、ポインタを教えていただけると幸いです。

http://www.microsoft.com/japan/msdn/thisweek/wmi/koj990730.aspとか
http://www.microsoft.com/JAPAN/developer/library/jptech/msdnnews/wmi.htmとか
http://homepage2.nifty.com/tcubic/wmifun/とか。
あとは、書籍なら「Rubyを256倍使うための本 邪道編」とか、BackOffice World 2000年7月号からの連載記事
とかですか。



To: たる さん

> プログラムにあったclassid:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D を検索して出たので
> 詳しくは良く分かりません。
> DirectXコンポーネントの統合インターフェイスでしょうか。

DirectXの新しいやつについてくるんでしょうかねえ。
うちの環境は、ちょっと最新ではないもんで。



To: neo さん

> 早速ですが、質問があります。こちらのHPでWshを勉強しているのですが、Lesson10のサンプルを作成したところ、「オブジェクトでサポートされていないプロパティまたはメソッドです。:'WSHShell.CreateShortcut'」というエラーメッセージが表示されて先に進めません。

よくわかんないですけど、パスが間違っているとか?



To: Volk さん

> 「odbc-odbc bridgeのライセンス」追加方法についてお知恵を拝借
> できればと存じます。

申し訳ないですけど、わかんないです。



To: ぁぃ さん

> WEB上でWordのテンプレートを落としてきて、
> HTMLのフォームで入力した値をWordのブックマーク機能を
> 使って落としてきたテンプレートに埋め込もうと思っているのですが、
> Word2000でしかうまくいかない状況にあります。

これもわかんないですねえ。そもそもWord97にはVBAが入ってない、つまり
オートメーション非対応だった気もしますが。



To: YAHARA さん

> VBスクリプトでCSVファイルを固定長ファイルに変換したい
> のですか、出来るのでしょうか。
> VB6でサンプルを見ながら固定長ファイルを作成したことが
> あるのですが、VBスクリプトではしたことがありません。
> vbスクリプトでサンプルがあれば教えてください。

固定長ファイルって何だったかな…。
バイナリなファイルだったら、無理です。
VBSにはopen,writeステートメントとかがありませんから。詳しくはWSHのヘルプにある、VBSとVBの
機能比較表をごらんください。



To: ruma さん

> WSHからExcelのマクロを実行出来ますか?

できたと思いますが、やり方忘れてしまいました。
CreateObjectしてから、何かメソッドを実行するんだと思いますが。



To: hir さん

> MicrosoftからSystem Administration Scripting Guideという
> 文書が公開されました。chmファイルにシステム管理用の
> サンプルスクリプトが多数詰め込まれています。
> 本来は.Net Serverのリソースキットに入るものらしいです。
> WMIを使ったものがほとんどです。

これ、面白そうですね。あとで読んでみます。



To: Ken さん

> 自分でもいろいろ調べたのですが、WSHで
> SetCursorPos
> mouse_event
> を使う(呼び出す)ことはできないのでしょうか。

VBSからは基本的にAPIは呼べないんですが、無理やり呼び出すためのコンポーネントがあります。
"DynaCall"でログを検索してください。



To: さざなみ さん

> フォームタグに名前が設定されていないときはどうすれば
> いいでしょうか。

IE.Document.forms[0].elements[0].value="さざなみ";
のようにすればいいと思います。



To: Miki さん

> Windows2000のタスクスケジューラをWSHから登録、
> 削除、一時停止など、自動制御できないでしょうか?

13-35 管理人むたぐち 2000/04/30 01:54
がまさにその話です。



To: yoka さん

> また、通常使うプリンターとしてのチェックも付けれればと思います

60-41 土屋 さん 2002/04/10 17:46 が参考になります。

yoka さん 2002年 06月 12日 17時 49分 00秒

いつも お世話になります


さっそく質問ですが、

OSは win2k です

プリンターの設定は、ログイン者にくっついてきます
人の入れ替わりが激しくてその都度設定をしなくては
いけない状態です

手作業ですと
エクスプローラからプリントサーバーを開いて
一覧表示されているプリンタから該当する
ドライバー?をダブルクリックして操作しています


以前、こちらで
vbsでエクスプローラを開きたいのですが

下記のような方法を教えて頂きました


Set WSHShell = Wscript.CreateObject("Wscript.Shell")
WSHShell.Run "explorer.exe /e,/root,\\プリントサーバー名"

これを利用すれば出来るかなとも思いますが、良くわかりません

また、通常使うプリンターとしてのチェックも付けれればと思います


よろしくお願い致します



Miki さん 2002年 06月 12日 15時 45分 15秒

Mikiです。
いつも興味深く拝見させていただいています。
Windows2000のタスクスケジューラをWSHから登録、
削除、一時停止など、自動制御できないでしょうか?
タスクスケジューラのオブジェクトが判らないので
教えていただければ幸いです。

さざなみ さん 2002年 06月 12日 10時 32分 16秒

さざなみです。

javascriptでフォームに入力するとき、
フォームタグに

name="form_name"

と記述されているときは、

IE.Document.form_name.elements[0].value="さざなみ";

でできますが、

フォームタグに名前が設定されていないときはどうすれば
いいでしょうか。

Ken さん 2002年 06月 12日 07時 13分 29秒

たるさんありがとうございます。
自分でもいろいろ調べたのですが、WSHで
SetCursorPos
mouse_event
を使う(呼び出す)ことはできないのでしょうか。

Gura さん 2002年 06月 12日 01時 50分 20秒

たるさん hirさん
お返事ありがとうございます。

たるさんの示していただいた過去ログを覗いてみたんですが
目眩がしそうです・・・・
自分、純粋なUNIX Cの知識しかないんです、じつは。

いまちょっと、社内の便利ツール屋さんになってまして
WSHにも足を突っ込んだばかりで、右も左もわからぬ状態でして・・
MSのオフィシャルドキュメントを読んだときに
まさかと思ったんですが、やっぱり簡単には出来ないようですね。
気合い入れてWSH極めるか、諦めて他の方法を探すか
考えてみることにします。

情報ありがとうございました。

たる さん 2002年 06月 12日 00時 10分 23秒

To: Gura さん

> InputBoxに文字を入力する際*で表示させるような
> ことは可能でしょうか?パスワードを入力させる
前にそんなのを書いたような気がする。
50-21・50-33
ほかには、ruma さんへのレスとかぶるけどExcelのマクロを実行して
そこからVBAフォームを呼び出して入力させるとか
62-39
こうなってくると、どこまでがVBSでどこまでがVBAかVBなんだかわからなくなってきますね。
Office(Excel)が入っていることって言う環境条件がせめてもの制限か。

あと自己レス。
tabを取るんだったらReplaceで括ればよかったんだ。
oFS.OpenTextFile(oFS.BuildPath(sFilePath, oFS.GetBaseName(argument) & csExt), ForWriting, True).Write Replace(rsRequest.GetString(,,"", vbNewLine),vbTab,"")

hir さん 2002年 06月 11日 20時 42分 18秒

MicrosoftからSystem Administration Scripting Guideという
文書が公開されました。chmファイルにシステム管理用の
サンプルスクリプトが多数詰め込まれています。
本来は.Net Serverのリソースキットに入るものらしいです。
WMIを使ったものがほとんどです。

http://www.microsoft.com/downloads/release.asp?releaseid=38942&area=new&ordinal=1

Guraさんの質問ですが、IEのインスタンスとテンポラリなHTMLファイル
(input type=passwordなフォームが仕込んである)を使うしかないと
思います。
WinXPならScriptPW.dllを使えば良いようですが。

Gura さん 2002年 06月 11日 19時 45分 06秒

そんなの簡単でしょ・・・と思っていたのですが
1点躓いてしまいました。

InputBoxに文字を入力する際*で表示させるような
ことは可能でしょうか?パスワードを入力させる
際に使用しているのですが、思いっきりパスワードが
見えてしまっているのでどうにかしたいのです。

特にInputBoxにこだわっているわけではありませんので
このような場合に使用できるその他の方法などでも
結構ですので、何か教えてもらえればと思います。

環境はWin2k(SP2)/IE5.0/VBSです。
Webアプリを作成しているわけではないので
HTML関係の技は使用できません。
純粋にOSのスクリプト代わりに使用しています。

ruma さん 2002年 06月 11日 15時 29分 10秒

WSHからExcelのマクロを実行出来ますか?

たる さん 2002年 06月 11日 01時 29分 07秒

To: Ken さん

> VBスクリプトで特定の位置にカーソルを持っていき、その場所を
> クリックするということはできるのでしょうか。
出来ません。
キーボードで操るイメージで考えてください。
Alt+FでFileメニューが出てくるとか。


To: YAHARA さん

> VBスクリプトでCSVファイルを固定長ファイルに変換したい
> のですか、出来るのでしょうか。
こんなもんでしょうか?
一文字ずつ文字コード調べていったほうがコードが少なかったかも…。
CSVファイルを投げると、固定長?のTXTファイルを生成します。
受けフィールドより文字数が多いとエラーになります。
出力の方を手を抜いてGetstringメソッドでやってしまったので、仕様上タブ区切りになってます。
本来はループでまわして取り出してください。

Option Explicit
Const adChar = 129
Const adUseClient = 3
Const adOpenKeyset = 1
Const ForWriting = 2
Const csExt = ".txt"
Dim oFS, argument, sSQL, cnRequest, rsRequest, rsSrc, sFilePath, sFileName, lMinFields, i

Set oFS = CreateObject("Scripting.FileSystemObject")
For Each argument In WScript.Arguments
If oFS.FileExists(argument) Then Exit For
Next
If Not oFS.FileExists(argument) Then WScript.Quit(1)
sFileName = oFS.GetFileName(argument)
sFilePath = oFS.GetParentFolderName(argument)
Set rsRequest = CreateObject("ADODB.Recordset")
'ここから
rsRequest.Fields.Append "Field1", adChar, 3
rsRequest.Fields.Append "Field2", adChar, 6
rsRequest.Fields.Append "Field3", adChar, 6
'ここまで…固定列数定義を記述(第三引数はバイト数)

rsRequest.CursorLocation = adUseClient
rsRequest.CursorType = adOpenKeyset
rsRequest.Open
Set cnRequest = CreateObject("ADODB.Connection")
cnRequest.ConnectionString = "Provider = MSDASQL.1;Extended Properties=""" & _
"HDR=NO;DRIVER={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & sFilePath & """"
cnRequest.Open
sSQL = "SELECT * FROM " & sFileName
Set rsSrc = CreateObject("ADODB.Recordset")
rsSrc.Open sSQL, cnRequest
If rsSrc.Fields.Count > rsRequest.Fields.Count Then lMinFields = rsRequest.Fields.Count Else lMinFields = rsSrc.Fields.Count
Do Until rsSrc.EOF
rsRequest.AddNew
For i = 0 To lMinFields - 1
rsRequest.Fields(i).Value = CStr(rsSrc.Fields(i).Value)
Next
rsRequest.Update
rsSrc.MoveNext
Loop
rsRequest.MoveFirst
oFS.OpenTextFile(oFS.BuildPath(sFilePath, oFS.GetBaseName(argument) & csExt), ForWriting, True).Write rsRequest.GetString(,,"", vbNewLine)
Set oFS = Nothing
rsRequest.Close
rsSrc.Close
cnRequest.Close
Set rsRequest = Nothing
Set rsSrc = Nothing
Set cnRequest = Nothing

Ken さん 2002年 06月 10日 13時 37分 54秒

初心者なのですが教えてください。
VBスクリプトで特定の位置にカーソルを持っていき、その場所を
クリックするということはできるのでしょうか。
よろしくお願いします。

YAHARA さん 2002年 06月 10日 08時 20分 20秒

VBスクリプトでCSVファイルを固定長ファイルに変換したい
のですか、出来るのでしょうか。
VB6でサンプルを見ながら固定長ファイルを作成したことが
あるのですが、VBスクリプトではしたことがありません。
vbスクリプトでサンプルがあれば教えてください。

同じでしょうか?

動作環境は、Windows2000 Server(sp2)です。

ぁぃ さん 2002年 06月 09日 12時 16分 01秒

いきなり質問ですみません。

環境:Win98,2000,NT;Word97,98,2000;IE5.5,6

WEB上でWordのテンプレートを落としてきて、
HTMLのフォームで入力した値をWordのブックマーク機能を
使って落としてきたテンプレートに埋め込もうと思っているのですが、
Word2000でしかうまくいかない状況にあります。
(Word97,98では、IEの中でWordを使用してテンプレートが開けている
状況です。IEの外でテンプレートを開けていないからブックマーク機能が
うまく使えないのかな?と思い、外で立ち上げるようコーディングを
色々いじってみたけどうまくいきません。ローカルのテンプレートなら
うまくいくのですが。。。)
テンプレートはIEの外でも中でもいいので、どうすれば
いいのか、知っている方、ご教授ください。
よろしくお願いします。

あいざわ さん 2002年 06月 06日 17時 19分 38秒

to:neoさん
WIN2KのWSHならCreateShortcutはサポートされているので単なる
タイプミスではないかと思うんですが...

to:TTTさん
>上記のPrinterPathの値として、コンピュータ名が長すぎるとエラーになると
>かいうバグはあるんでしょうか?
すくなくともWIN2Kであれば共有名に関して32文字以内という制限(バグではなく)
があります。他のOSについては未確認です。

to:ゆきさん
エラーの状況がいくつかあるようなのですが詳細が不明なのではっきりとした
ことはいえません。確認ですけど
・wshshell.run パス で実行するスクリプトはひとつのファイルになっていて
それをaspファイルが起動している。
ということなんでしょうか?また
>IISの設定等色々やって、サーバーマシンでaspを動かして
>みると、exeは読むのですが、パスかdllのエラーが
>出てしまいます。(時にはネットワーク名が見つかりません。という
という説明がよくわかりません。「パスかdllのエラー」って具体的には
どんなものですか?
またここで言っている「exe」というのは前述されているbbbbb.exeのことですか?
この辺がはっきりしないとなんとも。
ただ、(漠然とですが)ファイル名が正しく指定されていないような気がするので
自分だったらまず""&strPath&"bbbbb.exe" の部分をmsgboxで表示するなど
してみます。

Return