添加两个variables的名称并创build一个新的dynamicvariables

我写了一个代码,我有一个for循环,我给variables(名为VType )一些价值。 For循环用于一系列的ivariables。 现在我想通过连接两个variables的名字来创build一个新的variables。 例如,如果我= 1,那么我想使variablesVType1。 这是我的一段代码。

 nrec = Split(Split(ie.document.body.innerHTML, "Found <strong>")(1), "</strong> records")(0) If nrec = 1 Then lnk.Click Else For j = 1 To nrec link.Click Do While ie.readyState <> 4: Wait 5: Loop Application.Wait (Now + TimeValue("0:00:01")) 'VType , j = GetType 'Application.Wait (Now + TimeValue("0:00:01")) IMO , j = GetValue("IMO:") 'MMSI = GetValue("MMSI:") YBuilt , j = GetValue("Year Built:") Flag , j = GetValue("Flag:") DWT , j = GetValue("Deadweight:") Next j num = "1 - " & IMO1 For i = 2 To nrec num = num & vbCrLf & i & "abc" Next I fin = InputBox(num, nrec & " records found for a. please select right one.") Exit For End If 

没有办法直接做你正在请求的东西。 但是,您可以使用数组来获得类似的结果。 数组不是一个可以在单个发布的答案中解释的主题,但是如果你做了一些研究,你可能会弄清楚下面是如何有用的。

 Dim VTtyp(0 to i) as string 'while Looping... Vtype(i) = "Whatever you want stored in this round of i" 

当你的代码完成后,你将所有的字段保存为可以从这个数组中调用的variables。 一个例子是,如果你想调用与数字“2”绑定的那个,你可以input: Vtype(2) ,它将调用2次迭代中的文本。

再次,这个例子是非常简单的,有一些事情要考虑,如昏暗的大小,改变暗淡,保存arrays等,这是你将不得不进一步研究。 但是底线是, “没有办法做你正在做的事情”。

你可以使用Dictionary对象来实现这个function。 通过下面的链接了解更多关于字典对象。

https://www.tutorialspoint.com/vbscript/vbscript_dictionary_objects.htm