Chuyển dữ liệu text từ autocad sang excel?

Liên hệ QC

whiterose232

Thành viên mới
Tham gia
26/2/12
Bài viết
12
Được thích
5
Nghề nghiệp
student
Anh chị có thể giúp em vấn đề này không ạ. Em mới học VBA, cô giáo có yêu cầu chúng em viết chương trình để duyệt các đối tượng text trong bản vẽ autocad ra excel. Cụ thể đối tượng text này bao gồm cả chữ và số như dưới đây (gồm nhiều đối tượng như thế với các giá trị khác nhau)
Concrete: 20000
Steel: 40000
Bản excel sẽ phải thể hiện A1 là TT, A2 là concrete, a3 là steel, b2 là 20000. b3 là 40000.
Cô giáo em có nói là dùng split để tách chuỗi trên, em cũng đã xem 1 số chương trình và gợi ý trên diễn đàn về chủ đề tương tự nhưng em không thực sự hiểu vì 1 phần cũng chưa học và hiểu rõ về phần đó
Anh chị có thể giúp em phần này liên quan đến chương trình bẫy lỗi và hàm split với ạ.
Em cám ơn rất nhiều!
 
Anh chị có thể giúp em vấn đề này không ạ. Em mới học VBA, cô giáo có yêu cầu chúng em viết chương trình để duyệt các đối tượng text trong bản vẽ autocad ra excel. Cụ thể đối tượng text này bao gồm cả chữ và số như dưới đây (gồm nhiều đối tượng như thế với các giá trị khác nhau)
Concrete: 20000
Steel: 40000
Bản excel sẽ phải thể hiện A1 là TT, A2 là concrete, a3 là steel, b2 là 20000. b3 là 40000.
Cô giáo em có nói là dùng split để tách chuỗi trên, em cũng đã xem 1 số chương trình và gợi ý trên diễn đàn về chủ đề tương tự nhưng em không thực sự hiểu vì 1 phần cũng chưa học và hiểu rõ về phần đó
Anh chị có thể giúp em phần này liên quan đến chương trình bẫy lỗi và hàm split với ạ.
Em cám ơn rất nhiều!

Duyệt qua các text trong SS trong Acad thì chắc bạn biết rồi, gợi ý cho bạn phần tách chuỗi :

PHP:
       Split("Concrete: 20000",":")(0) --> "Concrete"
       Split("Concrete: 20000",":")(1) --> " 20000"

Tiếp tục CreateObject Excel để mở Excel

PHP:
      ActiveCell = Split("Concrete: 20000",":")(0)
      ActiveCell(,2) = Split("Concrete: 20000",":")(1)
 
Anh chị có thể giúp em vấn đề này không ạ. Em mới học VBA, cô giáo có yêu cầu chúng em viết chương trình để duyệt các đối tượng text trong bản vẽ autocad ra excel.

Cậu học trường nào mà học VBA, có phải bên Tự động hóa TK CĐ của trường ĐH GTVT không?
 
Nhưng khi duyệt trong bản vẽ cad mình phải lựa chọn đối tượng bất kỳ đúng không ạ? Như em đã hỏi thì trong bản cad của em gồm nhiều đối tượng text như vậy với những giá trị khác nhau. Nếu viết phần tách chuỗi này vào trong code VBA thì có nghĩa là có bao nhiêu text concrete thì mình viết bấy nhiêu hàm split ạ? Vậy khi mình chọn vùng duyệt thì kết quả ở excel hiện thị hết những chuỗi mình đã viết để tách chứ không phải chỉ là vùng mình duyệt đúng không ạ?
 
Lần chỉnh sửa cuối:
Vâng. Em đang học cầu đường trường GT ạ. đây là môn tự động hóa TKCĐ của chúng em à.
 
Lần chỉnh sửa cuối:
Nhưng khi duyệt trong bản vẽ cad mình phải lựa chọn đối tượng bất kỳ đúng không ạ? Như em đã hỏi thì trong bản cad của em gồm nhiều đối tượng text như vậy với những giá trị khác nhau. Nếu viết phần tách chuỗi này vào trong code VBA thì có nghĩa là có bao nhiêu text concrete thì mình viết bấy nhiêu hàm split ạ? Vậy khi mình chọn vùng duyệt thì kết quả ở excel hiện thị hết những chuỗi mình đã viết để tách chứ không phải chỉ là vùng mình duyệt đúng không ạ?

- Chọn riêng các Text : bạn dùng SelectionOnScreen với Filter là "TEXT" (Xem giáo trình).

- Khởi tạo đồi tượng Excel --> ExcelApp (Xem giáo trình).

- Duyệt qua các Text trong SelectionSet --> MySS

PHP:
For Each Obj in MySS
      ExcelApp.Range("A65000").End(XlUp)(2) = Split(Obj.TextString,":")(0)
      ExcelApp.Range("A65000").End(XlUp)(2,2) = Split(Obj.TextString,":")(1)
Next Obj

"Concrete: 20000" chỉ là mình nói ví dụ thôi, tổng quát thì nó là nội dung của TEXT đó --> Obj.TextString, và đương nhiên chỉ Split 2 lần trong vòng lặp For thôi.
 
Lần chỉnh sửa cuối:
ai biết cách nào chuyển số liệu từ bảng cad sang exel ko giúp m với.
 
Sử dụng file addins 'didg.xla' của các kỹ sư hàn quốc và làm theo hướng dẫn
https://www.youtube.com/watch?v=LP__eTdhavk
paperclip.png
Tập tin đính kèm
 
Web KT
Back
Top Bottom