Đến nội dung


Hình ảnh
- - - - -

Nhờ Kiểm Tra Lỗi Vba


  • Please log in to reply
8 replies to this topic

#1 ngoctanvt

ngoctanvt

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 19 March 2016 - 10:45 AM

Nhờ các anh kiểm tra giúp em chương trình VBA này.

Chương trình có chức năng: chọn Polyline gốc, sau đó chọn các Polyline khác có cùng diện tích với Polyline gốc, gán layer của Polyline gốc cho các Polyline chọn sau. Vì trong bản vẽ có nhiều nhóm Polyline có diện tích bằng nhau nhưng nằm trên các layer khác nhau & ở các vị trí khác nhau. Dùng lệnh MA thì rất lâu.

Em xin cảm ơn.


  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 19 March 2016 - 02:30 PM

Nó đâu bạn ? Cái bệnh nhân mà bạn nói đó ??


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 19 March 2016 - 03:36 PM

Cái thú của lập trình là tự mình tìm ra được lỗi của chương trình.

Bạn thử Debug chưa ?

Gợi ý

15454_addtext_error.png

Mình cũng chỉ là đang học thôi, đây là những bài mình đang tập làm nên cũng chưa biết debug

Đang cố gắng học từ các bài thực hành. Cũng cố gắng suy luận mà ko ra vì cũng chưa biết nhiều

Nếu như bạn hướng dẫn lỗi ở 2 chỗ này thì đúng là cái mình ko biết rồi. vì như mình nghĩ đối với lineobject nó dùng vậy thì pl nó cũng tương tự. Khong biết cú pháp có gì khác không?

Theo mình nghĩ chỗ Stapt ở dưới nó là tham chiếu điểm chèn đã được dịnh nghĩa ở trên

Còn chỗ Stapt trên thì mình thấy nó cũng chỉ là 1 ký hiệu thôi, nó tương tự phép gán pt1=ThisDrawing.Ultility.Getpoint...

Nhờ bạn chỉ rõ hơn hoặc sửa giúp mình, mình sẽ học được từ bài của bạn.

Cảm ơn bạn 

Chắc bạn gia_bach bận bịu quá. bạn Ketxu chỉ giúp mình được không?


  • 0

#4 ngoctanvt

ngoctanvt

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 19 March 2016 - 06:02 PM

File của em đây anh.

http://www.cadviet.c..._polyline_8.txt


  • 0

#5 dinhvantrang

dinhvantrang

    biết lệnh copy

  • Members
  • PipPipPip
  • 117 Bài viết
Điểm đánh giá: 26 (tàm tạm)

Đã gửi 21 March 2016 - 05:34 PM

Gửi bạn thông tin code đây

 

Sub Match_Properties_Polyline()

 

    On Error Resume Next

    Dim varPick As Variant

    Dim SourceArea As Double

    Dim SourceLayerStr As String

    Dim SS As AcadSelectionSet

    Dim EntObj As AcadEntity

    Dim SourceObj As AcadLWPolyline

   

    ThisDrawing.Utility.GetEntity EntObj, varPick, "Pick source LWPolyline"

    'Ktra xem doi tuong Pick co phai LWpolyline ko

    If TypeOf EntObj Is AcadLWPolyline Then

        Set SourceObj = EntObj

        SourceArea = SourceObj.Area

        SourceLayerStr = SourceObj.Layer

    Else

        Exit Sub

    End If

   

    '-------------------------------------------------

    Set SS = ThisDrawing.SelectionSets("Destination")

    If Err <> 0 Then

            Err.Clear

            Set SS = ThisDrawing.SelectionSets.Add("Destination")

        Else

            SS.Clear

        End If

    Dim FilterType(0) As Integer

    Dim FilterData(0) As Variant

    FilterType(0) = 0: FilterData(0) = "LWPolyline"

    SS.SelectOnScreen FilterType, FilterData

   

    Dim DesObj As AcadLWPolyline

    For Each DesObj In SS

        If DesObj.Area = SourceArea Then

            DesObj.Layer = SourceLayerStr

            DesObj.Update

        End If

    Next

    SS.Delete

   

End Sub


  • 0

Thanks and Best Regards

Skype : dinhvantrang73


#6 ngoctanvt

ngoctanvt

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 21 March 2016 - 11:38 PM

Em cảm ơn anh Tráng.


  • 0

#7 dinhvantrang

dinhvantrang

    biết lệnh copy

  • Members
  • PipPipPip
  • 117 Bài viết
Điểm đánh giá: 26 (tàm tạm)

Đã gửi 22 March 2016 - 10:19 AM

Em cảm ơn anh Tráng.

:ph34r:  biết tên luôn mềnh luôn!


  • 0

Thanks and Best Regards

Skype : dinhvantrang73


#8 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 22 March 2016 - 06:43 PM

Mình cũng chỉ là đang học thôi, đây là những bài mình đang tập làm nên cũng chưa biết debug

Đang cố gắng học từ các bài thực hành. Cũng cố gắng suy luận mà ko ra vì cũng chưa biết nhiều

Nếu như bạn hướng dẫn lỗi ở 2 chỗ này thì đúng là cái mình ko biết rồi. vì như mình nghĩ đối với lineobject nó dùng vậy thì pl nó cũng tương tự. Khong biết cú pháp có gì khác không?

Theo mình nghĩ chỗ Stapt ở dưới nó là tham chiếu điểm chèn đã được dịnh nghĩa ở trên

Còn chỗ Stapt trên thì mình thấy nó cũng chỉ là 1 ký hiệu thôi, nó tương tự phép gán pt1=ThisDrawing.Ultility.Getpoint...

Nhờ bạn chỉ rõ hơn hoặc sửa giúp mình, mình sẽ học được từ bài của bạn.

Cảm ơn bạn 

Chắc bạn gia_bach bận bịu quá. bạn Ketxu chỉ giúp mình được không?

không có ai giúp dc mình sao? là các bạn ko có hứng giúp hay ko giúp dc vậy.

Vậy trên diễn đàn có bác nào dạy được BVA không mình đăng ký học.


  • 0

#9 nttrung111191

nttrung111191

    biết pan

  • Members
  • Pip
  • 5 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 August 2016 - 08:25 PM

không có ai giúp dc mình sao? là các bạn ko có hứng giúp hay ko giúp dc vậy.

Vậy trên diễn đàn có bác nào dạy được BVA không mình đăng ký học.

Có đấy bạn. Hiện tại thì chưa có khóa học lập trình cho autocad, bên mình sẽ cho triển khai trong thời gian tới. Tạm thời mình giới thiệu bạn khóa học lập trình VBA cơ bản và khóa học lập trình VBA Excel trước nhé.  :)  :)  :)

 

Khóa học lập trình VBA cơ bản: http://www.huytraini...ng-tap-1-co-ban

Khóa học lập trình VBA Excel: http://www.huytraini...-dung-cho-excel


  • 0

Blog VBA xây dựng: http://vbaxd.blogspot.com. Hướng dẫn lập trình mở rộng tính năng cho Autocad và Excel bằng VBA.