2009-07-28 58 views
1

VBScriptは本当に新しくなっています。これは、テキストファイルをeates予約し、それにオブジェクトをアタッチ私のコードです:VBScriptでGetObjectを使用する方法

Set objExcel = CreateObject("Scripting.FileSystemObject") 
objExcel.CreateTextFile("C:\mine.txt") 

は今、誰もが、私は多くのことをしようとしていたとして、getObject(Pathname,[class])機能を使用することが出来るのですが、何も働いていない方法を教えてくださいすることができますまあ?ありがとうございます。

答えて

6

VBScript GetObjectのドキュメントはhereです。ここではVBScriptのサンプルです:

Set objExcelFile = GetObject("C:\Scripts\Test.xls") 
WScript.Echo objExcelFile.Name 
objExcelFile.Close 

このコードはあなたにCに含まれるExcelワークブックオブジェクトを取得します:スクリプト\ \ Test.xlsをします。あなたはそれを確認するために、型名を()を使用することができます:

Set objExcelFile = GetObject("C:\Scripts\Test.xls") 
WScript.Echo objExcelFile.Name 
WScript.Echo TypeName(objExcelFile) 
objExcelFile.Close 

出力は次のようになります。

test.xls 
Workbook 

指定されたExcelワークブックは、スクリプトがエラーを返しますが存在しない場合。 「まず、Excel.Application」の前に

Set objExcel = GetObject(, "Excel.Application") 

For Each objWorkbook In objExcel.Workbooks 
    WScript.Echo objWorkbook.Name 
Next 

objExcel.Quit 

お知らせコンマ:Excelのインスタンスがすでに実行されている場合、あなたはそれへの参照を取得するには、このコードを使用することができます。このスクリプトは、実行中のExcelアプリケーションへの参照を取得し、開いているワークブックの名前をリストし、Excelを終了します。実行中のExcelインスタンスがない場合、エラーが発生します。これは、GetObject()を使用してScripting.FileSystemObjectのインスタンスを取得することができなかった理由です。実行中のインスタンスはありませんでした。

Scripting.FileSystemObjectインスタンスが既にメモリ内で実行されている場合、GetObjectを使用できます。このコードを試してみてください:

Set objFso = CreateObject("Scripting.FileSystemObject") 
Set objFso1 = GetObject("", "Scripting.FileSystemObject") 

WScript.Echo TypeName(objFso) 
WScript.Echo TypeName(objFso1) 

は、あなたが最初にのCreateObject()を使用する必要があることがわかりますし、FileSystemObjectオブジェクトは、それへの参照を取得することが可能である動作しているときに、これはあまり意味があなたので、まだことはありません。それ(objFso)への参照があります。したがって、CreateObject()を使用してFileSystemObjectのインスタンスを作成します。またGetObject()は、引数に以下のモニカーを受け入れ

+0

オブジェクトが単一のインスタンスである場合を除きます(が、それを省略していない)長さゼロの文字列として 'GetObject'機能のパス名(最初のパラメータ)を指定した場合、その効果は同様です'CreateObject'に渡すので、' GetObject'は現在のインスタンスの代わりにオブジェクトの新しいインスタンスを返します。 – omegastripes

2

注:

"iis:<metabasepath>"は - プログラマが表示し、物理的にこのマシンに接続された任意のウェブサーバ用のキーIISの機能を変更することができます。

"java:<classname>" - Java仮想マシンを使用して、%system root%\ java \ trustlibフォルダにある未登録のJavaオブジェクトへの参照を返します。

"script:<absolutepath>" - 登録されていないWindows Scripting Componentまたは他のサポートされているスクリプトタイプへの参照を返します。

"clsid:<clsid>" - レジストリ内のクラスIDによるオブジェクトへの参照を返します。

"WinMgmts:<string>" - WMIを使用してWindows OSの基本機能にアクセスできるようにします。

"OBJREF:<base64encodedstring>" - 実行中のオブジェクトインスタンスへのアクセスを返します。

"queue:<clsid/progid>" - MSMQを介してキューに入れられたCOM +コンポーネントをアクティブにするために使用されます。

"new:<clsid/progid>" - IClassFactoryポインタをサポートするCOMコンポーネント(キューに入れられたコンポーネントを含む)のインスタンス化を許可します。

源:http://web.archive.org/web/20021001133221/http://www.aspemporium.com/aspEmporium/tutorials/GetObject/index.asp

関連する問題