删除不需要的支持路径
我写了一些代码来删除我不再需要的支持路径。我正在使用替换函数,但我知道我一定做错了什么,因为它“应该”保留我当前的路径并删除要删除的指定路径。由于某种原因,它也删除了我当前的一些路径。
我知道它一定是我的替换函数中的某个东西,但我不确定是什么。
如果有人能帮我弄清楚,我将不胜感激。
谢谢
Mark
Sub DeleteFileSearchPaths()
Dim CurrPaths, DeletePath(5), NewPaths As String
Dim Preferences As AcadPreferences
Dim dpcount As Integer
Set Preferences = ThisDrawing.Application.Preferences
CurrPaths = Preferences.Files.SupportPath
'Paths you want to delete
DeletePath(0) = "I:\PATH\PATH"
DeletePath(1) = "K:\PATH\PATH"
DeletePath(2) = ""
DeletePath(3) = ""
DeletePath(4) = ""
For dpcount = 0 To 4
NewPaths = Replace(NewPaths, CurrPaths, DeletePath(5), 1, vbTextCompare)
Next dpcount
Preferences.Files.SupportPath = NewPaths
End Sub
**** Hidden Message ***** NewPaths=Replace(NewPaths,currpath,DeletePath(5),1,vbTextCompare)
1)这里您使用NewPaths作为搜索字符串,但它是空的,因此您将删除路径
2)currpath现在是您的查找字符串,错误
3)DeletePath(5)不是字符串,如果正确调暗,则它是字符串数组
试试这个(您仍然需要获得“;”正确)
将DeletePath(5)设置为字符串
NewPaths=Replace(currpath,deleteppath(dpcount),“”,1,vbTextCompare)
嘿,布莱
是的,我认为你是对的,我不认为我做了正确的替换功能,这就是为什么我遇到了问题。
是的,它本质上应该是当前路径 - 删除路径,我认为您正在建议。
另外,你是对的,我确实需要解决分号。
我想这就是我需要的:
NewPaths = Replace(CurrPaths &";" , DeletePath(dpcount), "", 1, vbTextCompare)
我们将看到
谢谢你
马克
布莱,
你的建议不起作用:
NewPaths = Replace(CurrPaths, DeletePath(dpcount), "", 1, vbTextCompare)
还有其他建议吗?我将不胜感激
标记
嗯,为什么我一开始没想到这个
它现在工作得很完美
答案如下:
Sub DeleteFileSearchPaths()
Dim CurrPaths, DeletePath(5)
Dim Preferences As AcadPreferences
Dim dpcount As Integer
Set Preferences = ThisDrawing.Application.Preferences
CurrPaths = Preferences.Files.SupportPath
'Paths you want to delete
DeletePath(0) = "I:\Path\Path"
DeletePath(1) = "K:\Path\Path"
DeletePath(2) = ""
DeletePath(3) = ""
DeletePath(4) = ""
For dpcount = 0 To 4
CurrPaths = Replace(CurrPaths, DeletePath(dpcount), "", 1, vbTextCompare)
Next dpcount
Preferences.Files.SupportPath = CurrPaths
End Sub
我们忽略了显而易见的问题;Currpaths是用于保存当前支持路径的变量集
CurrPaths = Preferences.Files.SupportPath
在这种情况下,当使用replace函数时,我们只想将currpath(保存当前路径)替换为currpath=currpath-deletepath
最终结果:
Preferences.Files.SupportPath = CurrPaths(currpaths = currpaths - deletepaths)
我希望这有意义
马克 干得好。
嗯,谢谢你
页:
[1]