乐筑天下

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

求教大神,在CAD VBA程序里面如何打开这个CAD文件路径下的一个excel文件

[复制链接]

6

主题

15

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2017-8-15 16:27:00 | 显示全部楼层 |阅读模式
如题,CAD文件夹里面包含一个excel文件,如何利用CAD 里面的VBA程序打开这个excel文件呢
回复

使用道具 举报

6

主题

24

帖子

8

银币

初来乍到

Rank: 1

铜币
48
发表于 2017-8-16 10:13:00 | 显示全部楼层
  1. (defun c:tt(/ CAD DIR DOC EXCEL WORKBOOKS X XLS)
  2.   (setq cad(vlax-get-acad-object))
  3.   (setq doc(vla-get-ActiveDocument cad))
  4.   (setq dir(vl-filename-directory(vlax-get doc 'FullName)))
  5.   (setq xls(vl-directory-files dir"*.xls*"1));xls文件列表
  6.   (setq excel(vlax-get-or-create-object "excel.application"))
  7.   (setq xls(mapcar'(lambda(x)(strcat dir "\"x))xls))
  8.   (vla-put-visible excel 1)
  9.   (if excel
  10.         (progn
  11.           (setq Workbooks(vlax-get-property excel 'Workbooks))
  12.           (foreach x xls(vlax-invoke-method WorkBooks 'Open x))
  13.           )
  14.         (list(alert"未安装excel")(exit)))
  15.   (prompt"***大懒猪荣誉出品***")
  16.   (princ)
  17.   )
回复

使用道具 举报

6

主题

15

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2017-8-16 15:57:00 | 显示全部楼层

Public Sub 导材料实验()
Dim MyPath As String
Dim objExcel As Object, objBook As Object
Dim objSheet As Excel.Workbook
Set objExcel = CreateObject("Excel.Application") '建立EXCEL对象
MyPath = Dir(ThisDrawing.Path & "\*.xls")   ' 指定路径为当前脚本目录。
Do While MyPath  "" ' 开始循环。
        Set objSheet = Workbooks.Open(ThisWorkbook.Path & "\" & MyPath)
        Set objBook = objExcel.Workbooks.Open(FilePath) '打开表格文件
   
    MyPath = Dir ' 查找下一个
Loop
End Sub
我用的你的程序,稍作修改做的,运行到Dim objSheet As Excel.Workbook
提示用户类型未定义
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2017-8-16 12:54:00 | 显示全部楼层
Sub LinkExcel(ExcelApp)
    On Error Resume Next
    Set ExcelApp = GetObject(, "Excel.application")
    If Err Then
        Err.Clear
        Set ExcelApp = CreateObject("Excel.application")
        If Err Then
            MsgBox ("不能运行Excel,请检查是否安装了Excel")
            Exit Sub
        End If
        ExcelApp.Application.Visible = True
        ExcelApp.Workbooks.Add
    End If
    ExcelApp.StatusBar = "Ready"
End Sub
回复

使用道具 举报

6

主题

15

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2017-8-15 16:45:00 | 显示全部楼层
Public Sub 导材料实验()
Dim wb As Workbook, wk As Workbook, myfile$
myfile = Dir(ThisDrawing.Path & "\*.xls")
Set wb = Workbooks.Open(ThisDrawing.Path & "\" & myfile)
Set wk = GetObject(ThisDrawing.Path & "\" & myfile)
        
End Sub
这是我一开始编的程序,结果一运行就提示类型未定义
回复

使用道具 举报

3

主题

14

帖子

7

银币

初来乍到

Rank: 1

铜币
26
发表于 2017-8-15 17:03:00 | 显示全部楼层

引用excel类库
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2017-8-15 17:04:00 | 显示全部楼层
workbooks是什么?
回复

使用道具 举报

13

主题

59

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2017-8-15 19:23:00 | 显示全部楼层
Dim MyPath As String, MyName As String
Dim objExcel As Object, objBook As Object, objSheet As Object
Set objExcel = CreateObject("Excel.Application") '建立EXCEL对象
objExcel .Visible = True'可见
MyPath = App.Path  & "\"  ' 指定路径为当前脚本目录。
MyName = Dir(MyPath, vbNormal) ' 找寻第一项。
Do While MyName  "" ' 开始循环。
    Debug.Print MyName ' 将其名称显示出来。
    if instr(lcase(MyName),".xls") then '如果MyName中的扩展名是XLS则打开表格文件
        Set objBook = objExcel.Workbooks.Open(FilePath) '打开表格文件
    endif               
    MyName = Dir ' 查找下一个
Loop
回复

使用道具 举报

6

主题

15

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2017-8-16 10:01:00 | 显示全部楼层

C:\Users\Administrator\Desktop
回复

使用道具 举报

6

主题

15

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2017-8-16 10:13:00 | 显示全部楼层

objExcel .Visible = True '可见
程序运行到这一步的时候提示无效或不合格的引用
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-4-20 00:59 , Processed in 4.077211 second(s), 84 queries .

© 2020-2025 乐筑天下

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