2013-10-02 83 views
0
Sub openwb() 

Dim x260path As String 

x260path = "E:\sarath\PTMetrics\20131002\D8 L538-L550 16MY\D8 L538-L550_16MY_Powertrain Metrics_" & Format(Date, "YYYYMMDD") - 1 

Workbooks("x260path").Activate 

ActiveWorkbook.SaveAs ["E:\sarath\PTMetrics\20131002\D8 L538-L550 16MY\D8 L538-L550_16MY_Powertrain Metrics_" & Format(Date, "YYYYMMDD")] 

Debug.Print x260path 

End Sub 

這裏,當我執行時,錯誤說「下標超出範圍」。而且它出現在第4行。當我使用'工作簿'來聲明'x260path'而不是字符串時,它會在第3行顯示另一個錯誤,說「對象變量或塊變量未設置」。你能幫助嗎?爲什麼會發生這種情況?如何將字符串轉換爲工作簿名稱

回答

0

要激活工作簿,您需要設置對工作簿名稱的引用,而不是工作簿的完整路徑&名稱。因此,你的x260path變量你需要得到唯一的名字。有幾種可能的方式來做到這一點。這是我剛纔想到的:

Dim x260path As String 

x260path = "E:\sarath\PTMetrics\20131002\D8 L538-L550 16MY\D8 L538-L550_16MY_Powertrain Metrics_" & Format(Date, "YYYYMMDD") - 1 

Dim x260name As String 
x260name = Split(x260path, "\")(UBound(Split(x260path, "\"))) 

Workbooks(x260name).Activate 

'the rest of your code here 
相關問題