YASU さん (kousa@kiki.terasaki.co.jp) 2000年 08月 25日 14時 15分 53秒

管理人さま、はじめまして、これからもよろしくお願いします。

>できません(きっぱり(^^;)
>OE5.0になって、タイプライブラリが見られるようになったので、
>何とか使う方法がないかどうかいろいろ試してみたのですが、
>結局無理みたいです。

そうですか、がっかり・・・

メールの保存と削除をWSHでやりたかったんですが、できないとなれば
何か違う方法を考えてみます。

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

aMI さん 2000年 08月 24日 21時 46分 52秒

To: 管理人むたぐち さん

>クラスID指定の方法はやはり動きませんでしたか?

一番最初にいそいそ試しましたがダメでした。
もっと簡単に出来ても言いと思うんだがなぁ
>スペシャル・ホルダへのリンク

ご挨拶が遅れましたが、
元々 perl 使いのaMIと申します。

perl 使いといっても、所詮ワタシは DOS/WIN 環境。
手軽にあちこちの環境で動かすというわけにもいきません。
それに、そもそも perl は unix 文化。
DOS/WIN や日本語環境ではいろいろ制約や問題があります。

一番好きでよく使うのは perl なんだけど、
最近 WIN 環境で WSH であれこれやり始めたとこです。
正規表現は使えるようになったし、
ハッシュ相当の機能も付いたし。
何よりも、WIN 環境では最も由緒正しいスクリプト処理系なので
WINマシンなら大抵どこでも動かせるし、
(少なくとも今なら)フロッピー1枚で最新バージョンに上げられる、
というのは perl と比べると非常に大きい魅力です。


というわけで、これからもよろしくお願いします。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 24日 14時 19分 04秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: aMI さん

> そこから右メニューコマンドの
> 「ショートカットの作成(%S)」をキックする、
> という方法を考えました。

なるほど。そういう手がありましたか。
クラスID指定の方法はやはり動きませんでしたか?

> ちなみに、プリンタの自動設定は
> SendKeyによる力技も試みたのですが
> どうもうまくタイミングが取れないことがあって
> 思うように動いてくれません。

SendKeysはやはり使いどころが難しいですね。
暴走が怖い(^^;

> レジストリの直接変更は
> 変更後にプロパティを開けても変わっておらず、

これがレジストリをWSHからいじくるときの、一番頭を悩ませる部分ですよね。
レジストリの変更というのは本来アプリがやるものなので、WSHから無理やり書き換えた場合、
その変更がうまく反映されないことが多々あります。とくに、エクスプローラやIEなど、
実行中に変更することになるので、そういうケースが発生しやすいです。
実行前にレジストリを変更してからアプリを立ち上げるという場合では有効なんですがね…。



To: HIRAO さん

> ただ、何度か実行するうちに「ファイルシステムのエラーです(1026)。」っていうエラーメッセージが出るときがあります。無視してもう一度実行すると今度は
> すんなり実行されます。

これ、なぜかよく発生するエラーですね。
WSHからShellオブジェクトを使うというのは、やはりイレギュラーなことなのかも
しれません。

> また、CopyHere、MoveHereのオプションにFOF_NOCONFIRMATIONを
> 指定しても上書きの確認ダイアログは表示されます。

私のところでは問題なく動作しますよ。
ちゃんと定数宣言はされていますか?
Const FOF_NOCONFIRMATION = &H10 のように。



To: st さん

> htmlのなかで、createobject関数を使用するとactivexオブジェクトは、
> 安全でない可能性があります、実行しますか?というメッセージがでますが、
> 警告メッセージを出ないようにする方法はありますか?

過去何回もこの掲示板で取り上げられた話題なので、ログを検索してみてください。



To: YASU さん

> Outlook ExpressはWSHで制御できるのでしょうか?

できません(きっぱり(^^;)

OE5.0になって、タイプライブラリが見られるようになったので、何とか使う方法が
ないかどうかいろいろ試してみたのですが、結局無理みたいです。

OE5.5はどうでしょう? もし制御できるなら、ちょっと乗り換えも考えるかも。
今はDatulaで快適に暮らしているんですが…。

> Outlook97等のOfficeにバンドルされているのは制御できる
> みたいなのですが・・・

そうですね。やはり売り物と無料配布なものとは違いますね。

# で、この仕組みが悪用されると、ウィルスになってしまうわけです(^^;



To: 斎藤泰 さん

> ところで質問というのが、VBではごく当たり前のコモンダイヤログボックスを使ってファイルパスを取ろうと思ったのですが、CreatOjectでComdlg32.ocxを指定してもうんともすんとも言わないし、IEの中のObjectタグの中のようにclassIDを指定する方法もわからんということで、何か特別な書き方があるのでしょうか。

別に特別な書き方ではありません。
Set Dlg = CreateObject("MscomDlg.CommonDialog")
(WScript.CreateObjectでも可)
でOKです。

ClassID指定の方法もあります。WSH2.0で追加された、WSFファイルを使えば出来ます。
詳しくは「WSH2.0の新機能」というページをご覧ください。<object>要素です。

ただし、WSHからコモンダイアログコントロールを使えるのは、VBがインストールされている環境
だけです。

斎藤泰 さん (toru.saito@ims.jti.co.jp) 2000年 08月 23日 14時 29分 54秒

はじめまして。
Webサーバーのメンテナンスで他の人のテキストファイルを掲示する際に、半角カタカナやらいろいろ修正を必要とするテキストファイルの処理で、最近、WSHを使い始めました。この手の簡単なものはVBでアプリを作るよりもWSHの方が手っ取り早いとつくづく思います。
ところで質問というのが、VBではごく当たり前のコモンダイヤログボックスを使ってファイルパスを取ろうと思ったのですが、CreatOjectでComdlg32.ocxを指定してもうんともすんとも言わないし、IEの中のObjectタグの中のようにclassIDを指定する方法もわからんということで、何か特別な書き方があるのでしょうか。
ご教授いただけると助かります。

YASU さん (kousa@kiki.terasaki.co.jp) 2000年 08月 22日 11時 22分 32秒

皆さん、はじめまして。

YASUといいます。これからもよろしくお願いします。

早速の質問です。

Outlook ExpressはWSHで制御できるのでしょうか?
Outlook97等のOfficeにバンドルされているのは制御できる
みたいなのですが・・・

どなたか、ご教授願います。

deacon blue さん 2000年 08月 22日 00時 21分 29秒

回答ありがとうございます。
CSVファイルの読み込みは出来ました。
NT4.0上でWINDOWSを終了させるスクリプトはご指摘の通りRUNDLL32.EXEを使用します。動かないかもということですが、一度試してみて又検討したいと思います。

st さん (toda@cmic.co.jp) 2000年 08月 21日 18時 49分 34秒

htmlのなかで、createobject関数を使用するとactivexオブジェクトは、
安全でない可能性があります、実行しますか?というメッセージがでますが、
警告メッセージを出ないようにする方法はありますか?


st さん (toda@cmic.co.jp) 2000年 08月 21日 18時 49分 08秒

htmlのなかで、createobject関数を使用するとactivexオブジェクトは、
安全でない可能性があります、実行しますか?という勵尚灼がでますが、
警告勵尚灼を出ないようにする方法はありますか?


st さん (toda@cmic.co.jp) 2000年 08月 21日 18時 47分 29秒

htmlのなかで、createobject関数を使用するとactivexオブジェクトは、
安全でない可能性があります、実行しますか?という勵尚灼がでますが、
警告勵尚灼を出ないようにする方法はありますか?


HIRAO さん (hirao@stannet.ne.jp) 2000年 08月 21日 13時 32分 54秒

管理人むたぐち さん、コメントありがとうございます。
教えていただいた方法でうまくいきました。

ただ、何度か実行するうちに「ファイルシステムのエラーです(1026)。」っていうエラーメッセージが出るときがあります。無視してもう一度実行すると今度は
すんなり実行されます。
また、CopyHere、MoveHereのオプションにFOF_NOCONFIRMATIONを
指定しても上書きの確認ダイアログは表示されます。

皆さんのところはどうでしょうか?

環境は
NT4.0 WorkSation+SP6+IE5(5.00.2314.1003) です

aMI さん 2000年 08月 21日 02時 38分 32秒

早速のご回答ありがとうございます。

>> 「デスクトップに、確認付きで」なら
>> どうにかできるようになったのですが。
>
>ん、そっちのやり方の方が気になりますね(^^;
>教えていただけませんか?

ここの情報を参考に
マイ・コンピュータを開いて
フォルダ・オブジェクトを取得し、
そこから右メニューコマンドの
「ショートカットの作成(%S)」をキックする、
という方法を考えました。

ちなみに、プリンタの自動設定は
SendKeyによる力技も試みたのですが
どうもうまくタイミングが取れないことがあって
思うように動いてくれません。

レジストリの直接変更は
変更後にプロパティを開けても変わっておらず、
再起動しないといけないのかなぁ、と
思ったところろで止まってます。
まだちゃんと確認してません。

明日もあれこれ試してみます、はい。

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

To: deacon blue さん

> 任意のアプリケーションのみを登録してメニュー画面に表示できるように
> CSV形式のテキストファイルから読み書きしたいのです。
> そういう事は可能でしょうか?

できます。FileSystemObjectで、csvファイルをTextStreamとして開けばOKでしょう。
IE4以上がインストールされている環境なら、Tabular Data Control が使えると思います。
詳しくは、過去記事リスト18の38番目の記事(2000/07/27 08:02)をどうぞ。

# たぶんWSHからも使えると思うんですが…。ProgIDはなんだろう?

> それからWINDOWS終了のスクリプトはNT4.0でも有効なのでしょうか?

って、どのスクリプトのことでしょうか?
RUNDLL32.EXE を使うやつは、動かないかもしれませんね。

WMIを使えば可能ですが、NT4.0には追加インストールする必要がありますし…。




To: aMI さん

> プリンタを自動的に登録したり
> プリンタのプロパティを自動設定したりというのは
> どうにかしてできないもんでしょうか?

レジストリをいじることで可能かもしれません。
過去記事リスト16の14番目の記事(2000/06/23 16:56)で、motoさんが似たようなことを
されていました。

> あと、任意の場所に
> コンパネやプリンタへのショートカットを張る事は
> できないでしょうか?

WshShortcutオブジェクトのTargetPathプロパティに、コンパネやプリンタの
クラスIDを指定してやればOKです。
たとえば、コンパネの場合

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oLink=WshShell.CreateShortcut ("D:\conpane.lnk")
oLink.TargetPath="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"
oLink.Save

あれ、Win98では動かないですね…。
Win2000のみ?

> 「デスクトップに、確認付きで」なら
> どうにかできるようになったのですが。

ん、そっちのやり方の方が気になりますね(^^;
教えていただけませんか?

aMI さん (jun@amimo.to) 2000年 08月 21日 01時 35分 49秒

はじめまして。
先日ここを発見して、あれこれ勉強させていただいてます。

さて、自分でもいろいろ調べてはいるのですが、
プリンタを自動的に登録したり
プリンタのプロパティを自動設定したりというのは
どうにかしてできないもんでしょうか?

あと、任意の場所に
コンパネやプリンタへのショートカットを張る事は
できないでしょうか?
「デスクトップに、確認付きで」なら
どうにかできるようになったのですが。

deacon blue さん 2000年 08月 20日 19時 36分 08秒

初めて投稿します。
現在WSHを使ってWEB版ランチャーを作成中ですが、
任意のアプリケーションのみを登録してメニュー画面に表示できるように
CSV形式のテキストファイルから読み書きしたいのです。
そういう事は可能でしょうか?
それからWINDOWS終了のスクリプトはNT4.0でも有効なのでしょうか?
どなたかご存知の方がいたら教えてください。
よろしくお願いします。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 20日 11時 23分 08秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: liki さん

> NGで御教示いただいlikiです。

どうも。こんにちは。

> こちらで勉強させて頂いております。

う…。ニュースでのフォローと、うちのサイトの内容はあまり関係がなかったりします(^^;

liki さん (liki@f4.dion.ne.jp) 2000年 08月 19日 23時 58分 33秒

NGで御教示いただいlikiです。有難う御座いました。こちらで勉強させて頂いております。難しいのですがちょっとずつ進みたいと思います。宜しくお願いします。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 19日 02時 45分 18秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

○「アプリケーションの追加と削除」最終?報告

Win2000のアプリケーションの追加と削除は、HTAだということはすでに書きましたが、
このappwiz.cplの正体が大体つかめたのでご報告。

じつは、appwiz.cplは、コンパネにアイコンを表示させ、コンパネから実行すると
中身のHTAをmshta.exeに渡す機能 + 表示に使う画像? + 実際の処理を記述したHTA
+ HTAから利用する、アプリのインストール情報を制御するCOMコンポーネント 
という構造になっています。
COMコンポーネントがいっしょになっているところがミソで、
appwiz.cplをオブジェクトブラウザで参照設定すると、ちゃんとオブジェクトモデルを
調べることができます。
これを利用して、オリジナルの「アプリケーションの追加と削除」が作れるかもしれません。

appwiz.cpl内のHTAは、DHTMLビヘイビアなど、注目すべき技術が使われているので
一度じっくり読んでみるのもいいと思います。

なお、以前書いた、「アプリケーションの追加と削除」のエラーですが、やはりIE5.5
が犯人だったようです。どうもmshta.exeのバージョンの違いが原因らしいです。
IE5.5を再インストールすると治るそうです。



○ちょっとしたスクリプト

ニュース・MLに公開したスクリプト2点。
GetRef関数を堪能できます。

'その壱。マウスを置いた部分のタグ名をステータスバーに表示。
Set Ie = WScript.CreateObject("InternetExplorer.Application","IE_")

IE.Visible=True
IE.GoHome

Do : WScript.Sleep 100 : Loop

Sub IE_OnQuit()
WScript.Quit
End Sub

Sub IE_DocumentComplete(ByVal pDisp, URL)
Set IE.document.onmouseover = GetRef("document_onmouseover")
End Sub


'その弐。リンク先を常に新しいウィンドウで開く。
Set IE=WScript.CreateObject("InternetExplorer.Application","IE_")
Set WshShell = WScript.CreateObject("WScript.Shell")

IE.Visible = True

If WScript.Arguments.Count=1 Then
IE.Navigate WScript.Arguments(0)
Else
IE.GoHome
End If

Do : WScript.Sleep 100 : Loop

Sub IE_OnQuit()
WScript.Quit
End Sub

Sub IE_DocumentComplete(ByVal pDisp, URL)
Set IE.document.onclick = GetRef("document_onclick")
End Sub

Sub document_onclick()
Set oEvent=IE.document.Parentwindow.event
If oEvent.srcElement.tagName="A" Then
oEvent.ReturnValue = False
WshShell.Run WScript.ScriptFullName & " " & oEvent.srcElement.href
End If
End Sub



To: HIRAO さん

> 上のコードでコピーはうまくいくのですが、コピー中だよってメッセージを表示したいのです。
> なんにも表示されないとあまりにも寂しいので...

FileSystemObjectをやめて、Shellオブジェクトを使うという手が有効です。
過去記事リスト12の13番目の私の記事(2000/04/16 03:39)が参考になると思います。
「オブジェクトの解説」なども参考にしてみてください。




To: hata さん

> IEのバージョンが5でなく、4.0や4.01の場合は最新のWSHがインストール
> されておらず、FileSystemObjextがきちんと使えないような事を聞いたのですが
> 本当なのでしょうか?(OSはWin98)

それは半分は正しいと思いますね。
たしかに、IE4.0、IE4.01(Win98)、IE5.0までに同梱されているWSHのバージョンは1.0ですが、
IE5.01(Win2000)、IE5.5に同梱されているものは2.0です。

ただそれとは別に、IE4.01(Win98)からIE5.0のバージョンアップで、VBSがver 5に
なるとともにFileSystemObjectに、ごくわずかな機能追加がされます。
# GetFileVersionメソッドです。
さらに、これは確証が持てないのですが、FilesコレクションのCountプロパティが
正常に取得できないバグがあったような気がしたんですが、これが直ったような
気がします(あいまい。勘違いの可能性大)。
# 最新版でも、ドライブの容量が2GBまでしか認識できないという制限はそのままですが(^^;

まあ、なんにせよ、最新版のWSHというのは単体でDLできるので、別にIEのバージョンは
それほど重要ではないともいえます。

hata さん 2000年 08月 18日 16時 36分 23秒

IEのバージョンが5でなく、4.0や4.01の場合は最新のWSHがインストール
されておらず、FileSystemObjextがきちんと使えないような事を聞いたのですが
本当なのでしょうか?(OSはWin98)
IE4.0の環境が無くてテストできないので、困っています。
どなたかご存知の方がいましたらお教え下さい。

HIRAO さん (hirao@stannet.ne.jp) 2000年 08月 18日 16時 27分 20秒

初めまして、HIRAOと申します。
ファイルをコピーするスクリプトを書いていまして、教えていただきたいことが
あります。

Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
objFS.CopyFile "G:\LZH\ABC.ZIP","A:\"

上のコードでコピーはうまくいくのですが、コピー中だよってメッセージを表示したいのです。
なんにも表示されないとあまりにも寂しいので...
なにかいい方法はないでしょうか?

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

To: kobahide さん

まあ、もう見てらっしゃらないでしょうけど…。

>  ドキュメントでの仕様説明と実際の機能の実装とは、まったく異なる
> 場合が多いと思いますが?

そうですか?
第三者に使ってもらうことを目的として作成されたCOMコンポーネントの場合、
仕様説明にない機能を実装して、はたして意味があるんでしょうか…。

>  機能の実装や、出来といったことは、インストールして評価(試用)してみなければわからないはずですが?

では、「中途半端」というのは、仕様という点での評価ではなく、機能の実装や出来の
ことだったのですね。
私はてっきり、中途半端な仕様だという感想を述べられたのかと思っていたのです。

>  この掲示板はあなたの著作物以外の話題をしてはいけないのですね。

そんなこと言ってませんよ。
作者のページがわかっていて、作者と連絡が取れるなら、まずその作者に聞くのが筋だし、
確実でしょう。(もちろん、今回の場合はちゃんと作者のページに補足説明がありましたし、
作者さんが答えてくれるかどうかはわかりませんけど)

> ということは、もちろん、WSH の話も厳禁ですよね?

ここは、WSHやスクリプトの話題を取り扱うために開設した掲示板です。

kobahide さん 2000年 08月 16日 05時 05分 23秒

to 管理人むたぐち さん
>でも、その仕様はヘルプを見ればわかるので、別にインストールしなくても評価できます。
 ドキュメントでの仕様説明と実際の機能の実装とは、まったく異なる
場合が多いと思いますが? 


>だから、なんでkobahideさん曰く「中途半端」なものをわざわざインストールしたのかわからないなあ、という意味です。
 機能の実装や、出来といったことは、インストールして評価(試用)してみなければわからないはずですが? って、なんでこんなことをうだうだ掲示板に
かかなきゃならないのか、それが一番わからないですね。。


>まあそれはともかく、ソフトの作者ではなく私のところで質問するというのはなん>だかなあ、という気がしないでもないです。
 この掲示板はあなたの著作物以外の話題をしてはいけないのですね。
ということは、もちろん、WSH の話も厳禁ですよね?

さようなら。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 16日 01時 52分 58秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: kobahide さん

>  インストールすることと、使うことは、イコールなのですか?

コンポーネントは、インストールしないと使えないです。
でも、その仕様はヘルプを見ればわかるので、別にインストールしなくても評価できます。
だから、なんでkobahideさん曰く「中途半端」なものをわざわざインストールしたのか
わからないなあ、という意味です。
まあそれはともかく、ソフトの作者ではなく私のところで質問するというのはなんだかなあ、
という気がしないでもないです。

# COMコンポーネントの場合、レジストリに登録されるのが嫌なのと、基本機能だけで
# やりくりするのが好きなので、私は紹介はするものの、自分では使いません(^^;

> シェアウェアの考え方って知りませんか?

あれはフリーソフトです。
まあ、ここで言うシェアウェアの考え方っていうのは、試用できることだと
おっしゃいたいのはわかります。

ここは一つ、フリーソフトの理念にしたがって、作者さんに、どこが中途半端に感じたか、
レポートなさっては如何ですか?

>  はい。そうです。だから、hta は、windowstate="minimize" と記述しておきます。

あ、なるほど。最小化表示から元に戻るときのアニメーションは気にしないってことですね。

kobahide さん 2000年 08月 15日 04時 31分 41秒

to 管理人むたぐち さん
>じゃあ、なんでインストールしたんですか(^^;
 インストールすることと、使うことは、イコールなのですか?
シェアウェアの考え方って知りませんか?


>1.の段階で非表示で実行させない限り(それはWSH等で外部から立ち上げるしか方法がない、はず)、
 はい。そうです。だから、hta は、windowstate="minimize" と記述しておきます。

>付け加えておくと、HTAを自己呼び出し(これは、エクスプローラから再実行しても
同じですが)したときには、onloadイベントは発生しません。
 確かにonload イベントはfire されませんが、記述されているscript は実行されますので、まったく問題ありません。

 hta のみで動作する起動時のサイズ指定のscript はすでに作成すみです。
昨日の朝につくったばっかりなので、人に見せられるコードでないので、
ごめんなさいですが、singleinstance="no" でもちゃんと動作するので、
まーまーの出来です。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 14日 04時 08分 48秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: kobahide さん

>  っていうか、ある程度知識のある人は、こんな中途半端なコンポーネント
> を使いません。ま、どうでもいいけど。

じゃあ、なんでインストールしたんですか(^^;

> >最初に起動するHTAを、非表示で立ち上げるようにする方法があれば、の話ですが。
> >これだけは、WSHを使わないとどうにもならないと思うのですが…。
>  だから・・・・hta の中でcreateobject("wscript.shell")
> するっていうことなんですけどね>自己呼び出し

1.hoge.htaを立ち上げる
2.HTA内でWshShell.Run "hoge.hta",0 実行(自己呼び出し)
3.HTA内でwidthなどのパラメータを読み込んでresizeToする

っていうことですか?
# ごめんなさい。はっきり言って、よく意味がわかりません…。

1.の段階で非表示で実行させない限り(それはWSH等で外部から立ち上げるしか方法が
ない、はず)、resizeToするときに、一瞬デフォルトのサイズで表示されてしまうという
現象は回避できないと思うのですが。

付け加えておくと、HTAを自己呼び出し(これは、エクスプローラから再実行しても
同じですが)したときには、onloadイベントは発生しません。
# だから、自己呼び出しする意味もよくわからないんです…。

kobhide さん 2000年 08月 14日 02時 16分 17秒

管理人むたぐち さん
>どうでもいいですけど、なんかすさまじいアンインストール方法ですね(^^;
>インストールも、regsvr32の使い方がわかっていないと無理ですしね。
>スクリプトをある程度使いこなしている人向けみたいで
 っていうか、ある程度知識のある人は、こんな中途半端なコンポーネント
を使いません。ま、どうでもいいけど。


>最初に起動するHTAを、非表示で立ち上げるようにする方法があれば、の話ですが。
>これだけは、WSHを使わないとどうにもならないと思うのですが…。
 だから・・・・hta の中でcreateobject("wscript.shell")
するっていうことなんですけどね>自己呼び出し

 ま、hta の実行環境でも、wsh をアンインストールしている環境も
あるかもしれないので、wsh を使えない環境はありえますけど。。



管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 13日 19時 56分 24秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: D さん

> regsvr32 を使った削除ですよね?
>
> 以前、作者さんに聞いたことがあります
> 「直接レジストリを削除してください」ということでした

どうでもいいですけど、なんかすさまじいアンインストール方法ですね(^^;
インストールも、regsvr32の使い方がわかっていないと無理ですしね。
スクリプトをある程度使いこなしている人向けみたいです。




To: kobahide さん

> wsh から、run("foo.hta",0) で起動して、
> hta の中で、self.resizeto(300,400) することで、
> 希望の動作をしませんか?

ええ、それはAKiOSさんの方法ですね。

>  これを拡張して、hta から自己呼び出し。

最初に起動するHTAを、非表示で立ち上げるようにする方法があれば、の話ですが。
これだけは、WSHを使わないとどうにもならないと思うのですが…。




To: AKiOS さん

> Win2000は持っていません。(^^;

あれ、そうなんですか。

hta:applicationで検索をかけると、もう一つファイルが引っかかってきました。
たしか、IEの接続ウィザードかなんかのexeファイルだったと思います。

> わかりました。少し後回しになってしまいますが、なんとか実装したいと思います。

よろしくお願いします。楽しみに待ってます。

> そうなんですよね。私もそれで迷っていたのですが、
> あとで手直しするのは面倒なのでプレフィックスなしでいきます。

ところで、本当にwidth属性とかは追加されるんでしょうかねえ。
とっくに実装されていてもいいはずの機能なだけに、ちょっと気になります。
「アプリケーションの追加と削除」でも何らかの方法でこれを回避している
ようなので、別に実装しなくても…という考えなのかもしれません。

AKiOS さん 2000年 08月 11日 12時 17分 36秒

To: 管理人むたぐち さん

> Win2000で次のコマンドを実行してみてください。

Win2000は持っていません。(^^;

> これで、http://...がクリッカブルになれば完璧! (って、まだ言うか、おい(爆))
> もしよろしければ、これを実装していただけないでしょうか。何度もすみません。

わかりました。少し後回しになってしまいますが、なんとか実装したいと思います。

> > ところで、独自に追加したプロパティですが、標準のものと区別できる
> > ようプレフィックスを付けようと思いますが、いかがでしょう?
>
> 独自拡張ですからね。つけておいた方がいいのかもしれません。
> でも、本家の方で今後これらの属性が追加される可能性もあるので、
> その場合、同じ属性があるとスクリプトの手直しが必要なくなったりしてかえっていいかも…。

そうなんですよね。私もそれで迷っていたのですが、
あとで手直しするのは面倒なのでプレフィックスなしでいきます。

> > 今のところ追加したプロパティはwidthとheightだけなんですが、
> > 画面中央に表示するposition="screencenter"も追加する予定です。
>
> ついでにleftとtopも定義しては如何ですか?

ついでに追加しときます。(^^;

kobahide さん 2000年 08月 11日 03時 00分 36秒

こんばんは。

to Dさん
 情報ありがとうございました。(感謝)

and to all...
 hta の起動時のwindow size の件ですが・・・
wsh から、run("foo.hta",0) で起動して、
hta の中で、self.resizeto(300,400) することで、
希望の動作をしませんか?

 これを拡張して、hta から自己呼び出し。
そのとき、hta タグ部分をfile read して、
近い将来定義されるだろうと思われるwidth ,height パラメーター
を読み込めば、hta だけで完結すると思いますが?




きむち さん (kim@x.age.ne.jp) 2000年 08月 10日 16時 09分 18秒

>むたぐちさん

お返事有り難うございます。
今回の書き込みには省いてましたがappactivate使用してます。

>具体的な方法は、過去記事リスト10の28番目(2000/03/12 01:05)の記事をどうぞ。
過去ログにありましたか、見落としてました。
お手数かけてすみません、これから勉強しますね。

D さん (JZW01134@nifty.ne.jp) 2000年 08月 10日 15時 52分 19秒

はじめまして

To: kobahide さん

> SeraphyScriptDialog ですが・・・

regsvr32 を使った削除ですよね?

以前、作者さんに聞いたことがあります
「直接レジストリを削除してください」ということでした

現在はそのページの「その他の情報」に注意書きがあります

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 10日 15時 20分 39秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: AKiOS さん

> ところがresizeTo()だけで表示できます。
> リサイズ=新しいサイズで再表示、ということだと思いますよ。

あ、そうなんですか。確かめもせず憶測でものを言ってはいけませんね(^^;

しかし、少し気になる点が…。
Win2000で次のコマンドを実行してみてください。

mshta res://appwiz.cpl/default.hta

…ピコってならないですよね?
いったいどういうカラクリが!?

> OKですが、当分先になると思いますので、
> とりあえずテスト版を記事検索HTA(インデントに対応しました!)に
> 添付するつもりです。

を、お試し版バンドルですね。
インデント対応、ありがとうございました。これでコードも見やすくなるんじゃないかと
思います。
これで、http://...がクリッカブルになれば完璧! (って、まだ言うか、おい(爆))
もしよろしければ、これを実装していただけないでしょうか。何度もすみません。
この機能、本来なら掲示板に最初から入っていてもいいものなんですけど(^^;

> ところで、独自に追加したプロパティですが、標準のものと区別できる
> ようプレフィックスを付けようと思いますが、いかがでしょう?

独自拡張ですからね。つけておいた方がいいのかもしれません。
でも、本家の方で今後これらの属性が追加される可能性もあるので、
その場合、同じ属性があるとスクリプトの手直しが必要なくなったりしてかえっていいかも…。

> 今のところ追加したプロパティはwidthとheightだけなんですが、
> 画面中央に表示するposition="screencenter"も追加する予定です。

ついでにleftとtopも定義しては如何ですか?

> 利用だけでなく継承もできるそうです。

このへん、例のページを読んでもよくわからなかったので、ありがたいです(^^;



To: kobahide さん

> SeraphyScriptDialog ですが・・・

私はインストールはしていない(DLしただけ)のでよくわかりません。

> IE5 からですよね??

そうだと思います。



To: きむち さん

> 最初のmake123というソフトが既に起動状態にある場合というのは
> どう取得すれば良いのでしょう?

そのmake123というソフトは、タイトルバーがついたウィンドウを表示しますか?
その場合、AppActivateメソッドを裏技的に使えばうまくいくかもしれません。

具体的な方法は、過去記事リスト10の28番目(2000/03/12 01:05)の記事をどうぞ。

きむち さん (kim@x.age.ne.jp) 2000年 08月 10日 11時 56分 44秒

こんにちは、一つ質問させて頂いても良いですか?
ソフトを2つ起動させるスクリプトを作成してるのですが
最初のmake123というソフトが既に起動状態にある場合というのは
どう取得すれば良いのでしょう?
現状では複数起動してしまうため、対処方法を考えていたのですが
わかりませんでした。

call make123

sub make123()
Set Make123 = WScript.CreateObject("WScript.Shell")

if Make123 =??? then

call Datalog

else

Make123.Run "C:\SPEKTRA\Make123.EXE",2

end if

end sub

sub Datalog()

Set Datalog = WScript.CreateObject("WScript.Shell")
Datalog.Run "C:\SPEKTRA\DATALOG.EXE"

end sub

kobahide さん 2000年 08月 10日 06時 21分 23秒

SeraphyScriptDialog ですが・・・

1.レジストリー登録解除に失敗しませんか?

2.help の中にIE4.0sp1 でHTA が動作するようなことを
書いてますけど、IE5 からですよね??
 IE4 でHTA が動作しないのは、私のPCの環境が壊れてる(TT)
せいじゃないですよね??


AKiOS さん 2000年 08月 10日 03時 43分 37秒

To: 管理人むたぐち さん

> 非表示モードでRun()メソッドを実行、というのは
> WshShell.Run "hoge.hta",0
> ということですよね?

そうですね。

> hoge.htaのonloadイベントでwindow.resizeTo()しても、
> やっぱりウィンドウは見えないままなんじゃないでしょうか?

ところがresizeTo()だけで表示できます。
リサイズ=新しいサイズで再表示、ということだと思いますよ。

> 公開の暁には、リンクを張らせていただけますか?

OKですが、当分先になると思いますので、
とりあえずテスト版を記事検索HTA(インデントに対応しました!)に
添付するつもりです。

ところで、独自に追加したプロパティですが、標準のものと区別できる
ようプレフィックスを付けようと思いますが、いかがでしょう?
# たとえば、_widthのようにアンダースコア(_)を付けるとか。
今のところ追加したプロパティはwidthとheightだけなんですが、
画面中央に表示するposition="screencenter"も追加する予定です。

> JScript.NETのサンプルコードがあったのですが、スクリプト言語のはずなのに、
> 型宣言の機能が追加されています。
> また、.NETフレームワーク(これが何か不明ですが)のクラスを利用できるように仕様が
> 拡張されています。

利用だけでなく継承もできるそうです。
.NETフレームワークとはクラスライブラリとランタイム環境のセット
(ようするにJavaのようなもの)のことで、ふつーのアプリ用と
Webアプリ用の2つが用意されているみたいです。
で、CLR(Common Language Runtime)というJavaバーチャルマシンに
あたるランタイム上で、Java以外の複数の言語(C#,C++,VB,JScript,
Pascal,Smalltalk,Perl,Eiffel,COBOL等)がサポートされるそうです。
このCLR上で動く言語はすべて一度中間言語に変換されてから実行され
るのですが、あらかじめコンパイルしておくことも可能だそうです。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 09日 22時 39分 31秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

To: SHELLPA さん

> UWSC(スクリプトによりアプリの操作ができるフリーソフト)が
> COMオブジェクトにも対応したようです
> WSH的な使い方もできて色々できます

WSHの強力なライバル現る! ってところでしょうか(^^;
このソフト、基本的にマウスやキーボードの動きを記録して
再生するものですが、こういう真似はWSHにはできないですからね。
これにCOMオブジェクトを扱う機能が加われば、強力になるのは容易に想像できます。

だいたい、WSHは、アナログ的な処理ができなさすぎです。
SendKeysだけで何とかしろってか?



To: Lib30 さん

SeraphyScriptDialogをダウンロードしてみました。
マウスポインタを砂時計にする機能なんてのもありますね。
DoEventsって、WScript.Sleepで代用できません?

SHELLPA さん 2000年 08月 09日 16時 51分 50秒

はじめまして
UWSC(スクリプトによりアプリの操作ができるフリーソフト)が
COMオブジェクトにも対応したようです
WSH的な使い方もできて色々できます
お試しあれ

http://www07.u-page.so-net.ne.jp/ca2/umiumi/

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 09日 15時 51分 28秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

うーん。.NETって何なんでしょう。
Windows.NETは、どうも新しいOSのようですが。

http://www.microsoft.com/JAPAN/presspass/RELEASES/062300ngwa.htm
こんなページがあったんですが、読んでも抽象的過ぎてようわかりません。

また、http://msdn.microsoft.com/voices/scripting07142000.aspを斜め読みしたところ
によると、けっこう衝撃的なことが書かれていました。

VBScriptとVBが一本化されて、Visual Basic.NETというものになるそうです。
VBのさまざまな機能が、スクリプトから利用できるようになるそうです。
でも、最初はASP+で使うのがメインになるということらしいです。
IEやWSHへの実装は後で、ってことでしょう。
(なんか読み違えてますか?)

JScript.NETのサンプルコードがあったのですが、スクリプト言語のはずなのに、
型宣言の機能が追加されています。
また、.NETフレームワーク(これが何か不明ですが)のクラスを利用できるように仕様が
拡張されています。

こういう、具体的なことを挙げてもらえると、何となくわかるような気もします。
なんかよくわからないですが、スクリプト界に革命的な出来事が起こるということだけは
確かなようです。



To: 西 さん

> hta内にいろいろ表示させていろいろしたのですが、デスクトップだけは
> 表示できません

デスクトップのクラスIDって、私も知らないんですよね…。
デスクトップをエクスプローラで表示させる方法はいくつかあり、「WSHテクニック集」の
ページで紹介していますが…。



To: Lib30 さん

> http://members.tripod.co.jp/archangel_seraphy/
> で、SeraphyScriptDialogというコントロールを見つけました。

情報提供、ありがとうございます。
このページ、なぜか私のところから見ることは出来ませんでした。

> 日本語フォームの作成やコモンダイアログが使用できるようになります。
> 個人的に使えると思ったのは、フォルダの表示ダイアログと、スクリプト内で
> DoEventsが使用できることです。

日本語がとおるという点が貴重ですね。
また今度確認しておきます。

Makoto さん 2000年 08月 09日 03時 37分 22秒
URL:http://www.geocities.co.jp/SiliconValley-Bay/4483/

みなさん、こんにちは ;)

AKiOS さんへ

>>> AKiOS さんのこれってどこにあるのでしょう?
>>私のハードディスクの中にあります。(^^;

まだ作成中でしたか、早とちりでした
どうやってるのか知りたかったので
完成したのを見たかったもので...

PS.
そういえば大昔のMicrosoft系BASIC でも 偽は -1 でした
N-BASIC とか...


Lib30 さん (lib30@yo-mail.co.jp) 2000年 08月 08日 22時 22分 49秒
URL:http://www.ob.aitai.ne.jp/~kazoo/

http://members.tripod.co.jp/archangel_seraphy/
で、SeraphyScriptDialogというコントロールを見つけました。
日本語フォームの作成やコモンダイアログが使用できるようになります。
個人的に使えると思ったのは、フォルダの表示ダイアログと、スクリプト内で
DoEventsが使用できることです。

西 さん 2000年 08月 08日 18時 09分 57秒

hta内にいろいろ表示させていろいろしたのですが、デスクトップだけは
表示できません_燭ij,呂△蠅泙擦鵑@

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 08日 14時 29分 59秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

みなさん、Windows.NETってご存知ですか?
よく聞くフレーズなんですけど、意味がわかりません(^^;
どこかに、噛んで含めるような解説がされているページはないでしょうか。

実は、ニュースグループでちょっと気になる記事を見かけたのです。
Subject: Download the .Net SDK today! Including the JSCript, VB, and C# command-line compilers.
サブジェクトだけ見てもなかなか刺激的でしょ?
MSがスクリプト言語のコンパイラを含んだ.NETのSDKを配布する、ということみたいですね。

↓β版がダウンロードできるらしい。Win2000+IIS+IE5.5が必要? 86MBもある?
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml

↓JScript.NETの概要があるらしい
http://msdn.microsoft.com/voices/scripting.asp




To: Gori さん & AKiOS さん

どうも詳しい解説ありがとうございます。
結局、私の無知から来る妄想でした。お恥ずかしい限りです…(^^;

> -1 = 11111111 (2)
> こう表現され、このせいで Not 0 = -1 (= True) となります。

> Not 0とは0をビット反転するということなので-1になるんですよ。(^^;

感覚とか言っていた私は何なんでしょう(爆)

> つまり&hFF、すなわちビットがすべて1であれば-1とすることができます。

(^^;
それならなんで&hFFが-1なんでしょう。感覚的に納得できないなあ、とか言うところでした。



To: AKiOS さん

> WSHからであれば、非表示モードでRun()メソッドを実行して、
> htaのonloadイベントでwindow.resizeTo()すれば同じように
> できますが、すべてのhtaで記述しなければなりません。

非表示モードでRun()メソッドを実行、というのは
WshShell.Run "hoge.hta",0
ということですよね?
hoge.htaのonloadイベントでwindow.resizeTo()しても、
やっぱりウィンドウは見えないままなんじゃないでしょうか?

あ、そうか。シングルインスタンスであれば、このあとWshShell.Run "hoge.hta",1
を実行すればいいわけですね。この方法は、マルチインスタンスには適用できないと
いうことになりますね。



To: Makoto さん

> みんささん、こんにちは

誰だろうとしばし考えてしまいましたよ(^^;
# 私もよくtypoします。

> AKiOS さんのこれってどこにあるのでしょう?

公開の暁には、リンクを張らせていただけますか?
もしくは、私のところでアップロードされます? > AKiOSさん

【おじさま】 さん (tomiyama@seagreen.ocn.ne.jp) 2000年 08月 08日 13時 01分 53秒
URL:http://homepage1.nifty.com/~tomiyama/

AKiOS さん、Gori さん

> おじさまさんの言うC言語での例というのは、int = unsigned int と決められ
>ていたC言語を使っていた、と考えるのが自然ですね。表示の際に1へキャストさ
>れてしまったのでしょう。

いえ、単に私の無知と勘違いです(^^;)。int は特に指定しなければ signed でし
たし、ちゃんと -1 だったのに理解していなかっただけでしょう。なるほど、全部
のビットが 0 で、NOT なんだからそれらを全部反転させれば符号ビットも 1 にな
って負ですね。これなら処理系によっての違いは通常あるわけないですね。

お恥ずかしい。

AKiOS さん 2000年 08月 08日 11時 30分 23秒

To: Gori さん

> おじさまさんの言うC言語での例というのは、int = unsigned int と決められていたC言語を使っていた、と考えるのが自然ですね。表示の際に1へキャストされてしまったのでしょう。

C/C++では !0 はふつー、1 になるんじゃないでしょうか。
# jscriptのドキュメントにも 0 以外は 1 になると書かれていますが
# 実際に試すと -1 になります。(^^;
つまり、C/C++の論理否定演算子(!)とビット反転演算子(~)が
VB系の言語ではNot演算子1つでまかなっているため、
True = Not Falseで定義すると-1になってしまうんですよね。



To: Makoto さん

> >>BC++でちょっとした小物を作りました。
> >><hta:application>タグにwidthとheightプロパティが
> >>設定されているとそのサイズで表示するというものです。
> >>onloadイベントでwindow.resizeTo()するとリサイズしたのが
> >>一瞬見えてしまいますが、これがなくなります。(^o^)
>
> AKiOS さんのこれってどこにあるのでしょう?

私のハードディスクの中にあります。(^^;
まだ、完成したわけではなくて、マルチインスタンスに対応している
ところです。

Makoto さん 2000年 08月 08日 04時 19分 29秒
URL:http://www.geocities.co.jp/SiliconValley-Bay/4483/

みんささん、こんにちは
>>BC++でちょっとした小物を作りました。
>><hta:application>タグにwidthとheightプロパティが
>>設定されているとそのサイズで表示するというものです。
>>onloadイベントでwindow.resizeTo()するとリサイズしたのが
>>一瞬見えてしまいますが、これがなくなります。(^o^)

AKiOS さんのこれってどこにあるのでしょう?

AKiOS さん 2000年 08月 07日 23時 38分 21秒

To: 管理人むたぐち さん

> > Not 0は-1だから、ですね。
>
> ですから、なんでNot 0 が -1 なのかな、という話をしていたんですよ(^^;
> Not 0 = 1 のほうが、感覚的に納得できます。

ですから、Not 0とは0をビット反転するということなので-1になるんですよ。(^^;
# VBSの整数型は-32768から32767まで扱えるということですから、
# 16ビット(16進数4桁)なので0をビット反転した&hFFFFが-1ということです。

たとえば、8ビット(16進数2桁)の場合で考えた場合、&hFFに1を加えると
&h100になって桁あふれしてしまいますが、それを無視すると&h00ということで
&hFFは0より1だけ小さい数と考えることができます。
つまり&hFF、すなわちビットがすべて1であれば-1とすることができます。
同様に&hFEは-2、&hFDは-3としていくと&h80から&hFFまでが負の数になります。
これを2進数でみた場合、負の数は必ず最上位ビットが1になっていて、
逆に、0または正の数では最上位ビットが0になっています。
この最上位ビットをみることにより正の数か、負の数か判別できることから
符号ビットと呼ばれ、コンピュータにおける数値表現で、負の数を含めた整数
を表現するのにこの符号付き2進数がよく使われています。

> > BC++でちょっとした小物を作りました。
> > <hta:application>タグにwidthとheightプロパティが
> > 設定されているとそのサイズで表示するというものです。
> > onloadイベントでwindow.resizeTo()するとリサイズしたのが
> > 一瞬見えてしまいますが、これがなくなります。(^o^)
>
> これ、どういう仕組みで動いているんでしょうか。
> 興味があります。

非常に単純です。
WSHからであれば、非表示モードでRun()メソッドを実行して、
htaのonloadイベントでwindow.resizeTo()すれば同じように
できますが、すべてのhtaで記述しなければなりません。
今回作った.exe版では.htaに関連付けされているopenアクションを
非表示モードで実行して、あらかじめ読み込んだwidthとheightで
ウィンドウのサイズを再設定して、表示させているだけです。

Gori さん (Gori@ps.ksky.ne.jp) 2000年 08月 07日 23時 27分 10秒
URL:http://www.ksky.ne.jp/~gori/

おひさしぶりです。

VBの歴史というか、あらゆる言語で同じ処理をしてます。アセンブラレベルの内部処理上の都合で・・・
すべての変数は内部的に2進数なんです。8ビットの場合、2進数では
1 = 00000001 (2)
0 = 00000000 (2)
-1 = 11111111 (2)
こう表現され、このせいで Not 0 = -1 (= True) となります。

おじさまさんの言うC言語での例というのは、int = unsigned int と決められていたC言語を使っていた、と考えるのが自然ですね。表示の際に1へキャストされてしまったのでしょう。
こういう処理系ではまれに True が 65535 とかを返す場合もあります。でも、内部的には結局 11111111 (2) を持っているにすぎません。

管理人むたぐち さん (mutaguchi@roy.hi-ho.ne.jp) 2000年 08月 07日 18時 39分 35秒
URL:http://www.roy.hi-ho.ne.jp/mutaguchi/

前に書いた、「アプリケーションの追加と削除」HTAのソースを見る方法がわかりました。
HKey_Classes_Root\.htaキーの"Content Type"を"application/hta"から"text/html"に
しておくだけ。あとは、普通にres://appwiz.cpl/default.htaをブラウザで開くだけです。

このソースを見てわかったことは、hta:application要素のselection属性、contextmenu属性
が、IE5.01ですでにサポートされていた、ということでしょうか。
# yes,noではなく、on,offの値をとることに注意。

そういえば、スクリプトのエラー表示なんかも間違いなくHTMLですね。
EmSoftのフリーソフト、Capture Textでキャプチャできないテキストがあれば、それはHTML
とみて間違いないでしょう(spy++とかがあれば簡単にわかるんでしょうけど)。

話は飛びますが、EmEditor v3 の正式版が出ていました。
…高い(^^;


To: kobahide さん

> 「if a then 」=「if a<>false then」です。

そっちの方が正しそうですね。TrueなんてFalseのおまけみたいなもの?




To: 【おじさま】 さん

> 私も普段はこれですよ。If Fs.FileExists(file) = False Then
> についても If Not Fs.FileExists(file) Then って書くことの
> ほうが多いです。VB や VBS に限らず False は 0 で True は
> Not False としてしか決められていないはずです。

私は相当間抜けなことを言っていたことになりますね。
Falseが主体なわけですか。

> 私他の言語を知らないのですが、多分とりあえずの値が
> -1 であるほうが珍しいんじゃないでしょうか。

ええ、私もそんな気がしますね。
「有・無」ではなく「真・偽」だから0と-1なのでしょうか。
VBの歴史を紐解いてみれば、何かがわかるかもしれませんね。



To: AKiOS さん

例のエラーが出たので、ご報告。
最新記事リストをダウンロードする、にチェックを入れて「ダウンロード開始」を
クリックするとおこりました。オフライン作業中です。

Internet Explorer スクリプト エラー
ライン: 694
文字: 3
エラー: 書き込みできません。
コード: 0
URL: WshLab.hta

このまま実行すると、続いて次のエラーが出ます。

ライン: 183
文字: 1
エラー: オブジェクトでサポートされていないプロパティまたはメソッドです。
コード: 0
URL: $WshLab.tmp

このあと、もう一度ダウンロードをこころみると成功します。

> Not 0は-1だから、ですね。

ですから、なんでNot 0 が -1 なのかな、という話をしていたんですよ(^^;
Not 0 = 1 のほうが、感覚的に納得できます。

> BC++でちょっとした小物を作りました。
> <hta:application>タグにwidthとheightプロパティが
> 設定されているとそのサイズで表示するというものです。
> onloadイベントでwindow.resizeTo()するとリサイズしたのが
> 一瞬見えてしまいますが、これがなくなります。(^o^)

これ、どういう仕組みで動いているんでしょうか。
興味があります。

そういえば、「アプリケーションの追加と削除」も、ウィンドウサイズを決めるのに
window.ResizeToを使っていました。でもリサイズするところは見えませんね。
あれもどういう仕組みで動いているんだろうか。



To: HAL3 さん

> そこで、出来れば、Excelにボタンを張りつけて、そこからWSHを実行できれば
> いいなぁと思うのですが、

よくおっしゃることがわからないのですが、Excelのシートにボタンを貼り付け、
そのボタンを押すことでWSHのスクリプトが動作するようにしたい、ということでしょうか?

それなら、VBAのマクロを使えばいいと思いますが。
わざわざ、スクリプトをWSHで動かす意味がよくわからないんですが、すべてVBAで
記述してしまえばいいのでは?



To: nonomura さん

> VBScriptでAPI関数を使いたいのですがどうしたらよいのでしょうか。

VBSはDeclareステートメントをサポートしていないので、基本機能だけでは
API関数を使用することはできません。

しかし、API関数を呼び出すためのDynaCallというCOMコンポーネントがありますので、
それを使えばいいのではないでしょうか。
URLはリンクのページにあります。

nonomura さん (nonomura@quartz.ocn.ne.jp) 2000年 08月 07日 15時 39分 37秒

VBScriptでAPI関数を使いたいのですがどうしたらよいのでしょうか。すみませんが教えてください。

HAL3 さん (hals@din.or.jp) 2000年 08月 07日 14時 24分 40秒

はじめまして
いつも参考にさせテいただいています。

ちょっとここに書きこむのはお門違いかもしれないんですが、
情報を取得する場合、csvなどの表形式にしたりよくすると思うのですが、
うちは、結果としてEXCELで資料にします。
そこで、出来れば、Excelにボタンを張りつけて、そこからWSHを実行できれば
いいなぁと思うのですが、
そういうことって駄目なんでしょうか。

ここに聞くことじゃないかもしれないですが・・・

(DOSのbatはちょっとやった程度のプログラム素人です。場違いでしたら
ごめんなさい)

AKiOS さん 2000年 08月 07日 00時 20分 23秒

To: 管理人むたぐち さん

> VBSでも
> False=0
> True=-1ですね。
> # なんで1じゃないんだろう…。

Not 0は-1だから、ですね。
# WScript.Echo Not 0 を実行してみてください。:-)

PS.
BC++でちょっとした小物を作りました。
<hta:application>タグにwidthとheightプロパティが
設定されているとそのサイズで表示するというものです。
onloadイベントでwindow.resizeTo()するとリサイズしたのが
一瞬見えてしまいますが、これがなくなります。(^o^)

Return