2013-06-03 76 views
2

全部。我的代碼是這樣的:VBA字符串變量不會在字符串連接中放置常量字符串值

Sub mySub 

Public Const strVarA As String = "AA" 
Public Const strVarB As String = "BB" 
Public Const strVarC As String = "CC" 

Dim myStrArray() As String 
Dim myString As String 
myStrArray = ["strVarA", "strVarB", "strVarC"] 

For i = 0 To 2 
    myURL = "http://www.yahoo.com/news/" & myStrArray(i) & ".html" <--- Here, wrong 
    '//do something. 
Next i 

End Sub 

我的目的是在for循環,myStrArray(0)應該把它的恆定值 「AA」 的URL, 這樣的:

"http://www.yahoo.com/news/AA.html" 

因爲URL在其鏈接中使用「AA」。但是,代碼始終把 「strVarA」,像這樣:

"http://www.yahoo.com/news/strVarA.html" 

當環路myStrArray(1),它應該把 「BB」 的網址類似,myStrArray(2)應該把 「CC」 的URL。我嘗試了很多方法,沒有運氣。有人有這方面的經驗和建議嗎?謝謝!

回答

0

試試下面的代碼:

Sub mySub() 

Const strVarA As String = "AA" 
Const strVarB As String = "BB" 
Const strVarC As String = "CC" 

'Dim myStrArray() As String 
Dim myString As String 
myStrArray = Array("strVarA", "strVarB", "strVarC") 

For i = LBound(myStrArray) To UBound(myStrArray) 
    myURL = "http://www.yahoo.com/news/" & myStrArray(i) & ".html" 
    '//do something. 
Next i 

End Sub 

enter image description here

評論

Sub mySub() 

    Dim myStrArray As Variant 
    myStrArray = Array("AA", "BB", "CC") 

    For i = LBound(myStrArray) To UBound(myStrArray) 
     myurl = "http://www.yahoo.com/news/" & myStrArray(i) & ".html" 
     MsgBox myurl 
    Next 

End Sub 
+0

桑托斯後更新,感謝您的快速回復。但我試過了,沒有運氣,結果和我一樣。關鍵是如何將字符串轉換爲具有相同名稱的變量。對於我的代碼,即將字符串「strVarA」轉換爲變量strVarA。這會工作,我已經嘗試過: myURL = 「http://www.yahoo.com/news/」 &strVarA& 「html的」 它給了我: myURL =「HTTP:// WWW。 yahoo.com/news/AA.html「 這是正確的網址。 –

+0

@JimXie請更新代碼。 – Santosh

+0

Santosh,實際上我將所有常量語句放在同一個工作簿中的一個名爲mConstants的模塊中。 –