4 vbscript
我是VBScript的新手.所以这是我的代码,它创建一个文本文件并附加一个对象:
Set objExcel = CreateObject("Scripting.FileSystemObject")
objExcel.CreateTextFile("C:\mine.txt")
Run Code Online (Sandbox Code Playgroud)
现在任何人都可以告诉我我应该如何使用该getObject(Pathname,[class])功能,因为我尝试了很多,但没有什么效果好吗?感谢致敬
小智 7
可以在此处找到VBScript GetObject文档.这是一个VBScript示例:
Set objExcelFile = GetObject("C:\Scripts\Test.xls")
WScript.Echo objExcelFile.Name
objExcelFile.Close
Run Code Online (Sandbox Code Playgroud)
此代码将为您提供C:\ Scripts\Test.xls中包含的Excel Workbook对象.您可以使用TypeName()来确认:
Set objExcelFile = GetObject("C:\Scripts\Test.xls")
WScript.Echo objExcelFile.Name
WScript.Echo TypeName(objExcelFile)
objExcelFile.Close
Run Code Online (Sandbox Code Playgroud)
输出将是:
test.xls
Workbook
Run Code Online (Sandbox Code Playgroud)
如果指定的Excel工作簿不存在,脚本将返回错误.如果Excel的实例已在运行,您可以使用此代码获取对它的引用:
Set objExcel = GetObject( , "Excel.Application")
For Each objWorkbook In objExcel.Workbooks
WScript.Echo objWorkbook.Name
Next
objExcel.Quit
Run Code Online (Sandbox Code Playgroud)
注意'Excel.Application'之前的逗号.该脚本获取对正在运行的Excel应用程序的引用,列出打开的工作簿名称并退出Excel.如果没有运行Excel实例,您将收到错误.这也是您无法使用GetObject()获取Scripting.FileSystemObject实例的原因 - 没有正在运行的实例.
如果存在已在内存中运行的实例og Scripting.FileSystemObject,则可以使用GetObject.试试这段代码:
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFso1 = GetObject("", "Scripting.FileSystemObject")
WScript.Echo TypeName(objFso)
WScript.Echo TypeName(objFso1)
Run Code Online (Sandbox Code Playgroud)
你可以看到你首先需要使用CreateObject(),当FileSystemObject运行时,它可以获得对它的引用,但这没有多大意义,因为你已经有了它的引用(objFso).因此,使用CreateObject()创建FileSystemObject的实例.
请注意,该GetObject()参数在参数中还接受以下标记:
"iis:<metabasepath>"-允许程序员查看和更改物理连接到此计算机的任何Web服务器的主要IIS功能。
"java:<classname>"-使用Java虚拟机返回在%system root%\ java \ trustlib文件夹中找到的未注册Java对象的引用。
"script:<absolutepath>"-返回对未注册的Windows脚本组件或其他受支持的脚本类型的引用。
"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