Làm thể nào để save file Excel_read only?

Liên hệ QC

connhangheo

Thành viên thường trực
Tham gia
18/5/07
Bài viết
214
Được thích
225
Nghề nghiệp
Sinh Viên
nhân tiện đây cho em hỏi luôn, đỡ fải làm 1 cái thread mới. Em lỡ làm 1 file của em thành file read only, bây h em thay đổi gì trong file đó và save lại thì nó lại save file của em dưới dạng file copy. Sửa lỗi này thì làm thế nào hả các bác. Thanks
 
Mình nghĩ có thể dùng VBA để thay đổi thuộc tính của file trước khi Save và sau khi save xong thì trả lại thuộc tính ReadOnly

TDN
 
ah vâng, cái file này em có dùng VBA để giấu công thức,em đã cho cái readonly=false mà nó lại áo lỗi là thế nào bác nhỉ
 
connhangheo đã viết:
ah vâng, cái file này em có dùng VBA để giấu công thức,em đã cho cái readonly=false mà nó lại áo lỗi là thế nào bác nhỉ
Có lẽ lệnh của bạn chưa chính xác. Bạn thử dùng lệnh sau để chuyển trạng thái của file :
PHP:
Chỉ đọc
ThisWorkbook.ChangeFileAccess xlReadOnly
Đọc + ghi
ThisWorkbook.ChangeFileAccess xlReadWrite
TDN
 
em thêm code đọc và ghi vào thấy báo lỗi debug bác ạ
 
connhangheo đã viết:
nhân tiện đây cho em hỏi luôn, đỡ fải làm 1 cái thread mới. Em lỡ làm 1 file của em thành file read only, bây h em thay đổi gì trong file đó và save lại thì nó lại save file của em dưới dạng file copy. Sửa lỗi này thì làm thế nào hả các bác. Thanks
Bạn save as thành tên khác, rồi sau đó ra ngoài đổi lại tên.
Đây là cách "cũ rích" nhưng tôi vẫn hay dùng!
 
ở đây em chỉ muốn học hỏi thôi chứ nếu save as thánh file khác thì nó lại là chuyện khác :)
 
connhangheo đã viết:
em thêm code đọc và ghi vào thấy báo lỗi debug bác ạ
Mình test thử thì không thấy báo lỗi gì cả. Vậy bạn có thể gởi file hoặc code của bạn lên xem để biết lỗi ấy từ đâu. (?)

TDN
 
ko biết thế nào mà em ko thể xem được code của file đó nữa rồi. Nó hiện ra thông báo Project Locked : project is unviewable
Làm thế nào để xem lại code bây h hả bác
 
tedaynui đã viết:
Có lẽ lệnh của bạn chưa chính xác. Bạn thử dùng lệnh sau để chuyển trạng thái của file :
PHP:
Chỉ đọc ThisWorkbook.ChangeFileAccess xlReadOnly Đọc + ghi ThisWorkbook.ChangeFileAccess xlReadWrite
TDN
Bạn cho một VD cụ thể được không, mình chẳng hiểu gì hết.
 
Lần chỉnh sửa cuối:
em gửi file cụ thể,các bác xem hộ em cái nhé,thanks
 

File đính kèm

  • Baitap su dung ham.rar
    133 KB · Đọc: 39
connhangheo đã viết:
em gửi file cụ thể,các bác xem hộ em cái nhé,thanks

Chào bạn,

Đoạn code trong file cũng đã có nhiều trên GPE nên mình chép ra cho bạn xem:

PHP:
Sub AnCongThuc()
Cells.Select
ActiveSheet.Unprotect
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Selection.Locked = True
Selection.FormulaHidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ThisWorkbook.ChangeFileAccess xlReadWrit
End Sub

Qua đó cho thấy file ẩn công thức có dùng VBA!

TP.
 
vâng, đúng là code này em copy trên diễn đàn, nhưng mấy hôm đầu em còn xem được code để thử sửa xem thế nào, bây h em lại ko xem được nữa. Em ko hiểu tại sao???
Nó hiện ra thông báo Project Locked : project is unviewable
 
ttphong2007 đã viết:
Chào bạn, Đoạn code trong file cũng đã có nhiều trên GPE nên mình chép ra cho bạn xem:
PHP:
Sub AnCongThuc() Cells.Select ActiveSheet.Unprotect Selection.SpecialCells(xlCellTypeFormulas, 23).Select Selection.Locked = True Selection.FormulaHidden = True ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ThisWorkbook.ChangeFileAccess xlReadWrit End Sub
Qua đó cho thấy file ẩn công thức có dùng VBA! TP.
Nó báo lỗi bác ơi, nó báo tại : ThisWorkbook.ChangeFileAccess xlReadWrit
 
Lần chỉnh sửa cuối:
Duong gia đã viết:
Nó báo lỗi bác ơi, nó báo tại :
ThisWorkbook.ChangeFileAccess xlReadWrit

Báo lỗi là đúng rồi tại vì thiếu chữ e. Copy và paste ra diễn đàn hay bị mất chữ lắm.

FB.
 
ttphong2007 đã viết:
Chào bạn, Đoạn code trong file cũng đã có nhiều trên GPE nên mình chép ra cho bạn xem:
PHP:
Sub AnCongThuc() Cells.Select ActiveSheet.Unprotect Selection.SpecialCells(xlCellTypeFormulas, 23).Select Selection.Locked = True Selection.FormulaHidden = True ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ThisWorkbook.ChangeFileAccess xlReadWrit End Sub
Qua đó cho thấy file ẩn công thức có dùng VBA! TP.
Cái này không chỉ ẩn công thức mà còn khóa luôn cả sheet, giống nhưu "protect sheet" trong Tools vậy. Bất tiện quá, cái mọi người quan tâm là ẩn và khóa công thức những cell nào có công thức, còn những cell còn lại là không. Còn không vẫn cho ẩn công thức, vẫn cho xóa công thức, nhưng sau đó nếu di chuyển sang cell khác nó tự động điền lại công thức vừa mới bị xóa, vậy mới hay chứ. Mong các bác ngâm cứu. Thanks
 
Lần chỉnh sửa cuối:
Duong gia đã viết:
Cái này không chỉ ẩn công thức mà còn khóa luôn cả sheet, giống nhưu "protect sheet" trong Tools vậy. Bất tiện quá, cái mọi người quan tâm là ẩn và khóa công thức những cell nào có công thức, còn những cell còn lại là không. Còn không vẫn cho ẩn công thức, vẫn cho xóa công thức, nhưng sau đó nếu di chuyển sang cell khác nó tự động điền lại công thức vừa mới bị xóa, vậy mới hay chứ. Mong các bác ngâm cứu. Thanks
Cái này thì bạn tìm bài viết của tác giả nvson, áp dụng là OK. Vấn đề này đã được bàn nhiều và đã giải quyết.
Bạn có thể tham khảo ở các Link sau :
http://www.giaiphapexcel.com/forum/showthread.php?t=4085
http://www.giaiphapexcel.com/forum/showthread.php?t=6511

TDN
 
Ở bài trước em có nói em ko xem được code của file này, đó là do em đặt pass protect share workbook mà em lại quên mất, hôm nay em vừa mới xem lại được. Các bác cho em hỏi làm thế nào mà các bác vẫn xem được code trong file đó ???
1 điều nữa là em vẫn thấy báo lỗi, lỗi run-time 1004: lỗi phương thức ChangFileAccess của đối tượng workbook ???
Mã:
ThisWorkbook.ChangeFileAccess xlReadWrite
 
Web KT
Back
Top Bottom