Excel 如何将字符串转换为工作簿名称

Excel 如何将字符串转换为工作簿名称,excel,vba,Excel,Vba,在这里,当我执行时,一个错误是“下标超出范围”。它出现在第4行。当我使用“工作簿”来声明“x260path”而不是字符串时,它在第3行显示另一个错误,即“对象变量或未设置块变量”。您能帮忙吗?为什么会发生这种情况?要激活工作簿,您需要将引用设置为工作簿的名称,而不是工作簿的完整路径和名称。因此,对于x260path变量,您只需要获取名称。这样做的方法很少。这是我刚刚想到的: Sub openwb() Dim x260path As String x260path = "E:\sarath\P

在这里,当我执行时,一个错误是“下标超出范围”。它出现在第4行。当我使用“工作簿”来声明“x260path”而不是字符串时,它在第3行显示另一个错误,即“对象变量或未设置块变量”。您能帮忙吗?为什么会发生这种情况?

要激活工作簿,您需要将引用设置为工作簿的名称,而不是工作簿的完整路径和名称。因此,对于
x260path
变量,您只需要获取名称。这样做的方法很少。这是我刚刚想到的:

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
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