2

私がやろうとしていることが可能かどうか疑問に思っていました。CreateObject を使用して VBScript から呼び出されたときにフォームを呼び出す C# クラス ライブラリを作成しました。

一部のデータをフォームに渡す VBS があり、スクリプトが完了すると、明らかにすべての参照が失われます。次回 VBS スクリプトを再度呼び出すときに、接続して既存のフォームを使用する方法があるかどうかを知りたいですか?

Set e = CreateObject("MyObject")
'SendEvents to Form'
'Script ends.. all references lost'

'Script is run again'
Set e = CreateObject("MyObject")
'Is it possible to send events to the existing form, instead of closing it and creating new one?'

*編集: 現在、スクリプトが再度呼び出されたときに、クラス ライブラリを使用して既存のフォームを閉じています。ただし、スクリプトが呼び出された回数に関係なく、開いたままにしておきたいというユーザー リクエストがあります。次回 CreateObject が呼び出されたときに、既存のフォームをどのように使用できるかわかりません。出来ますか?

4

1 に答える 1

3

このようにしてみてください

Set e = CreateObject("MyObject")
'SendEvents to Form'
'Script ends.. all references lost'

'Script is run again'
Set e = GetObject(, "MyObject") 'no, the empty parameter is no typo

詳細については、 http://technet.microsoft.com/en-us/library/ee176980.aspxを参照してください。

于 2012-06-17T10:55:09.560 に答える