lastdayvn 0 Báo cáo bài đăng Đã đăng Tháng 12 24, 2012 Thân chào anh em CADVIET.COM Em đang tập tìm hiểu VBA cho AUTOCAD, trong quá trình tiếp xúc gặp lỗi của đoạn code này em chưa rõ nguyên nhân( Ở ngay chỗ in đậm màu đỏ) Mong anh em giúp đỡ, em cám ơn Sub Ch3_CalculateDefinedArea() Dim p1 As Variant Dim p2 As Variant Dim p3 As Variant Dim p4 As Variant Dim p5 As Variant ’ Nhập vào các điểm p1 = ThisDrawing.Utility.GetPoint(, vbCrLf & "First point: ") p2 = ThisDrawing.Utility.GetPoint(p1, vbCrLf & "Second point: ") p3 = ThisDrawing.Utility.GetPoint(p2, vbCrLf & "Third point: ") p4 = ThisDrawing.Utility.GetPoint(p3, vbCrLf & "Fourth point: ") p5 = ThisDrawing.Utility.GetPoint(p4, vbCrLf & "Fifth point: ") ’ Tạo đường đa tuyến 2D từ các điểm vừa nhập Dim polyObj As AcadLWPolyline Dim vertices(0 To 9) As Double vertices(0) = p1(0): vertices(1) = p1(1) vertices(2) = p2(0): vertices(3) = p2(1) vertices(4) = p3(0): vertices(5) = p3(1) vertices(6) = p4(0): vertices(7) = p4(1) vertices(8) = p5(0): vertices(9) = p5(1) Set polyObj = ThisDrawing.ModelSpace.AddLightWeightPolyline _ (vertices) polyObj.Closed = True ThisDrawing.Application.ZoomAll ’ Tính diện tích đường đa tuyến MsgBox "The area defined the by points is " & _ polyObj.Area, , "Calculate Defined Area" End Sub Đây là em đang xem quyển dịch VBADEV và trích đoạn code từ sách này ra Thân chào anh em CADVIET.COM Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
ketxu 2.984 Báo cáo bài đăng Đã đăng Tháng 12 24, 2012 Nếu trong Code bạn nhập nguyên như vậy thì chắc chỉ lỗi ở ... dòng ghi chú của bạn thôi ^^ Mình k thấy bị lỗi gì với 1 cấu trúc rõ như vậy Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
garupro 7 Báo cáo bài đăng Đã đăng Tháng 12 29, 2012 Hay là chưa Hide form Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lastdayvn 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2012 Chưa Hide From là sao bạn? Có thể nói rõ dùm mình được không? Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lastdayvn 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2012 Đoạn code trên mình nhập báo lỗi ngay dòng đỏ mà không biết tại sao!! Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
garupro 7 Báo cáo bài đăng Đã đăng Tháng 12 30, 2012 Chưa Hide From là sao bạn? Có thể nói rõ dùm mình được không? Tức là bạn phải ẩn cái Form đi thì mới click trên Cad để lấy tọa độ được chứ , sau khi lấy xong thì bạn lại Show nó lên Đối với các hàm ThisDrawing.Utility.GetPoint ,ThisDrawing.Utility.GetAngle,ThisDrawing.Utility.GetEntity....Thì bạn phải Hide cái form đi , thì mới thao tác với Cad được Cụ thể với cái Sub bạn đưa ở trên , mình copy về và chạy ngon không vấn đề gì Bạn thử đặt đoạn Code sau vào sự kiện Click của Button : Private Sub CommandButton1_Click() Me.Hide Ch3_CalculateDefinedArea Me.Show End Sub Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
gia_bach 1.549 Báo cáo bài đăng Đã đăng Tháng 12 30, 2012 Đoạn code trên mình nhập báo lỗi ngay dòng đỏ mà không biết tại sao!! Đọc kỹ bài trả lời của Ketxu nhé. Sub Ch3_CalculateDefinedArea() Dim p1 As Variant Dim p2 As Variant Dim p3 As Variant Dim p4 As Variant Dim p5 As Variant p1 = ThisDrawing.Utility.GetPoint(, vbCrLf & "First point: ") p2 = ThisDrawing.Utility.GetPoint(p1, vbCrLf & "Second point: ") p3 = ThisDrawing.Utility.GetPoint(p2, vbCrLf & "Third point: ") p4 = ThisDrawing.Utility.GetPoint(p3, vbCrLf & "Fourth point: ") p5 = ThisDrawing.Utility.GetPoint(p4, vbCrLf & "Fifth point: ") Dim polyObj As AcadLWPolyline Dim vertices(0 To 9) As Double vertices(0) = p1(0): vertices(1) = p1(1) vertices(2) = p2(0): vertices(3) = p2(1) vertices(4) = p3(0): vertices(5) = p3(1) vertices(6) = p4(0): vertices(7) = p4(1) vertices(8) = p5(0): vertices(9) = p5(1) Set polyObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(vertices) polyObj.Closed = True ThisDrawing.Application.ZoomAll MsgBox "The area defined the by points is " & polyObj.Area, , "Calculate Defined Area" End Sub Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác