Sử dụng VBA trong AutoCad để liên kết với Excel (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,201
Được thích
24,664
Trong lĩnh vực kỹ thuật như trắc địa, địa chất, xây dựng, giao thông, kiến trúc, chế tạo máy,... phần mền AutoCad được sử dụng rất phổ biến. Bạn có thể sử dụng VBA trong Excel để vẽ các đối tượng hình học trong AutoCad như chủ đề đã có. Và tại sao ta lại không thể làm ngược lại?! Bạn hãy sử dụng ngôn ngữ VBA trong AutoCad để thực hiện công việc đó. Nếu bạn đã biết VBA trong Excel thì cũng nhanh chóng học được VBA trong AutoCad. Để dễ dàng so sánh giữa chúng, tôi xin giới thiệu 2 thủ tục để mở AutoCad từ Excel và ngược lại:

Mã:
Sub Mo_AutoCad()

  Dim AcaDApp As Object

  On Error Resume Next
    Set AcadApp = GetObject(, "AutoCAD.Application")
    If Err <> 0 Then
      Err.Clear
      KT = True
      Set AcadApp = CreateObject("AutoCAD.Application")
    End If
      AppActivate AcadApp.Caption
      AcadApp.Visible = True

    Set AcadApp = Nothing
End Sub

Mã:
Sub Mo_Excel()

    Dim ExcelApp As Object
    On Error Resume Next

    Set ExcelApp = GetObject(, "Excel.Application")
    If Err <> 0 Then
        Err.Clear
        Set ExcelApp = CreateObject("Excel.Application")
    End If
    ExcelApp.Visible = True
    AppActivate ExcelApp.Caption
    ExcelApp.Workbooks.Add
    
    Set ExcelApp = Nothing
End Sub
 
Nguyên văn bởi tigertiger
Hàm chr(10) là trả về khoảng trắng
Nếu thế thì bạn thử thay
& chr(10) &
bằng
& " " &

xem được không???, nếu không thì là lỗi khác

Hoặc bạn xóa lun đoạn này

PHP:
.....................  & chr(10) & ............

Thế nhé
Mình thử thay
" & chr(10) &
bằng
& " " &
chạy lại thì xuất hiện bảng> nhưng khi thay đổi các thông số trong bảng thì lại báo lỗi! VD tỷ lệ bản vẽ 1/10 thay bằng 1/100 thì lại báo lỗi can't find project or library
>>>
If Mid(Txt, i, 1) = "." Then
 
Upvote 0
sao chuyên mục này dừng tại đây nhỉ ? đang quan tâm mong các pro tiếp tục.... -->
 
Upvote 0
cảm ơn các bác đã giúp đỡ, nhưng e muốn chuyển excel sang autocad với phông và chữ hoàn toàn của autocad có được không các bác. mong các bác giúp đỡ .
 
Upvote 0
Em sử dụng đoạn mã mở Autocad bằng Excel trước đây thì nó chạy đúng, bây h chạy thi nó báo là "Microsoft Excel is waiting for another application to complete an OLE action" bây h em xử lý thế nào cho nó chạy đúng hả anh? Nếu như mở cad rồi thì nó chạy được nội dung phần sau, tức là lỗi ở câu lệnh Set AcadApp = CreateObject("AutoCAD.Application")
 
Upvote 0
Em sử dụng đoạn mã mở Autocad bằng Excel trước đây thì nó chạy đúng, bây h chạy thi nó báo là "Microsoft Excel is waiting for another application to complete an OLE action" bây h em xử lý thế nào cho nó chạy đúng hả anh? Nếu như mở cad rồi thì nó chạy được nội dung phần sau, tức là lỗi ở câu lệnh Set AcadApp = CreateObject("AutoCAD.Application")

Lỗi này bí hiểm (thỉnh thoảng mới bị thôi-thế mới mệt), tôi cũng chưa tìm ra. Điều khiển Excel từ AutoCad hoặc ngược lại, từ VB6 với Excel... cũng bị vậy.
 
Upvote 0
Lỗi này bí hiểm (thỉnh thoảng mới bị thôi-thế mới mệt), tôi cũng chưa tìm ra. Điều khiển Excel từ AutoCad hoặc ngược lại, từ VB6 với Excel... cũng bị vậy.

Em viết VBA bằng Excel 2010 64bit, sau đó cài lại bản 32bit rồi chạy VBA trên thì lỗi bây h cài lại bản 64 bit nó lại chạy bình thường, không lỗi gì cả. Chắc vấn đề là cái file DLL của 2 bản khác nhau.
 
Upvote 0
Em viết VBA bằng Excel 2010 64bit, sau đó cài lại bản 32bit rồi chạy VBA trên thì lỗi bây h cài lại bản 64 bit nó lại chạy bình thường, không lỗi gì cả. Chắc vấn đề là cái file DLL của 2 bản khác nhau.

Theo tôi nghĩ lỗi này không phải do 32 hay 64 bít vì trường hợp này đã bị từ lâu rồi (tôi chỉ dùng các bản 32 bit thôi), và thỉnh thoảng mới báo lỗi chứ không phải liên tục.
 
Upvote 0
Chuyen bang tinh ễcl sang cad

Trong lĩnh vực kỹ thuật như trắc địa, địa chất, xây dựng, giao thông, kiến trúc, chế tạo máy,... phần mền AutoCad được sử dụng rất phổ biến. Bạn có thể sử dụng VBA trong Excel để vẽ các đối tượng hình học trong AutoCad như chủ đề đã có. Và tại sao ta lại không thể làm ngược lại?! Bạn hãy sử dụng ngôn ngữ VBA trong AutoCad để thực hiện công việc đó. Nếu bạn đã biết VBA trong Excel thì cũng nhanh chóng học được VBA trong AutoCad. Để dễ dàng so sánh giữa chúng, tôi xin giới thiệu 2 thủ tục để mở AutoCad từ Excel và ngược lại:

Mã:
Sub Mo_AutoCad()

  Dim AcaDApp As Object

  On Error Resume Next
    Set AcadApp = GetObject(, "AutoCAD.Application")
    If Err <> 0 Then
      Err.Clear
      KT = True
      Set AcadApp = CreateObject("AutoCAD.Application")
    End If
      AppActivate AcadApp.Caption
      AcadApp.Visible = True

    Set AcadApp = Nothing
End Sub

Mã:
Sub Mo_Excel()

    Dim ExcelApp As Object
    On Error Resume Next

    Set ExcelApp = GetObject(, "Excel.Application")
    If Err <> 0 Then
        Err.Clear
        Set ExcelApp = CreateObject("Excel.Application")
    End If
    ExcelApp.Visible = True
    AppActivate ExcelApp.Caption
    ExcelApp.Workbooks.Add
    
    Set ExcelApp = Nothing
End Sub
[/QUOTE
nhờ các cao thủ viết cho một đoạn mã chuyển (link để sửa dữ liệu bên excel thi bên cad tu cập nhật, không phải dán ) bảng tính excel sang autocad mà nền excel tương thích với nền Autocad. vì mình link bang tinh sang autocad thì có màu trắng không đẹp khi định dạng màu cho bảng tính excel màu đen cho cùng màu autocad thi in ra giấy có màu đen. thanks mấy cao thủ trước
 
Upvote 0
Các bác cho em hỏi,việc liên kết giữa Cad và Excel thì rất tiện,nhưng hiện nay em muốn dùng VBA để đọc dữ liệu trong file .txt thì bác nào có tài liệu hướng dẫn hay ví dụ nho nhỏ có thể đưa lên cho em tham khảo dc không vậy.
Rất cảm ơn mọi người!
 
Upvote 0
Trong lĩnh vực kỹ thuật như trắc địa, địa chất, xây dựng, giao thông, kiến trúc, chế tạo máy,... phần mền AutoCad được sử dụng rất phổ biến. Bạn có thể sử dụng VBA trong Excel để vẽ các đối tượng hình học trong AutoCad như chủ đề đã có. Và tại sao ta lại không thể làm ngược lại?! Bạn hãy sử dụng ngôn ngữ VBA trong AutoCad để thực hiện công việc đó. Nếu bạn đã biết VBA trong Excel thì cũng nhanh chóng học được VBA trong AutoCad. Để dễ dàng so sánh giữa chúng, tôi xin giới thiệu 2 thủ tục để mở AutoCad từ Excel và ngược lại:

Mã:
Sub Mo_AutoCad()

  Dim AcaDApp As Object

  On Error Resume Next
    Set AcadApp = GetObject(, "AutoCAD.Application")
    If Err <> 0 Then
      Err.Clear
      KT = True
      Set AcadApp = CreateObject("AutoCAD.Application")
    End If
      AppActivate AcadApp.Caption
      AcadApp.Visible = True

    Set AcadApp = Nothing
End Sub

Mã:
Sub Mo_Excel()

    Dim ExcelApp As Object
    On Error Resume Next

    Set ExcelApp = GetObject(, "Excel.Application")
    If Err <> 0 Then
        Err.Clear
        Set ExcelApp = CreateObject("Excel.Application")
    End If
    ExcelApp.Visible = True
    AppActivate ExcelApp.Caption
    ExcelApp.Workbooks.Add
    
    Set ExcelApp = Nothing
End Sub
bác hướng dẫn hay thì hay thật
nhưng vs những ng chỉ vừa mới đc tiếp xúc với CAD và còn chưa bao giờ nghe tới VBA như em thì chả hiểu 1 tí gì luôn >.<
bây giờ em đang muốn chuyển 1 vài biểu đồ từ excel qa CAD hoặc các bảng số liệu từ excel qa để tự vẽ cũng đc mà muốn bắt trc mà cũng khó + khổ qá :((
 
Lần chỉnh sửa cuối:
Upvote 0
bác hướng dẫn hay thì hay thật
nhưng vs những ng chỉ vừa mới đc tiếp xúc với CAD và còn chưa bao giờ nghe tới VBA như em thì chả hiểu 1 tí gì luôn >.<
bây giờ em đang muốn chuyển 1 vài biểu đồ từ excel qa CAD hoặc các bảng số liệu từ excel qa để tự vẽ cũng đc mà muốn bắt trc mà cũng khó + khổ qá :((

Ít nhất là bạn phải đọc cái tiêu đề thì mới phàn nàn nhé, đã không biết thì phải học, sao lại kêu ca???
 
Upvote 0
Ít nhất là bạn phải đọc cái tiêu đề thì mới phàn nàn nhé, đã không biết thì phải học, sao lại kêu ca???

thì mỗi lần này chắc động vào 1 tí thôi
còn sau này chắc gì đã động nữa
học rồi lại quên bác ak :D, trí nhớ e kém lắm
e chỉ viết đơn giản về CAD vs excel thôi, chứ có đi sâu vào đâu mà biết đc tường cả bên trong vs cái quan hệ của nó, bác cũng tl khó e qá >.<
 
Upvote 0
Chào các anh. Em cũng làm bên xây dựng, thấy chủ đề này thiết yếu quá.
Em cũng có 1 file xin được link số liệu từ excel qua cad, nhưng lại chỉ cho được qua cad 2007 mà không qua được 2018
Nhờ các bác chỉ nguyên nhân dùm em được không ạ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom