Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
vankiemquytong

Khoa file cad

Các bài được khuyến nghị

ketxu    2.652

Không bít là bạn hiền nhờ phá vì chưa phá được hay là thử xem cách này tối ưu chưa.Thực ra thì với reactor này chỉ cần bật gián tiếp thêm 1 file khác,rồi Alt F11 vào xóa béng cả đoạn code trong This Drawing thì kể như khóa đã bị bay ^^.Trong trường hợp bạn đặt pass cho đoạn code này thì chỉ cần break cũng xong ^^

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.652

Bạn hok đọc kỹ bài của mình rồi ^^ Code chạy kèm theo bản vẽ,khi dùng các lênhệnh lquan đến VBA -> sẽ thực hiện vô cùng lớn số lượng lần thông báo lỗi (1E300)->user nản mà End Process,nên bạn chỉ có thể Alt F11 ở 1 file khác và tắt modulenày đi :leluoi: Nếu có gì chưa hiểu thì cứ nhắn YH cho mình :cheers:

thattinh01986

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
xitlo2010    0

Bạn hok đọc kỹ bài của mình rồi ^^ Code chạy kèm theo bản vẽ,khi dùng các lênhệnh lquan đến VBA -> sẽ thực hiện vô cùng lớn số lượng lần thông báo lỗi (1E300)->user nản mà End Process,nên bạn chỉ có thể Alt F11 ở 1 file khác và tắt modulenày đi :leluoi: Nếu có gì chưa hiểu thì cứ nhắn YH cho mình :cheers:

thattinh01986

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
nghiautc    18

1.Mở bản vẽ bị khoá

2.Bạn mở 1 bản vẽ mới (Crlt +N)

3.Đánh lệnh vbaide trên bản vẽ mới

4.Xoá hết các dòng lệnh trong Thisdrawing đi

5.Quay lại bản vẽ bị khóa.Thích làm gì thì làm

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.652

em muốn khoá file như bác "vankiemquytong" thì làm thế nào nhỉ? các bác có thể chỉ giúp em được không? Em đã tìm trên diễn đàn rồi mà không thấy!

Bạn mở bản vẽ cần khóa, nhấn Alt+F11, chọn Autocad Object, mục ThisDrawing và copy đoạn mã sau vào đó.Xong xuôi nhấn nút Save và thoát khỏi cửa sổ Edit VBA.Save bản vẽ là OK

Option Explicit
Public mospace As AcadModelSpace
Dim paSpace As AcadPaperSpace
Dim doituongtrongmodel As Object
Dim doituongtrongpaper As Object
Private Sub AcadDocument_BeginClose()
      gan
      andoituong
End Sub

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
Dim i As Double
   If CommandName = "VBARUN" Or CommandName = "VBAMAN" Or CommandName = "VBALOAD" Or CommandName = "VBAIDE" Or CommandName = "APPLOAD" Or CommandName = "wblock" Or CommandName = "block" Or CommandName = "-block" Then
       For i = 1 To 1E+300
       MsgBox "On Error", 16 + 0, "Autocad messages"
       Next
   Else
       gan
       hiendoituong
   End If
If CommandName = "PAN" Or CommandName = "-PAN" Or CommandName = "PLOT" Or CommandName = "ZOOM" Or CommandName = "VBAIDE" Or CommandName = "OPEN" Or CommandName = "QSAVE" Or CommandName = "QNEW" Or CommandName = "NEW" Or CommandName = "QUIT" Or CommandName = "CLOSE" Or CommandName = "UNDEFINE" Then
   If CommandName = "QSAVE" Then
      gan
      andoituong
   Else
      gan
      hiendoituong
   End If
Else
   ThisDrawing.SendCommand (Chr(3) & Chr(3))
   CommandName = "cancel"
End If
End Sub
Private Sub AcadDocument_BeginSave(ByVal FileName As String)
      gan
      andoituong
End Sub
Private Sub AcadDocument_SelectionChanged()
ThisDrawing.SendCommand (Chr(3) & Chr(3))
End Sub
Private Sub hiendoituong()
   Dim sodoituongtrongmodel As Double
   Dim sodoituongtrongpaper As Double
   sodoituongtrongmodel = mospace.Count
   sodoituongtrongpaper = paSpace.Count
   If mospace.Count = 0 And paSpace.Count = 0 Then
       MsgBox "Ban ve thi trong rong .", 64 + 0, " Thong Bao "
       Exit Sub
   End If
   For Each doituongtrongmodel In mospace
            doituongtrongmodel.Visible = True
   Next doituongtrongmodel
End Sub
Private Sub andoituong()
   Dim sodoituongtrongmodel As Double
   Dim sodoituongtrongpaper As Double
   sodoituongtrongmodel = mospace.Count
   sodoituongtrongpaper = paSpace.Count
   If mospace.Count = 0 And paSpace.Count = 0 Then
       MsgBox "Ban ve thi trong rong .", 64 + 0, " Thong Bao "
       Exit Sub
   End If
   For Each doituongtrongmodel In mospace
            doituongtrongmodel.Visible = False
   Next doituongtrongmodel
End Sub
Private Sub gan()
   Set mospace = ThisDrawing.ModelSpace
   Set paSpace = ThisDrawing.PaperSpace
End Sub

  • Vote tăng 2
  • Vote giảm 1

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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×