ẩn file exel trong foder
Xin hỏi GPE trong một file exel có code nào có thể làm ẩn chính nó được không ạ?
Giống như kích chuột phải chọn properties/Hide…Bạn thử dùng lệnh sau:
SetAttr ThisWorkbook.Path & "" & ThisWorkbook.Name, vbHidden
Vầy gọn hơn
SetAttr ThisWorkbook.FullName, vbHidden
Nếu cần thì vầy luôn:
SetAttr ThisWorkbook.FullName, vbHidden + vbSystem
(giống như kiểu virus làm ẩn file ấy)
——————
Và cuối cùng, cách này luôn luôn ăn chắc trong mọi trường hợp
CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).Attributes = vbHidden
hoặc
CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).Attributes = vbHidden + vbSystem
(sẽ không bị lỗi khi đường dẫn là tiếng Việt có dấu)
Xin hỏi thêm.
Nếu mà window đang để ở chế độ show thì sao?
Có cách nào làm cho nó trở lại chế
độ Do not show được không.
Kèm theo lệnh Refesh nữa.
Bạn chỉ cần cho code vào sự kiện
Private Sub Workbook_BeforeClose(Cancel As Boolean)
…….
End Sub
Vậy là ok
Làm được, có điều trước giờ vẫn vướng chổ Refresh nên vẫn chưa có câu trả lời cho bạn
Xin hỏi các chuyên gia có VBA nào ẩn luôn foder chứa file đó không hoặc là coppy file từ foder này s
Copy files có thể dùng 2 cú pháp
1 FileCopy "Đường dẫn file hiện hành", "Đường dẫn file mới"
2 Name "Đường dẫn file hiện hành" As "Đường dẫn file mới"
Sao khi Copy rồi có thể xoá file cũ bằng cú pháp
Kill "Đường dẫn file muốn xoá"
Anh trai có thể cho em xin một vi dụ cụ thể được không?
Em chưa biết một tý tẹo nào về VBA cả. Anh nói vậy em không sao hiểu nổi.
Em cám ơn nhiều!
Bạn xem 3 vi dụ bên dưới. Bạn chú ý đổi tên file và tên thư mục cho đúng với file và thư mục trên máy tính của bạn.
Sub CopyFile1()
FileCopy "D:Datatest.xls", "D:DataLuuA.xls"
End Sub
Sub CopyFile2()
Name "D:Datatest.xls" As "D:DataLuuB.xls"
End Sub
Sub XoaFile()
Kill "D:DataLuuB.xls"
End Sub
Anh trai ơi. Em không áp dụng được.
Em gửi tệp tin đính kèm anh sửa cho em với?
Àh em xin hỏi thêm nếu thay coppy bằng cut thì sửa lại thế nào anh? hay chỉ sửa bình thường coppy=cut.
Thanks!!!
1. Bạn vào Ổ đĩa D, tao ra 1 thư muc là Data, rồi tạo 1 file excel tên là test.xls
2. Bạn vào Ổ đĩa D, vào thư muc Data, trong thư mục Data tạo tiếp 1 thư mục Luu. xong rồi chạy code thử. Cẩn thận coi chừng gặp rắc rối nếu sử dụng vào muc đích không đúng.
Sub CopyFile()
'Code nay copy file, file goc giu nguyen
FileCopy "D:Datatest.xls", "D:DataLuuA.xls"
End Sub
Sub Movefile()
'code nay di chuyen file toi thu muc khac, file gốc bị mất
Name "D:Datatest.xls" As "D:DataLuuB.xls"
End Sub
Sub XoaFile()
'code nay xoa mat file luon
Kill "D:DataLuuB.xls"
End Sub
Em đang không hiểu tại sao khi thay đổi đường dẫn mà tên file cũng bị thay đổi luôn vậy?
Sub CopyFile()
'Code nay copy file, file goc giu nguyen
FileCopy "D:Datatest.xls", "D:DataLuuA.xls"
End Sub
Sub Movefile()
'code nay di chuyen file toi thu muc khac, file gốc bị mất
Name "D:Datatest.xls" As "D:DataLuuB.xls"
End Sub
Chẳng lẽ bắt buộc phải đổi tên file thì mới được sao anh?
Em không hiểu gì về VBA nếu câu hỏi buồn cười mong anh đừng nóng!
Thanks!!
Sao không test thử rhì biết liền chứ gì. Không cần đổi tên file, tên file là do mình quyết định mà
Đây là foder em để trong ổ đĩa D:
Nhưng code vẫn báo lỗi. Em không biết nguyên nhân và cũng không biết sửa lại ntn nữa!
Anh trai đừng giận nhé! Chúc anh năm mới mọi việc tốt đẹp!
Code này bạn phải viết trong 1 file excel khác chứ, bạn viết code trong file Test.xls thi nó không chạy là đúng rồi. File Test.xls bạn đang mở thi làm sao nó di chuyển đi đâu được chứ
Ơ! đúng rồi file đang mở thì không thể di chuyển được. Hì hì!
Nhưng mà ý của em là không cần dùng đến file file phụ mà thực hiện trên chính file phụ luôn.
Nghĩa là trường hợp này sẽ sảy ra sau khi file close. liệu có được không anh?
Được chứ
Sub CopyFile()
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadOnly
FileCopy ThisWorkbook.FullName, "d:dataluu" & ThisWorkbook.Name
ThisWorkbook.Close False
End Sub
Sub MoveFile()
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadOnly
Name ThisWorkbook.FullName As "d:dataluu" & ThisWorkbook.Name
ThisWorkbook.Close False
End Sub
Nếu không muốn bấm nút gì hết thì tham khảo file này. Cẩn thận nhé, nguy hiểm lắm đấy. Bạn chưa biết gì về VBA mà dám chọc tới code thế này. File này dùng sự kiện Before Close. Bạn mở code ra và sửa lại đường dẫn cần tới là ok rồi
Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...
Xem khóa học