我有这个功能:
Function GetFullNameCSV() As String
GetFullNameCSV = Replace(ThisWorkbook.FullName, ".xlsm", ".txt")
End Function
如果代码看起来像硬编码:
Filename:= "C:\directory\filename.txt"
我可以用它替换它并获得相同的结果:
Filename:= GetFullNameCSV()
在此字符串的情况下出现问题:
Connection:= "TEXT;C:\directory\filename.txt"
我需要使用字符串连接,猜测如下:
Connection:= "\"TEXT;+GetFullNameCSV()+\""
我需要使用哪些代码?谢谢。
答案 0 :(得分:3)
假设所有部分始终用;
分隔,只需将字符串拆分为部分,然后进行更改,然后再将它们连接在一起。
所以对于你的样本我觉得它会是这样的(请注意,从内存写入,所以可能不完全正确):
Dim parts() as String
parts = Split(str, ";")
parts(2) = GetFullNameCSV() ' assuming that part 2 is the one you want to replace
str = Join(parts, ";")