Macro tự xóa file chạy trên máy này, nhưng không chạy trên máy khác (1 người xem)

Liên hệ QC

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

giaovien

Thành viên mới
Tham gia
25/10/12
Bài viết
5
Được thích
0
Chào các bạn, mình đang học căn bản về VBA và vọc thử code của các pro của diễn đàn này.
Mình có sử dụng 2 đoạn code này vào file của mình.
Trong ThisWorkBook:
Private Sub Workbook_Open()
If Date >= DateSerial(2012, 10, 20) Then
Call KillFile
End If
End Sub

Và trong module1:
Sub KillFile()
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.Close False
End Sub

File này mình lưu trong ổ mạng của máy server và mình có full quyền. Khi mình ngồi trên Computer 01 để làm, thì khi mình chạy file vẫn tự xóa. Nhưng khi mình ngối ở computer 02 thì Macro vẫn chạy, nhưng chỉ Close file chứ file vẫn chưa bị xóa. Mình thử copy ra Desktop thì File xóa được.
Trên cả 2 máy này mình đều đã enable macro, setting trong Excel như nhau.
Vấn đề này mình không hiểu vì sao, mình muốn trên các máy Marco đều tự chạy, mong các bạn giúp đỡ.
Các pro vui lòng tải file về check thử dùm mình và chỉ cho mình với nhé.
 

File đính kèm

Có ai test thử dùm mình với, mình đã thử rất nhiều máy nhưng cũng bị tình trạng như trên, tức là Macro chạy nhưng file chỉ bị close chứ không xóa. Mình mới học về VBA nên rất mong mọi người giúp đỡ. Thanks all
 
Upvote 0
Biết gì mà giúp! Vì file của bạn chạy tốt mà
Lưu ý: nếu file được lưu trên server thì sẽ không hoạt động đâu nha
Tóm lại: Lưu trên máy nào sẽ hoạt động trên máy đó mà thôi

Thanks bạn. Server của trường cũng do mình cấu hình luôn, mình dân Network chứ không phải lập trình, giờ mò mẫm học VBA từ diễn đàn để làm một số file thống kê cho trường thôi.
File này mình lưu trên Server, đã lên Domain, có điều mình ngồi tại máy làm việc của mình, truy cập vào ổ đĩa trên Server thì file chạy tốt, thử qua máy khác và cũng thap tác giống vậy thì không chạy nên mình thắc mắc.
Bạn có thể giải thích giúp mình không, vì những hàm khác dùng để thống kê, tách chuỗi thì vẫn chạy bình thường, chỉ riêng trường hợp này không chạy hoàn toàn (chỉ close chứ không delete).
Rất mong bạn giúp mình, vì mới học nên mình rất tò mò và muốn hiểu nguyên lý hoạt động của các code.
 
Upvote 0
Thanks bạn. Server của trường cũng do mình cấu hình luôn, mình dân Network chứ không phải lập trình, giờ mò mẫm học VBA từ diễn đàn để làm một số file thống kê cho trường thôi.
File này mình lưu trên Server, đã lên Domain, có điều mình ngồi tại máy làm việc của mình, truy cập vào ổ đĩa trên Server thì file chạy tốt, thử qua máy khác và cũng thap tác giống vậy thì không chạy nên mình thắc mắc.
Bạn có thể giải thích giúp mình không, vì những hàm khác dùng để thống kê, tách chuỗi thì vẫn chạy bình thường, chỉ riêng trường hợp này không chạy hoàn toàn (chỉ close chứ không delete).
Rất mong bạn giúp mình, vì mới học nên mình rất tò mò và muốn hiểu nguyên lý hoạt động của các code.

Vậy thì hãy thử nghiệm: Ngồi trên máy tính (mà bạn nói nó không xoá file ấy), thử xoá bằng tay 1 file nào đó trên server xem có được không?
 
Upvote 0
Vậy thì hãy thử nghiệm: Ngồi trên máy tính (mà bạn nói nó không xoá file ấy), thử xoá bằng tay 1 file nào đó trên server xem có được không?

Đươc mà bạn, vì khi mình ngồi trên máy khác thì mình cũng login vào Server bằng user của mình (full quyền trên tất cả ổ đĩa) nên muốn làm gì cũng được cả, kể cả xoá file. Mình ngồi trên máy khác, tạo ra các file có macro, tất cả đều chạy luôn, chí có file tự xoá là chỉ close mà không xoá. Mình thấy code chẳng liên quan gì đến Server - Client cả nên rất tò mò lý do.
Bạn có thể hình dung thế này:
- File lưu trên Server.
- Mình login vào PC 01 (máy làm việc của mình) hay PC 02 đều bằng User của mình, nên quyền trên file thì như nhau.
- Trên PC 01 thì code tự xoá chạy ổn. Trên PC 02 hay máy khác thì lại không chạy hoàn toàn, chỉ khi mình copy ra ổ local của máy thì mới chạy.
Mình đã hỏi mấy người bạn lập trình viên nhưng họ bảo ko rành về cái này, và có lẽ vấn đề nằm ở trên máy PC 01. Mình vô tình đọc topic của bạn và siwton và thấy các bạn rất am tường về VBA và hệ thống nên mình mong sẽ có câu giải đáp hoặc gợi ý cách tìm ra.
 
Upvote 0
Web KT

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

Back
Top Bottom