Có thể viết Code "lừa máy tính" khi cài Phần mềm nó cài vào ổ D thay vì ổ C

Liên hệ QC

Phanhanhdai

Thành viên tiêu biểu
Tham gia
16/3/08
Bài viết
733
Được thích
1,876
Nghề nghiệp
Thiết kế công trình
Máy của cơ quan em họ đặt chế độ Admin nên không cho cài đặt phần mềm, trong khi đó nhiều file em làm thêm Copy từ các máy khác nó rất nhiều Name rác, em muốn cài VirusMacroWarning của anh Nguyễn Duy Tuân để rọn dẹp. Tuy nhiên, khi cài vào C\Windows thì do không có Admin nên không thể cài được.

Em xin hỏi có thể viết Code nào có thể tạo ra cách nào đó để có thể tạm thời VirusMacroWarning được không?

Em rất cần tình huống này, rất mong nhận được sự giúp đỡ./.
 
Em thử rồi, chạy rất chuẩn ah, thày cho em hỏi tại sao lại phải chuyển xls--> xlsx thì nó mới diệt hiệu quả.

Vì chỉ có file xlsx hoặc xlsm mới mở được bằng WinRAR (xls không chơi được). Thế thôi
Bạn có thể thí nghiệm:
- Đổi đuôi file .xlsx hoặc. xlsm thành .RAR
- Mở file đã đổi đuôi bằng WinRAR
- Bạn sẽ thấy trong ruột nó có vô số thành phần
--------------------
Nói thêm:
- Đầu tiên bạn tham khảo bài viết này:
http://www.giaiphapexcel.com/forum/showthread.php?48778-Hỏi-cách-xoá-Formating-Style-cứng-đầu
Ở đó đang bàn về giải pháp xóa các Style cứng đầu
- Bài 12 tôi đề xuất giải pháp đổi đuôi file cho các kiểu file xlsx, xlsm thành RAR, xong mở file RAR và xử lý trong ruột của nó
- Giải pháp trên được thực hiện bằng tay và cuối cùng nhờ sự trợ giúp của siwtom, đã tự động mọi thao tác bằng tay trên thành 1 code (xử lý nén và giải nén)
- Xóa name cũng tương tự cách làm trên và code bạn đang dùng chính là thành quả của cách làm bằng tay ở trên
 
Lần chỉnh sửa cuối:
Upvote 0
Xin thày chỉ dùm nếu đuôi xls không thể mở để Save as sang xlsx

Thưa thày, trong trường hợp file excel2003 (.xls) do có quá nhiều rác hay vì một lý do nào đó mà không thể mở ra để chuyển sang excel2007(.xlsx) thì ta phải làm sao?
 
Upvote 0
Thưa thày, trong trường hợp file excel2003 (.xls) do có quá nhiều rác hay vì một lý do nào đó mà không thể mở ra để chuyển sang excel2007(.xlsx) thì ta phải làm sao?
- Thứ nhất: Code này chỉ hoạt động trên Excel 2007 trở lên
- Thứ hai: Code vẫn có khả năng xóa name đối với file xls (dù khả năng thành công không cao)
Vậy nên, dù muốn hay không thì bạn vẫn phải chạy tool trên trong môi trường Excel 2007 hoặc 2010... Đối với file xls có chứa name rác, code sẽ làm thêm công đoạn SaveAs file thành xlsx, xong mới tiến hành xóa name.
Cũng chính vì có thêm công đoạn SaveAs nên bắt buộc phải mở file xls lên... Trong trường hợp file bị lỗi ngay từ lúc mở file thì code sẽ không thành công (đến đây sẽ đứng)
-----------------
Nói tóm lại: Code vẫn có thể làm việc được với file xls nhưng vẫn bắt buộc phải chạy code trong môi trường Excel 2007 hoặc Excel 2010
Bạn có hiểu không nhỉ?
 
Upvote 0
Nếu file không có macro, bạn cứ SaveAs nó thành xlsx rồi dùng thằng này để xóa nhé (ngược lại, file có macro thì SaveAs thành xlsm)
Cách dùng:
- Đóng file của bạn lại
- Mở file DelName.xlsm
- Bấm nút 'Del Names' chỉ đến file của bạn rồi.. chờ
- Khi có thông báo đã xóa xong, mở file của bạn để kiểm tra
-----------------
Khuyến mãi luôn file dùng để xóa Style rác (cách dùng tương tự).
Yêu cầu:
- File của bạn phải được Save thành xlsm hoặc xlsx thì dùng tool mới hiệu quả
- Trên máy bạn có cài WinRAR

Thưa thày, Code của thày dùng rất tuyệt vời. Em xin phiền thày thêm một chút, chả là bên em phần lớn các đối tác họ gửi file excel 2003 thường có rất nhiều name rác và Style, để diệt được triệt để em phải Save as lần lượt hàng 30-50 file từng Excel 2003 sang Excel 2007 (bởi diệt ngay trong Excel2003 chương trình sẽ báo lỗi),

Kính mong thày giúp em sửa code để có thể thao tác với phiên bản 2003 (dù hiệu quả ở mức sơ bộ, có thể không bằng Save sang 2007).

--------
Em không biết liệu có Code nào chuyển một loạt file xls sang xlsx thì hay quá.
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu máy tính được phân quyền cao nhất là ADMIN và bạn chỉ có thể vào bằng quyền của tài khoản giới hạn thì bạn có thể nhấn F8 (Sau khi qua màn hình Post hoặc Boot màu đen khi khởi động máy tính) để vào chế độ SafeMode. Khi đó thì có thể sẽ cài được chương trình.
 
