AutoCAD2Excel VBA Examples (1 người xem)

  • Thread starter Thread starter hai2hai
  • Ngày gửi Ngày gửi
Liên hệ QC

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

hai2hai

VNUNi®
Thành viên danh dự
Tham gia
14/6/06
Bài viết
1,137
Được thích
2,297
Nghề nghiệp
Tư vấn giải pháp bán lẻ
AutoCAD2Excel VBA Examples

Đây là 1 ví dụ nhằm tính toán độ dài của hình đa giác, của các đường thẳng và tạo ra các thực thể trong Excel Spreadsheet.
 

File đính kèm

Bác hai2hai ơi, không hiểu liên kết giữa Excel với AutoCad đời bao nhiêu mà nó báo lỗi (em dùng office2003, AutoCad 2004), bác có thể sửa cho phù hợp được không? *****
 
PhanTuHuong đã viết:
Bác hai2hai ơi, không hiểu liên kết giữa Excel với AutoCad đời bao nhiêu mà nó báo lỗi (em dùng office2003, AutoCad 2004), bác có thể sửa cho phù hợp được không? *****

Mình chỉ sưu tầm code liên quan đến Excel cho nó phong phú thôi chứ cả Excel và Autocad mình đều ... nothing (Với lại, trong máy tính của mình gần như ko bao giờ cài AutoCad vì thực sự ko có nhu cầu gì cả). Bạn thử kiểm tra lại xem trong code nó viết gì. Nếu nó dùng OLE Automation (add reference) thì chỉ việc add lại reference cho đúng phiên bản Autocad hiện thời hoặc sử dụng cách viết late bound object. Đó là mình chỉ đoán thế thôi chứ thực tình mình...chưa mở cái file đó ra :P
 
Lần chỉnh sửa cuối:
Mình vừa kiểm tra lại code của file đó (Đây là 1 trong số ít lần mình mở code của Excel ra đấy) và thấy lỗi đúng như mình vừa dự đoán ở trên.

Đó là việc cái file Excel đó đã sử dụng (reference) tới AutoCad 2000 chứ ko phải v2004. Như vậy, công việc của bạn rất đơn giản là remove cái missing reference đó đi và thay bằng reference tới AutoCad 2004 thì chắc là chạy được.

Cheers!

PS: Về sau nếu bạn thấy việc lỗi do missing reference gây ra như vừa rồi thì cứ dự đoán như mình ấy. Khi bạn thấy lỗi "cant find project or library" ở dòng khai báo 1 object thì bạn sẽ biết ngay đó là cái lỗi missing reference do incorrect ActiveX DLL or OLE Automation server's version or mising the OLE Automation server or ActiveX DLL. Nếu các bạn hiểu cách sử dụng late bound object và early bouding object thì bạn sẽ hiểu tai sao lại có dự đoán ra mấy lỗi trên ngay ấy mà.
 
Nhân tiện cho hỏi cách viết để tạo một đường ghi kích thước của một spline, chữ cũng fải uốn lượn theo spline.
Thanks!
 
Bạn thử google: "spline + VB" xem sao. Mình thấy có nhiều ví dụ đấy. Mình thì ko sành (điệu) về món đó rồi. Chắc có PTH có thể biết chuyện đó.
 
Đúng là đánh đu theo VBA của AutoCad mệt nhỉ, AutoCad cứ ra liên tục, do đó các đối tượng (Object) cũng thay đổi theo, mệt! :=\+
 
PhanTuHuong đã viết:
Đúng là đánh đu theo VBA của AutoCad mệt nhỉ, AutoCad cứ ra liên tục, do đó các đối tượng (Object) cũng thay đổi theo, mệt! :=\+

Sử dụng Late bound Object hoặc có nhiều cách để thậm chí có thể add reference at runtime. Nói chung là mấy chuyển thay đổi version giải quyết đơn giản ấy mà.
 
Diễn đàn cho mình hỏi : Làm cách nào để mở chương trình CAD bằng EXCE với. Xin cảm ơn diễn đàn
 
Để gọi một chương trình khác bằng excel thì bạn sử dụng lệnh shell đi nha
cú pháp :
dim goi
goi=shell("dường dẫn tớii file cài đặt cad.exe cài trong máy bạn", vbNormalFocus)

các chương trình khác cũng gọi tương tự.
 
Dùng cái này như thế nào vậy các bác
Ai biết chỉ em với
Thanks
 
anh mở excel ra nhấn Atl F11 để mở cửa sổ Visual basic editor ra sau đó nhấp đôi chuột vào this WorkBook rồi cho đoạn code đó vào chỗ này
Private Sub Workbook_Open()
....
End Sub

Lưu lại và thoát từ lần sau mỗi khi anh khởi động excel thì chương trình đó lại tự động mở ra theo. Còn ví dụ đường dẫn đến file excel chẳng hạn :
C:\Program Files\Windows Media Player\wmplayer.exe khi chèn cái đó thì mỗi lần mở excel thì chương trình nghe nhạc nó tự mở theo cho anh.
 
em làm úp hộ anh ví dụ rồi. em dùng bản ACAD 2004 nên có thể đuờng dẫn sẽ khác của anh. Khi anh mở file excel thì chương trình acad nó sẽ tự đôngj mở theo. Lần sau có câu hỏi gì mong anh đặt trực tiếp lên diễn đàn. Chúc anh làm quen tốt với VBA!
 

File đính kèm

Bạn tạo đường dẫn chứa file Acad.exe trong VBA excel
VD:
Private Sub Workbook_Open()
shell c:\...\acad.exe
End Sub
thế là khi mở excel là acad khởi động cùng luôn(Chú ý phải đúng cú pháp lệnh shell nhé). chúc thanh công
 
hôm nay em mới bít điều này, cảm ơn các bác
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom