WSH(・∀・)スレッド! at TECH
WSH(・∀・)スレッド! - 暇つぶし2ch799:デフォルトの名無しさん
06/12/16 14:20:25

WSCで定数を公開する方法を教えてください。
現在は読み取り専用のプロパティで固定数を返してますが
FileSystemObjectのForReadingやADODB.StreamのadTypeBinaryのように
インスタンスのメンバとしてではなく、そのまま書けば使えるようにしたいのです。



800:799
06/12/16 14:20:47
▼public要素(公開メンバ)
<public>
  <method name="hoge">
    <parameter name="arg"/>
  </method>
  <property name="foo">
    <get/>
  </property>
  <property name="bar">
  以下略

▼WSCスクリプト
Public Sub hoge(arg)

End Sub
Public Function get_foo
  get_foo = 1
End Function
Public Function get_bar
  get_foo = 2
End Function
以下略

▼呼び出し側スクリプト
Call obj.hoge(obj.foo)


現在こんな感じですが、呼び出し側で
Call obj.hoge(foo) で同じ効果が出せるようにしたいのです。
もちろん呼び出し側で定数宣言しろとかは無しで。
FileSystemObjectやADODB.Streamも宣言無しで定数を使えるので、
それと同じようにしたいのです。

801:デフォルトの名無しさん
06/12/16 15:59:58
WSC側で、JScriptで、
function xconst(Me){
Me['xxx']=111;
Me['yyy']=222;
}
呼び出し側で、VBScriptで、
wsc.xconst Me
とすれば、xxxやyyyが使えるようになる。
JScriptなら、wsc.xconst(this);


802:799
06/12/16 16:21:03
>>801
回答ありがとうございます。しかし、そういう事ではなくて、先にも書いたように
FileSystemObjectやADODB.Streamなんかの定数と同じように使いたいんです。例えば
<job>
<reference object="Scripting.FileSystemObject"/>
<script language="VBScript">
WScript.Echo CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.ScriptFullName, ForReading).ReadAll
</script>
</job>
という感じでForReadingが使えるように、呼び出し側のスクリプトで何かするのではなく
reference要素の設定だけで定数を使えるようにしたいのです。
reference要素の設定をしなければFileSystemObjectやADODB.Streamの定数も宣言無しには使えないので、
「FileSystemObjectやADODB.Streamと同じように」というのは「reference要素の設定だけで」という意味で使ってます。

引き続きよろしくお願いします。


803:デフォルトの名無しさん
06/12/16 16:32:35
>>802
>引き続きよろしくお願いします。
やっぱりな。そう来ると思ったよ。
スレ違い。MSに言え。

804:デフォルトの名無しさん
06/12/16 16:40:56
wscじゃむりなんじゃね?

つーかFileSystemObjectのForReadingってただの整数で定数じゃないんじゃ?
adTypeBinaryは定数ったってCOMの実装でenumなんでしょ

805:799
06/12/16 16:51:36
>>803
お手数お掛けしました。
今後は他の方の回答を待ちますので私のことは無視してください。

>>804
リファレンスには定数と書いてあったので、定数だと思い込んでました。
どちらにしてもForReadingと同じ使い方が出来れば良いだけなのですが。

「無理なのでは?」という意見をいただけるのもありがたいのですが、
失礼ながら他の方が知ってる可能性もあるので、もうしばらく待ちます。


806:デフォルトの名無しさん
06/12/16 16:52:28
可読性にこだわるなら数値のかわりに文字列を使えばいいじゃない。

807:デフォルトの名無しさん
06/12/16 17:04:50
>>799
無視できるように、コテハン使ってください。
例えば、
「引き続きよろしくお願いします。」
「木に縁(よ)りて魚を求む」

808:デフォルトの名無しさん
06/12/16 17:12:34
徳川埋蔵金を信じている人に何を言っても無駄ですよ。>みなさん


809:デフォルトの名無しさん
06/12/16 17:13:11
ハンドルじゃないけど名前欄に799って入れてるんだからこのスレ指定で799という名前を消せばいいじゃん
スレ単位での無視条件設定できない糞専ブラ使ってるとかならそれはそういうソフト選んだ自分の責任だ
というか嫌味なコテ押しつけたいだけか?

810:デフォルトの名無しさん
06/12/16 17:23:39
過疎スレで熱くなるなよ

811:デフォルトの名無しさん
06/12/16 17:29:20
いいえ、今後は、でなく、最初から無視したいから、スレッドを超えたコテハンにして。
と言ってるのですよ。参考、検索「引き続きよろしくお願いします。 」
だって、どんな答えもそれは私の求めているものとは違う、というだけなんですよ。
最初から、条件を明示すればよいのに。
「代替方法の提案や出来ないという回答は不要」というふうに。

812:デフォルトの名無しさん
06/12/16 17:40:27
この子、どうしたんだろう?

813:デフォルトの名無しさん
06/12/16 18:49:51
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。


って煽って欲しいんじゃない?

814:デフォルトの名無しさん
06/12/16 18:53:59
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。

815:デフォルトの名無しさん
06/12/16 20:21:09
>>811
あなたを無視したいから「スレッドを超えたコテハン」とやらにして。

816:デフォルトの名無しさん
06/12/16 20:30:03
次のWSHのネタをどうぞ


817:デフォルトの名無しさん
06/12/16 20:39:12
WSHで811みたいな根暗で陰気な奴を消す方法を教えてください

818:デフォルトの名無しさん
06/12/16 21:06:02
そういうCOM作って呼び出しなさい。

819:デフォルトの名無しさん
06/12/16 21:28:47
自分では上から見下ろし、バカな質問者を叩く側だと思ってたのに
何を間違えたか皆から見下され、叩かれる立場になってしまった811(´・ω・) カワイソス

820:デフォルトの名無しさん
06/12/16 21:40:07
どこが?上から見下ろし、バカな質問者を叩く側だと見えんけど

821:デフォルトの名無しさん
06/12/16 21:49:31
最初っから上に居るようには見えないってか

822:デフォルトの名無しさん
06/12/16 21:59:49
見方がおかしいのかなぁ
スレリンク(win板:103-番)
と同じ流れだと言ってるんでしょ

823:デフォルトの名無しさん
06/12/16 22:01:21
なんだ811本人かw

824:デフォルトの名無しさん
06/12/16 22:03:18
もう諦めろ
お前は玩具側の人間だ

825:デフォルトの名無しさん
06/12/16 22:07:40
. .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::
   . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
        Λ_Λ . . . .: : : ::: <こんなはずでは・・・・・
       /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
      / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄
       >>811


826:ひとりぼっちのクリスマス
06/12/16 22:15:38
.: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::☆:::::::+::::::::::::::
  . . : : : ::::/⌒ヽ: ::: :: : :::: :: ::: ::: :::::::::::::::::::::::::..,,::。:+:::::::::::::::::::::::
  . .... ..::::/  <`O:: :: ::: :::::: :::::::::::: : :::::::::::::::::::+,::o;;::・;,:::::::::::::::::::::
     ⊂ニニニ⊃. . .: : : ::: : :: ::::::::: ::::::::::::::::..<;;::・,,::;ゞ;;o;*::.:::::::::::
     /:彡ミ゛ヽ;)ー、. . .: : : :::::: ::::::::::::::::,,;;;<;+::;;;´;*::o*:,,;;ゞ;;::::::::
    ./ /ヽ/ヽ、ヽ  i. . .: : : :::::::: :::::::::::;;;*;;;〇;ゞ;*::;;:<;;;*;:;ゞ;;o;
   / / 。  ヽ ヽ l   :. :. .:: : :: ::<;;;;〇;ゞ;*::o,ゞ ;*;;;;*ゞ;*:o
  ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄     ;;;*;;;〇;ゞ;*::;;;;;*ゞ;*::o, 〇;;; *
      >>811              : : : : : : llllllll : : : : : :
                           田田田


827:デフォルトの名無しさん
06/12/16 22:18:04
おまえら便乗しすぎw

828:デフォルトの名無しさん
06/12/16 22:37:03
811の人気に嫉妬

829:デフォルトの名無しさん
06/12/16 22:41:37
もうWSHと関係ない話は別のところでやってくれ

830:デフォルトの名無しさん
06/12/16 23:39:12
Public Const get_foo=1
のほうが簡単。

831:デフォルトの名無しさん
06/12/17 01:05:03
wsfファイルのサイズが500KB超えると開けなくなるみたいだ。残念。

832:デフォルトの名無しさん
06/12/17 18:37:43
なーおまいら、>>830って通るか?
うちじゃエラーになるんだが


833:マチルダ
06/12/19 10:37:20
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。

今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
要はProcessID指定で確実にブラウザにSendKeysしたいんです。
よろしくお願いします。

Set IE = WScript.CreateObject("InternetExplorer.Application","IE_")
Set sShell = WScript.CreateObject("WScript.Shell")
sShell.AppActivate("ブラウザのwebページのタイトル文字列")
sShell.SendKeys "ほげほげ"

参考にしたページ
URLリンク(www.atmarkit.co.jp)
> 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。



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