乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 134|回复: 11

删除和添加支持路径

[复制链接]
998

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2007-9-27 15:32:42 | 显示全部楼层 |阅读模式
您好,在下面的示例中,我只是根据需要删除和添加支持路径
我遇到的问题是,如果我添加一条路径(即NewPath(0)="C: \")
然后,如果要手动删除选项文件中的新路径,请再次运行宏,并从宏中删除该路径(即新路径(0)=&quot")
它仍然会写新的路径,在上面的例子中是C:\
我能想到的唯一一件事是,有一个变量保持在该路径上,我怀疑它是Currpaths,但我不确定
有人能帮我解决这个问题吗
谢谢你,马克
  1. Sub DeleteAndAddFileSearchPaths()
  2. 'DeletePaths
  3. Set WshNetwork = CreateObject("WScript.Network")
  4. Username = WshNetwork.Username
  5. Set Preferences = ThisDrawing.Application.Preferences
  6. CurrPaths = Preferences.Files.SupportPath
  7. On Error Resume Next
  8. 'Paths you want to delete
  9. DeletePath(0) = "I:\Path\Path"
  10. DeletePath(1) = "K:\Path\Path"
  11. DeletePath(2) = ""
  12. DeletePath(3) = ""
  13. DeletePath(4) = ""
  14.                  
  15.                
  16. For Dpcount = 0 To 5
  17. CurrPaths = Replace(CurrPaths, DeletePath(Dpcount), "", 1, vbTextCompare)
  18. Next Dpcount
  19. Preferences.Files.SupportPath = CurrPaths
  20. 'Add Paths
  21. NewPath(0) = ""
  22. NewPath(1) = ""
  23. NewPath(2) = ""
  24. NewPath(3) = ""
  25. NewPath(4) = ""
  26. For Pcount = 0 To 5
  27. 'Paths you want to add
  28. If NewPath(Pcount)  0 Then
  29.   Allpaths = Allpaths & ";" & CurrPaths & ";" & NewPath(Pcount)
  30. End If
  31. Next Pcount
  32. Preferences.Files.SupportPath = Allpaths
  33. End Sub


回复

使用道具 举报

0

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
13
发表于 2007-9-27 15:41:26 | 显示全部楼层
我不知道这是否有帮助,但我使用1个字符串作为我正在寻找的主要路径,即strMainPath=“;c: \ PF\Autocad\字体;c: \PF\Autocad\支持;等等etc“;然后在启动时添加我想要的路径 我还使用Instr()搜索现有路径,以检查是否需要添加其他路径。
回复

使用道具 举报

0

主题

9

帖子

5

银币

初来乍到

Rank: 1

铜币
12
发表于 2007-9-27 15:55:17 | 显示全部楼层
strMainpath=Application.Preferences.Files.SupportPath[i] 嘿CM'我不确定Instr()是什么,但听起来很有趣
在我的例子中,我想如果我能在新路径被写入后清除newpaths变量,这将解决它,除非你不能对作为数组的变量说=什么
I'我甚至不确定我可以在字符串变量上使用这种方法
那么,我如何清除newpath变量呢
你觉得这样行吗
谢谢Mark
回复

使用道具 举报

0

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2007-9-27 16:03:51 | 显示全部楼层
当应用程序完成或失去作用域时,Newpath应该清除 您使用了多少条路径,需要阵列吗 我问的原因是,上次我使用数组时,我遇到了一个类似的问题,基思告诉我我不能'我不想做什么,因为数组有限 我是雷迪姆'但是,这可能是相同的 至于将其设置为nothing,那么Newpath(0)=“呢&引用&nbsp
请注意该设置中的空白
回复

使用道具 举报

0

主题

13

帖子

5

银币

初来乍到

Rank: 1

铜币
14
发表于 2007-9-27 16:10:33 | 显示全部楼层
或者Newpath=Null?
回复

使用道具 举报

0

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
11
发表于 2007-9-27 16:11:05 | 显示全部楼层
它只是返回您搜索的字符串的位置 我在supportpath中查找文字数据,然后;D“;是字符串中的第89个字母 所以你用了一个
  1. IF Not Instr(1,path,"STRyouARElookingFOR",vbtextcompare) > 0 then
  2. AddPath   
  3. Else
  4. DoNothing
  5. End If
回复

使用道具 举报

0

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-9-27 16:19:41 | 显示全部楼层
如果您没有'我不知道,如果你输入InStr,高亮显示它并点击F1,它会给你我引用的页面。
回复

使用道具 举报

0

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
8
发表于 2007-9-27 16:22:02 | 显示全部楼层

是的,先生
我决定继续,只需清除所有正在写入和删除路径的变量
  1. 'Clear all Path Variables
  2. CurrPaths = Null
  3. DeletePath(0) = Null
  4. NewPath(5) = Null
  5. Allpaths = Null
将变量设置为零(对于obj)和Null(对于字符串)是一个很好的编程习惯;但这是一个很好的例子,说明为什么需要这样做;尤其是“;如果在不关闭项目的情况下反复运行宏。在您关闭项目或将其设置为null或nothing之前,变量必须保留上次写入它的信息(在内存中)
至于InStr函数,这是一个很好的函数,我必须记住这一点,并在某个时候使用它。至于数组,我认为它们非常强大和高效,我从来没有遇到过问题,除非有一次我直接将路径写入注册表
在该VBScipt中,我使用了3个数组和3个工作查找中的2个
对于第三个,我刚刚折叠,最后使用了。regwrite路径(&p)&引用&引用&路径(&P)&引用&引用;路径(&P)&引用&引用
它完成了任务
Keith B.向我解释了关于分裂路径的问题,这很有趣,但我不太确定实现这一点的精确方法,所以我留下了足够好的信息
你听说过斯普利特吗
再次感谢,马克
回复

使用道具 举报

0

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-9-27 17:11:17 | 显示全部楼层
是的,我听说过,但从未用过 我不知道它是否在VBA中可用 我通常使用Left()Mid()和Right()分割字符串
回复

使用道具 举报

0

主题

12

帖子

5

银币

初来乍到

Rank: 1

铜币
12
发表于 2007-9-27 17:19:44 | 显示全部楼层

啊,是的,它们非常有用,但我认为拆分是在不同的背景下使用的
我会给你一个更好的定义,请记住,如果它可以在VB或VBScripting中使用,你很有可能在VBA中使用它,正如你在我的代码中看到的那样,我经常使用VBScription代码
你对VBScripting做得多吗?微软在他们的网站上有一个html格式的免费用户指南
如果你有VBA,那么VBScripting真的很容易
脚本代码的好处在于,你可以在应用程序中执行Windows(系统)操作,比如将文件从一个位置复制到另一个位置,如果文件存在,则写入文本文件,这非常酷
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 11:19 , Processed in 1.384765 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表