Làm sao để phân biệt file đó đang mở chế độ bình thường hay các chế độ Khác như: Readonly, Repaired...

Liên hệ QC

hunglam123

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
31/3/20
Bài viết
180
Được thích
43
Chào cả nhà GPE. Hiện em chưa tìm ra câu lệnh nào để phát hiện file đó đang được mở Bình thường, hay là đang ở chế độ khác như ( readonly, Repaired, Vervsion Autosaved,....
1592804093627.png
1592806413366.png

1592806450225.png

Vâng vâng và nhiều chế độ khác
Vậy cho em hỏi có câu lệnh nào để phát hiện file đó là đang mở chế độ bình thường ( tức là không có chữ gì sau tên file ) hay là các chế độ khác/ Nếu là bình thường = True, các chế độ khác = False

Ví dụ File đang ở chế độ Readonly thì em dùng câu lệnh này để Xét điều kiện. Còn các chế độ khác thì em chưa biết

Mã:
Sub dada()
If ActiveWorkbook.ReadOnly = True Then
    Range("a1") = " Dang o che do Readonlye"
Else
   Range("a1") = " Ok binh thuong"
End If
End Sub

Xin chân thành cảm ơn!
 

File đính kèm

  • 1592804046811.png
    1592804046811.png
    12.1 KB · Đọc: 1
  • 1592806381836.png
    1592806381836.png
    7.5 KB · Đọc: 1
  • 1592806384389.png
    1592806384389.png
    7.5 KB · Đọc: 1
Lần chỉnh sửa cuối:
Chào cả nhà GPE. Hiện em chưa tìm ra câu lệnh nào để phát hiện nếu là Repaired thì =True, Ngược lại là False
View attachment 239733

Ví dụ File đang ở chế độ Readonly thì em dùng câu lệnh này để Xét điều kiện. Còn Repaired em chưa biết

Mã:
Sub dada()
If ActiveWorkbook.ReadOnly = True Then
    Range("a1") = " Dang o che do Readonlye"
Else
   Range("a1") = " Ok binh thuong"
End If
End Sub

Xin chân thành cảm ơn!
Bạn thử câu lệnh lấy tên file đang mở thử
 
Upvote 0
Bạn thử lệnh này.
Mã:
ActiveWindow.Caption
Thớt này khó tính lắm. (có lẽ quen Xê-cọng-cọng nên cần cái class viết cho mình phải chỉ dẫn cách dùng giao diện)

Bạn không chỉ cách dùng InStr hay Like để dò các "chế độ" thì chưa chuẩn đâu.

Chú: nếu viết code cả hàm thì nhớ ký tên kẻo về sau này mất bản quyền ráng chịu.
Ở đây có người có thành tích chôm code và tự ký tên mình vào đấy.
 
Upvote 0
Đại khái vầy nè:
cheDo = ""
For Each cd In array( "chế độ 1", "chế độ 2", ...)
If ActiveWindow.Caption Like "*" & cd" "*" Then cheDo = cheDo & ", " & cd
Next cd
If cheDo = "" Then cheDo = "bình thường"
 
Upvote 0
Bạn thử lệnh này.
Mã:
ActiveWindow.Caption
cái này chỉ lấy mổi tên thôi anh ơi.
Bài đã được tự động gộp:

Đại khái vầy nè:
cheDo = ""
For Each cd In array( "chế độ 1", "chế độ 2", ...)
If ActiveWindow.Caption Like "*" & cd" "*" Then cheDo = cheDo & ", " & cd
Next cd
If cheDo = "" Then cheDo = "bình thường"
ActiveWindow.Caption chỉ lấy tên File thôi bác. Em đã test rất kỷ nó không lấy được các chữ phía sau Ví dụ ( readonly, Autosaved, Version,...)

1592833284870.png
Bài đã được tự động gộp:

Bạn thử lệnh này.
Mã:
ActiveWindow.Caption

Gửi anh kết quả. nó chỉ lấy tên và đuôi thôi
1592833344012.png
 
Lần chỉnh sửa cuối:
Upvote 0
Save 1 cái, sau đó tìm path của file
Nếu là "document\gì gì đó" quen quen: là vài tình trạng (a, b, ...)
Nếu là "c:\user\gì gì đó" là vài tình trạng (x, y, ...)
Nếu lỗi, là tình trạng m, n gì đó
Ba nhóm trên theo tôi là đủ để có thể xử lý những nhu cầu thông thường. Ngoài nhu cầu thông thường ra thì theo tôi không cần nghiên cứu tìm hiểu
 
Upvote 0
Web KT

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

Back
Top Bottom