乐筑天下

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

将初始打开目录设置为具有给定名称的文件夹

[复制链接]

48

主题

277

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
481
发表于 2007-3-21 15:29:35 | 显示全部楼层 |阅读模式
好的,让我解释一下大局,这样才有意义。我们有一个例程,将更新多个文件中的属性。当打开的对话框出现时,它会转到下面的文件夹。本人'我想我希望它开始在图纸文件夹,因为我们都有一个文件夹,其中包含我们的图纸。问题是我们没有't所有文件夹都在同一个驱动器上。对于一些人来说,这是在他们的C:和其他人在他们的D:。有没有一种方法我可以只指定图形,它会在C:或D:中找到它
myOpen。InitDir="一: \HOME\cadfiles\ACAD\LSP“'设置初始文件夹
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-3-21 15:40:17 | 显示全部楼层
如果路径相同,您可以简单地遍历所有驱动器
  1. For X = 65 to 90
  2.    rVal = Dir(chr(X) & ":\Mypath\MyFile.ext")
  3.    If rVal  "" Then
  4.      X = 91
  5.    End If
  6. Next X
这将需要一些错误检查,因为如果驱动器不存在或未就绪,它将失败。但它将在所有驱动器A-Z上找到它
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
481
发表于 2007-3-21 15:57:38 | 显示全部楼层
Keith我四处打听了一下,每个人的D上都有这个文件夹:除了一个在E上有这个文件夹的人:
这件棘手的事我忘了提,因为我刚刚意识到了。我们不是在服务器上工作,而是作为一个工作组
我们每个人都被映射到另一个绘图文件夹,那么有没有办法只查找特定的驱动器号?
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-3-21 16:07:01 | 显示全部楼层
当然…
  1. For X = 67 to 69
  2.    rVal = Dir(chr(X) & ":\Mypath\MyFile.ext")
  3.    If rVal  "" Then
  4.      X = 70
  5.    End If
  6. Next X
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
481
发表于 2007-3-21 16:25:35 | 显示全部楼层
keith我正在努力解决这个问题,但出现了错误。私有函数行高亮显示,它一直高亮显示x,所以我想我可以将所有发生的事情都更改为getfiles,但现在它高亮显示了rVal。我搞砸了什么
  1. 'Display an open dialog, adds selected files to an array
  2. Private Function GetFiles() As Variant
  3.   'Stores the object created by the CommonDialog class
  4.   Dim myOpen As CommonDialogProject.CommonDialog
  5.   Set myOpen = CommonDialogProject.Init 'Create the object
  6.   
  7.   myOpen.DialogTitle = "Select drawings" 'Change the title
  8.   myOpen.Filter = "AutoCAD Drawing files (*.dwg)|*.dwg|" & _
  9.                           "AutoCAD Drawing template files (*.dwt)|*.dwt"
  10.     myOpen.DefaultExt = "dwg"
  11.   'Set flags to limit behavior of the dialog box
  12.   myOpen.Flags = OFN_ALLOWMULTISELECT + _
  13.                  OFN_EXPLORER + _
  14.                  OFN_FILEMUSTEXIST + _
  15.                  OFN_HIDEREADONLY + _
  16.                  OFN_PATHMUSTEXIST
  17.   For GetFiles = 67 To 69
  18.    rVal = Dir(Chr(GetFiles) & ":\Drawings")
  19.    If rVal  "" Then
  20.      GetFiles = 70
  21.    End If
  22. Next GetFiles
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-3-21 16:37:07 | 显示全部楼层
你可以't那样做….将我提供的代码完全放在一个函数中。无论rVal的值是什么,都将是默认目录位置的路径。将该值设置为“浏览文件夹”API中的默认目录
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
481
发表于 2007-3-22 08:37:53 | 显示全部楼层
基思对不起,但我'我对此很陌生,可以#039;我不知道怎么做。我想我所要做的就是在底部创建一个新函数;默认文件夹;然后说initdir=defaultfolder,但它'它不工作。你或其他人能帮我解决这最后一点吗。谢谢
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-3-22 09:02:54 | 显示全部楼层
将此功能作为单独的功能添加到CommonDialog模块中
  1. Private Function FindPath (ByVal path As String) As String
  2. Dim X As Integer
  3. For X = 67 to 69
  4.    rVal = Dir(Chr(X) & ":" & path & "\*.*")
  5.    If rVal  "" Then
  6.      FindPath = Chr(X) & ":" & path
  7.      X = 70
  8.    Else
  9.      FindPath = "C:"
  10.    End If
  11. Next X
  12. End Function
现在,在CommonDialog函数中,添加(在显示表单之前的最开始处)
  1. MyOpen.InitDir = FindPath ("path\to\files\no\leading\or\trailing\backslashes")
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
481
发表于 2007-3-22 10:11:02 | 显示全部楼层
yikes keith i'我还是不明白。该例程利用CommonDialog。dvb使'我把你给我的钻头放在那里(见下文)。第二位是i'我不清楚。这一行最初在另一个名为Updateattribute的文件中。我试着把它放在开头,但我35;039;我不太明白你的意思;在开始展示表格之前
I'm困惑
  1. Option Explicit
  2. Public Function Init() As CommonDialog
  3. Set Init = New CommonDialog
  4. End Function
  5. Private Function FindPath(ByVal path As String) As String
  6. Dim X As Integer
  7. For X = 67 To 69
  8.    rVal = Dir(Chr(X) & ":" & path & "\*.*")
  9.    If rVal  "" Then
  10.      FindPath = Chr(X) & ":" & path
  11.      X = 70
  12.    Else
  13.      FindPath = "C:"
  14.    End If
  15. Next X
  16. End Function
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-3-22 10:21:16 | 显示全部楼层
哦..所以它们在不同的模块中..将FindPath函数与公共对话框的代码放在同一个模块中…例如,您将从同一模块调用它。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 14:29 , Processed in 1.792486 second(s), 72 queries .

© 2020-2025 乐筑天下

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