Làm thế nào để nhận biết chế độ NewWindows với VBA? (1 người xem)

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

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

KUMI

Bụi phấn
Tham gia
17/1/12
Bài viết
564
Được thích
571
GPE cho Em khi ở chế độ NewWindows có cách nào dùng vba để nhận biết là đang ở chế độ này không?
 
không phải là lmở thêm 1 Workbook hay thêm 1 file nào khác ngàoi file đang mở Thầy ạ!
Là chế độ xem 2 sheet trên 1 file đó Thầy!
Em muốn làm 1 bài trước khi Savefile nếu đang ở chế độ NewWindow này thì sẽ tắt nó rồi save.
Còn Nếu không ở chế độ này thì save bình thường.
Em làm kiểu này không ổn.
PHP:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWindow.Close
End Sub
Nếu không ở chế độ NewWindow thì nó lại hỏi là có save lại hay không dạng như là closw file ý.-\\/.
Hihi..Thầy giúp Em!
 
Upvote 0
không phải là lmở thêm 1 Workbook hay thêm 1 file nào khác ngàoi file đang mở Thầy ạ!
Là chế độ xem 2 sheet trên 1 file đó Thầy!
Em muốn làm 1 bài trước khi Savefile nếu đang ở chế độ NewWindow này thì sẽ tắt nó rồi save.
Còn Nếu không ở chế độ này thì save bình thường.
Em làm kiểu này không ổn.
PHP:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWindow.Close
End Sub
Nếu không ở chế độ NewWindow thì nó lại hỏi là có save lại hay không dạng như là closw file ý.-\\/.
Hihi..Thầy giúp Em!
Thử vầy xem:
PHP:
Sub Test()
  Dim i As Long
  On Error Resume Next
  With ThisWorkbook
    If .Windows.Count > 1 Then
      For i = .Windows.Count To 2 Step -1
        .Windows(.Name & ":" & i).Close
      Next
    End If
  End With
End Sub
 
Upvote 0
Cám ơn Thầy rất nhiều,Em thử bài trên không có lỗi gì cả.
Thầy cho Em hỏi Thêm co cách nào để gữ nguyên các chế độ Window như
PHP:
        .DisplayHeadings
    .Zoom 
  .FreezePanes
        .DisplayHorizontalScrollBar
        .DisplayVerticalScrollBar 
        .DisplayWorkbookTabs
Khi mà thực hiện chế độ NewWindow không?
Sở dĩ là khi thực hiện chế độ NewWindow thì xuất hiện thêm 1 cửa sổ NewWindow mở rộng cửa sổ này sẽ hiện về nguyên bản của 1file Excel mới
nếu như không biết mà lại đi tắt cửa sổ gốc của nó mà để cửa sổ mở rộng này sau đó lưu file thì toàn bộ định thiết lâp cho các chế độ Window đã được đặt từ trước sẽ bị mất hết.
Mong các Thầy chỉ giáo thêm ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Sở dĩ là khi thực hiện chế độ NewWindow thì xuất hiện thêm 1 cửa sổ NewWindow mở rộng cửa sổ này sẽ hiện về nguyên bản của 1file Excel mới
nếu như không biết mà lại đi tắt cửa sổ gốc của nó mà để cửa sổ mở rộng này sau đó lưu file thì toàn bộ định thiết lâp cho các chế độ Window đã được đặt từ trước sẽ bị mất hết.
Mong các Thầy chỉ giáo thêm ạ!
Làm gì có! Code của tôi là tắt cửa sổ con, chừa lại cửa sổ gốc cơ mà! Bạn đã thí nghiệm chưa?
 
Upvote 0
Vâng Em thử rồi Thầy ạ!
Và Em cũng biết những gì như Thầy đã nói ở trên.
code của Thầy Em đã gán vào một nút lệnh và sự kiện khi save file.
Em đã tạo thêm 1 nút lệnh nữa dùng để bật chức năng NewWindow như Em đã trình bày ở trên.
Và một nút tắt chế độ NewWindow (code của Thầy).
Nhưng khi thực hiện nút bật chế độ NewWindow người dùng không savefile và không bấm vào nút tắt. Mà kích trực tiếp = tay tắt luôn cửa sổ gốc. Thế là các định dạng NewWindow bị mất hết và phải thiết lập lại.
File dùng chung nên vấn đề dặn dò thật là khó.
Thầy có cách nào khắc phục hay ngăn chạn điều này không ạ?
Ví dụ như chỉ được phép tắt cửa sổ con (nếu tắt = tay).
Tắt cửa sổ gốc ở nút close không hiện tượng hay là không phản ứng.
Hoặc là v.v...theo cách của Thầy ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Thử vầy xem:
PHP:
Sub Test()
  Dim i As Long
  On Error Resume Next
  With ThisWorkbook
    If .Windows.Count > 1 Then
      For i = .Windows.Count To 2 Step -1
        .Windows(.Name & ":" & i).Close
      Next
    End If
  End With
End Sub

Xin hỏi Thầy thêm 1 trường hợp nữa!Trong vấn đề này ạ!
Có code nào có thể ẩn tất cả các Windows hay còn gọi là các workbook đang mở song song cùng workbook đang thao tác chức năng NewWindows hay không ạ?
Sau đó save lại thì các workbook lại hiện lên bình thường.
Em hỏi vấn đề này là bởi vì khi mở nhiều workbook nên mà mình thực hiện chức năng newwindow sau đó thao tác xem 2 sheet của 1 file thì rất nhiều cửa sổ cửa các workbook đang mở cùng hiện.
Cám ơn Thầy!
 
Upvote 0
ôi! Thầy Ốm hay bận gì mà suốt chiều nay không thấy xuất hiện nhỉ?
 
Upvote 0
Hi. đúng là em thật ngốc ngay cả giải thích nhu cầu của mình để mọi người và Thầy hiểu mà cũn khó.
Em gửi file kèm sau vậy.
Có vẻ giờ Thầy không được khỏe! Thầy hút thuốc ít thôi ạ!
 
Upvote 0
Web KT

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

Back
Top Bottom