Upvote 0
Em đang bí cú pháp muốn chuyển tất cả file trong 1 folder thì viết như thế nào ah?

Thì đơn giản thôi:
- Dùng Application.GetOpenFilename mở file theo kiểu MutiSelect (cho phép mở nhiều file)
- Dùng vòng lập duyệt qua các file đã mở
- SaveAs thành xlsm
Ví dụ:
Mã:
Sub SaveTo2007()
  Dim vFile, Item, FileName As String
  On Error Resume Next
  Application.ScreenUpdating = False
  vFile = Application.GetOpenFilename("Excel 2003 files, *.xls", , , , True)
  If TypeName(vFile) = "Variant()" Then
    For Each Item In vFile
      FileName = CStr(Item)
      With Workbooks.Open(FileName)
        .SaveAs FileName & "m", xlOpenXMLWorkbookMacroEnabled
        .Close False
      End With
    Next
  End If
  Application.ScreenUpdating = True
End Sub
Khi hộp Open file mở ra, dùng chuột chọn file đầu, bấm giữ phím Shift, chọn file cuối rồi Open
 
Upvote 0
Thưa thầy ndu, em mới học làm excel. đang phụ cho bố làm mấy cái bảng số cũng lỗi thế này ạ. e cũng down 2 phần del của thầy về rồi. e cũng đổi đuôi rồi nhưng e không biết dùng. thầy chỉ cụ thể giùm em với ạ nhất là đoạn chỉ sang file bạn với lại phần đóng file là tắt hẳn hay minisize nó xún ạ
 
Upvote 0
thưa thầy lúc em chạy thì nó hiện ra thế này. thầy chỉ giúp em em làm sai chỗ nào ạ

Untitled.jpg
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Upvote 0
thưa thầy ndu. e đã chạy được. nhưng mà nó chạy lâu quá thầy ơi. nó no respond lun rồi ạ. thầy có thể giúp e không ạ. em định up file lên nhưng file lớn quá. thầy giúp em cái ạ
 
Upvote 0
thưa thầy ndu. e đã chạy được. nhưng mà nó chạy lâu quá thầy ơi. nó no respond lun rồi ạ. thầy có thể giúp e không ạ. em định up file lên nhưng file lớn quá. thầy giúp em cái ạ

Cái file mà bạn muốn "dọn rác" phải là file XLSX hoặc XLSM nha
(sao mà lâu được ta?)
Nếu file lớn quá, nén lại rồi gửi lên www.mediafire.com tôi xem thử
 
Upvote 0
Cái file mà bạn muốn "dọn rác" phải là file XLSX hoặc XLSM nha
(sao mà lâu được ta?)
Nếu file lớn quá, nén lại rồi gửi lên www.mediafire.com tôi xem thử
thưa thầy. do máy e có trục trặc nên chạy lâu. bây giờ chạy xong rồi. em mở lên làm việc tiếp sau khi lưu để tắt đi thì nó thế này. thầy chỉ hộ e ạ. e cám ơn thầy rất nhiêu
untitled.JPG
 
Upvote 0
thưa thầy. do máy e có trục trặc nên chạy lâu. bây giờ chạy xong rồi. em mở lên làm việc tiếp sau khi lưu để tắt đi thì nó thế này. thầy chỉ hộ e ạ. e cám ơn thầy rất nhiêu

Ôi, cái Excel 2007 này nhiều khi nó bị lỗi tào lao tôi cũng chẳng biết đâu
Muốn ngon: Xài Excel 2010 nhé
 
Upvote 0
Cảm ơn thầy, nhờ file của thầy mà em xóa được mấy cái Style rác đã làm khổ em bấy lâu nay! Một lần nữa cảm ơn thấy!
 
Upvote 0
Mình làm theo các cách của các anh tư vấn nhưng vẫn không xóa được các name. Rất mong được sự giúp đỡ, mình đưa file đính kèm.
Thanks All.
 

File đính kèm

Upvote 0
Nếu file không có macro, bạn cứ SaveAs nó thành xlsx rồi dùng thằng này để xóa nhé (ngược lại, file có macro thì SaveAs thành xlsm)
Cách dùng:
- Đóng file của bạn lại
- Mở file DelName.xlsm
- Bấm nút 'Del Names' chỉ đến file của bạn rồi.. chờ
- Khi có thông báo đã xóa xong, mở file của bạn để kiểm tra
-----------------
Khuyến mãi luôn file dùng để xóa Style rác (cách dùng tương tự).
Yêu cầu:
- File của bạn phải được Save thành xlsm hoặc xlsx thì dùng tool mới hiệu quả
- Trên máy bạn có cài WinRAR


cho em hỏi hai file này không dùng được cho bản 64-bits ạ? update cho 64-bits như thế nào ạ?
 
Upvote 0
cho em hỏi hai file này không dùng được cho bản 64-bits ạ? update cho 64-bits như thế nào ạ?

Muốn dùng được với Office phải sửa lại code (mà tôi thì không dùng Office 64 nên không biết test thế nào)
Nói chung mọi thứ do các hàm API mà ra. Sắp tới đây tôi sẽ viết lại toàn bộ code 2 hàm này, không dùng thứ gì liên quan đến API cả nên chắc rằng Office 32 hay 64 đều dùng được
 
Upvote 0
Web KT

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

Back
Top Bottom