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