乐筑天下

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

[编程交流] VBA将图形添加到列表

[复制链接]

28

主题

130

帖子

126

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
154
发表于 2022-7-6 17:18:08 | 显示全部楼层 |阅读模式
我正在创建vba以批量更改图形标题栏中的属性。
 
有人能帮我从实际设置它,这样就有一个添加到要编辑的列表图纸的方法。
 
每个人都用什么做这个??
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 17:45:12 | 显示全部楼层
你可以通过一个简单描述的脚本来完成
 
打开dwg1 vbarun myprog close Y
打开dwg2 vbarun myprog close Y
打开dwg3 vbarun myprog close Y
回复

使用道具 举报

28

主题

130

帖子

126

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
154
发表于 2022-7-6 18:02:16 | 显示全部楼层
谢谢Al
 
虽然我真的希望能够将图形添加到vba对话框的列表中。。
 
我已经根据所附的图片设置了对话框。
我只需要知道如何使用“添加”按钮选择图形,然后将其添加到要编辑的列表中。
我的意思是我需要一些代码来做这件事。
 
干杯
181812mp63lz9k469146wk.jpg
回复

使用道具 举报

0

主题

132

帖子

198

银币

限制会员

铜币
-21
发表于 2022-7-6 18:10:01 | 显示全部楼层
在表单中添加一个公共对话框对象,然后浏览到该文件夹并将其返回到字符串变量txtOpenPath
 
  1. Dim objCD As New FileDialog
  2.    Dim objFileSystem As Scripting.FileSystemObject
  3.    Dim objFile As Scripting.File
  4.    Dim sFile As String
  5.    '''''''''''''''''''''''''''''''''''''''
  6.    With objCD
  7.        .Filter = "Drawing (*.dwg)|*.dwg"
  8.        .Title = "Choose a File in directory to be converted"
  9.        .OwnerHwnd = 0&
  10.        '.MultiSelect = 1
  11.    End With
  12.    
  13.    Set objFileSystem = New Scripting.FileSystemObject
  14.    sFile = objCD.ShowOpen
  15.    Set objFile = objFileSystem.GetFile(sFile)
  16.    txtOpenPath = objFile.ParentFolder
  17.    Set objFile = Nothing
  18.    Set objFileSystem = Nothing
  19.    Set objCD = Nothing
  20.    Exit Sub

 
然后我调用它来填充我的列表框中的所有文件
 
  1. Public Function FindFile( _
  2. ByVal sFol As String, _
  3. ByVal sFile As String, _
  4. ByVal iDirs As Integer, _
  5. ByVal iFiles As Integer, _
  6. ByVal bFound As Boolean, _
  7. ByRef lstBox As ListBox) _
  8. As Long
  9. '------------------------------------------------------------------------------
  10. '
  11. '
  12. '------------------------------------------------------------------------------
  13. Dim fso As New FileSystemObject
  14. Dim fld As Folder
  15. Dim tFld As Folder
  16. Dim tFil As File
  17. Dim FileName As String
  18. '''''''''''''''''''''''''''''''''''''''
  19. On Error GoTo ErrHandler
  20. Set fld = fso.GetFolder(sFol)
  21. FileName = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or _
  22. vbHidden Or vbSystem Or vbReadOnly)
  23. While Len(FileName) <> 0
  24.    FindFile = FindFile + FileLen(fso.BuildPath(fld.Path, FileName)) 'calls itself
  25.    iFiles = iFiles + 1
  26.    lstBox.AddItem fso.BuildPath(fld.Path, FileName)  ' Load ListBox
  27.    FileName = Dir()  ' Get next file
  28.       DoEvents
  29.    Wend
  30. iDirs = iDirs + 1
  31. If fld.SubFolders.Count > 0 And bFound = True Then
  32.    For Each tFld In fld.SubFolders
  33.       DoEvents
  34.       FindFile = FindFile + FindFile(tFld.Path, sFile, iDirs, iFiles, True, lstBox)
  35.    Next
  36. End If
  37.    
  38. ErrHandler:
  39. Select Case Err.Number
  40. Case 0
  41.    Err.Clear
  42. Case Else
  43.    Debug.Print Err.Number & " " & Err.description
  44.    Err.Clear
  45. End Select
  46. End Function
回复

使用道具 举报

28

主题

130

帖子

126

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
154
发表于 2022-7-6 18:21:21 | 显示全部楼层
感谢borgunit-我已经让对话框工作了,但只需要将路径传递到列表框。
 
谢谢你的帮助这是一个很好的开始-干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 16:29 , Processed in 0.431057 second(s), 64 queries .

© 2020-2025 乐筑天下

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