明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3814|回复: 8

如何调用cad系统的打开文件对话框?

[复制链接]
发表于 2005-3-28 12:35:00 | 显示全部楼层 |阅读模式
如何调用cad系统的打开文件对话框?可以同时选择多个文件。
发表于 2005-3-28 22:28:00 | 显示全部楼层
发表于 2007-8-3 16:12:00 | 显示全部楼层
没找到答案,望高人指点
发表于 2007-8-6 09:14:00 | 显示全部楼层

在vba菜单中,工程->组件 中加入microsoft common dialog,你再查查microsoft common dialog的用法.

发表于 2007-8-6 09:54:00 | 显示全部楼层
yadg0发表于2007-8-6 9:14:00在vba菜单中,工程->组件 中加入microsoft common dialog,你再查查microsoft common dialog的用法.

This control is not licensed for all computers

发表于 2007-8-9 09:08:00 | 显示全部楼层

也可以使用API,在CAD VBA二次开发中写的非常详细.

发表于 2007-11-9 19:54:00 | 显示全部楼层
问题是,我的VBA中根本没有“工程”这个菜单项啊?
发表于 2010-6-17 18:48:00 | 显示全部楼层
将filedia值设置为1。
发表于 2010-6-20 20:33:00 | 显示全部楼层

新建一个用户窗体,在该窗体上添加一个按键控件,一个列表控件,一个通用对话框控件.然后添加如下代码,即可实现多文件选取,并将选取的文件的文件名添加到列表控件中:

Private Sub cmd_添加_Click()
    Dim I As Integer
    Dim Y As Integer
    Dim Z As Integer
    Dim FileNames() As String
   
    On Error GoTo errHandle
    With comDlg
        .CancelError = True
        .MaxFileSize = 32767
        '&H4        隐藏只读复选框
        '&H200      允许多重选择
        '&H8000     不能具有只读属性,也不能在写保护目录下面
        '&H80000    类似资源管理器的打开
        '&H100000   不要间接引用外壳链接(也称作快捷方式)
        .flags = &H4 Or &H200 Or &H8000 Or &H80000 Or &H100000
        .DialogTitle = "选择图形文件"
        .Filter = "图形文件(*.dwg)|*.dwg|所有文件(*.*)|*.*"
        .fileName = ""
        .ShowOpen
    End With
    comDlg.fileName = comDlg.fileName & Chr(0)  '这些文件名是用空字符Chr(0)分隔符,而不是空格分隔符隔开
   
    Z = 1
    For I = 1 To Len(comDlg.fileName)
        'InStr函数,返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
        '语法 InStr(起点位置, string1, string2)
        I = InStr(Z, comDlg.fileName, Chr(0))
        If I = 0 Then Exit For
        ReDim Preserve FileNames(Y)
        'Mid函数,返回 Variant (String),其中包含字符串中指定数量的字符。语法 Mid(string, start[, length])
        FileNames(Y) = Mid(comDlg.fileName, Z, I - Z)
        Z = I + 1
        Y = Y + 1
    Next I

    '向列表框中添加对象
    Dim count As Integer
    count = Lst_文件表.ListCount
    If Y = 1 Then
        Lst_文件表.AddItem FileNames(Y - 1), count
    Else
        For I = 1 To Y - 1
            FileNames(I) = FileNames(0) & "\" & FileNames(I)
            Lst_文件表.AddItem FileNames(I), I - 1 + count
        Next I
    End If

errHandle:
End Sub

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 22:42 , Processed in 0.192590 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表