您可以使用一些方法和属性,但不是全部。以下内容有效,但从您使用 toString 的那一刻起,您就有了一个行为如此的 vbscript 变量。
Set s = CreateObject("System.Text.StringBuilder")
s.Append_3 "I love deadlines. I like the whooshing sound they make as they fly by."
s.Append_3 "and the rest."
wscript.echo s.Length
wscript.echo s.Capacity
wscript.echo chr(s.chars(0))
wscript.echo s.Replace("t", "d").Replace("l", "k").toString
给
83
140
I
I kove deadkines. I kike dhe whooshing sound dhey make as dhey fky by.and dhe resd.
但是例如以下不起作用,尽管它是 stringbuilder 的一种方法http://msdn.microsoft.com/en-us/library/system.text.stringbuilder_methods.aspx
不要问我为什么
s.Insert 1, "insert this"
和
s.Insert_2 7, "insert this"
确实有效
我还在 Ruby 中编程,您也可以在其中使用这些对象,并且行为相同。对于某些对象,我可以枚举属性或方法,例如 Excel
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
properties = excel.ole_get_methods
properties.each do |property|
p property.to_s
end
给出了一个很长的列表,比如
"Application"
"Creator"
"Parent"
"ActiveCell"
"ActiveChart"
"ActiveDialog"
"ActiveMenuBar"
"ActivePrinter"
"ActiveSheet"
"ActiveWindow"
"ActiveWorkbook"
etc etc
但对于 System.Text.Stringbuilder 而言并非如此,我想这是由于程序员将他的方法和属性暴露给外部的方式。
可悲的是,我认为在 vbscript 中直接使用 System.String 是不可能的。