Tặng các bạn công cụ "VirusMacroWarning" - Cảnh báo và diệt "Virus Macro"

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
TestSheetType

Bác cho em hỏi : Có cách nào phát hiện và phân biệt đâu là MacroSheet, DialogSheet, ChartSheet và Sheet không ???

Mr Okebab tham khảo thủ tục này nhé.
Mã:
Sub TestSheetType()
    Dim sh As Worksheet
    Dim uShType As XlSheetType
    
    For Each sh In ActiveWorkbook.Sheets
        uShType = sh.Type
        If uShType = xlChart Then
            Debug.Print sh.Type, "=", "xlChart"
        ElseIf uShType = xlDialogSheet Then
            Debug.Print sh.Type, "=", "xlDialogSheet"
        ElseIf uShType = xlExcel4IntlMacroSheet Then
            Debug.Print sh.Type, "=", "xlExcel4IntlMacroSheet"
        ElseIf uShType = xlExcel4MacroSheet Then
            Debug.Print sh.Type, "=", "xlExcel4MacroSheet"
        ElseIf uShType = xlWorksheet Then
            Debug.Print sh.Type, "=", "xlWorksheet"
        End If
            
'        xlChart
'        xlDialogSheet
'        xlExcel4IntlMacroSheet
'        xlExcel4MacroSheet
'        xlWorksheet
    Next
    
End Sub

P/S:
Bác cẩn thận đấy, " Giai nhân tự cổ như danh tướng . . . "
Biết nhiều thì . . . khổ cũng nhiều, tổn thọ lắm.
Em thì biết mỗi khoản là : Be be be!!!

Mong có ngày lại được ngồi be be! :drinks:
 

Mr Okebab

Ngon Ngất Ngây
Thành viên đã mất
Tham gia ngày
6 Tháng tám 2006
Bài viết
3,262
Được thích
3,775
Điểm
0
Tuổi
44
Mr Okebab tham khảo thủ tục này nhé.
Mã:
Sub TestSheetType()
    Dim sh As Worksheet
    Dim uShType As XlSheetType
    
    For Each sh In ActiveWorkbook.Sheets
        uShType = sh.Type
        If uShType = xlChart Then
            Debug.Print sh.Type, "=", "xlChart"
        ElseIf uShType = xlDialogSheet Then
            Debug.Print sh.Type, "=", "xlDialogSheet"
        ElseIf uShType = xlExcel4IntlMacroSheet Then
            Debug.Print sh.Type, "=", "xlExcel4IntlMacroSheet"
        ElseIf uShType = xlExcel4MacroSheet Then
            Debug.Print sh.Type, "=", "xlExcel4MacroSheet"
        ElseIf uShType = xlWorksheet Then
            Debug.Print sh.Type, "=", "xlWorksheet"
        End If
            
'        xlChart
'        xlDialogSheet
'        xlExcel4IntlMacroSheet
'        xlExcel4MacroSheet
'        xlWorksheet
    Next
    
End Sub
Mong có ngày lại được ngồi be be! :drinks:

Đã thử rồi nhưng không được
  1. Sheet thường : OK
  2. Chart Sheet và MacroSheet : OK
  3. Dialog Sheet : Không có Type : Báo lỗi (nhưng có name)
Thế mới khổ.

Bác thử nhé (Chú ý, có 1 Sheet Dialog ẩn)

Thân!

P/S : Hỏi điều này chẳng qua muốn rằng trong công cụ của bác sẽ có Otion Button để chọn lựa cho hiển thị Sheet loại nào, xóa sheet loại nào.
 

File đính kèm

  • Find Dialog Sheet.rar
    8.9 KB · Đọc: 57
Lần chỉnh sửa cuối:

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Đã thử rồi nhưng không được
  1. Sheet thường : OK
  2. Chart Sheet và MacroSheet : OK
  3. Dialog Sheet : Không có Type : Báo lỗi (nhưng có name)
Thế mới khổ.

Bác thử nhé (Chú ý, có 1 Sheet Dialog ẩn)

Thân!

P/S : Hỏi điều này chẳng qua muốn rằng trong công cụ của bác sẽ có Otion Button để chọn lựa cho hiển thị Sheet loại nào, xóa sheet loại nào.

Như thế này nhé!

Mã:
Sub TestSheetType()
    Dim Sh  As Object
    Dim uShType As XlSheetType
    Dim nm As String
[COLOR="SeaGreen"]    'Trong VBE, vao menu "View" chon "Immediate Window" de test lenh Debug.Print[/COLOR]
    For Each Sh In ActiveWorkbook.Sheets
        nm = TypeName(Sh)
        If nm = "DialogSheet" Then
            uShType = xlDialogSheet
        Else
            uShType = Sh.Type
        End If
        
        Debug.Print nm, ": Type = ", uShType
                
[COLOR="SeaGreen"]'        xlChart
'        xlDialogSheet
'        xlExcel4IntlMacroSheet
'        xlExcel4MacroSheet
'        xlWorksheet

'        Worksheet     : Type =       3
'        DialogSheet   : Type =      -4116
'        Chart         : Type =       3
'        Worksheet     : Type =      -4167

[/COLOR]    Next
    
End Sub
 
Lần chỉnh sửa cuối:

avnlevent

Thành viên mới
Tham gia ngày
7 Tháng mười 2008
Bài viết
1
Được thích
1
Điểm
0
Tuấn ơi, bạn có thể cho 1 option là nó hiển thị bằng tiếng Anh được không? hoặc kiểu như mình để 1 file language riêng ra thì càng tốt.

Ngoài ra, nếu bạn để 1 file config riêng để mình chỉnh các option mặc định thì tốt hơn, ví dụ như phần backup file (nơi backup file có thể thay đổi, chỉnh mặc định ko backup file vì user chẳng bao giờ coi kỹ, chỉ thấy thông báo là nhấn nút), trong môi trường công ty mình số lượng file rất nhiều, mỗi lần tạo backup mà user không xóa file trên ổ đĩa mạng thì mệt lắm (do công ty mình có backup tape nên restore lại cho user từ tape cũng nhanh lắm.

Phần mềm vẫn còn lỗi không xóa được name tiếng Việt.

Hi vọng ver sau bạn thêm được những chức năng này nữa thì tuyệt.

Phong
 

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Tuấn ơi, bạn có thể cho 1 option là nó hiển thị bằng tiếng Anh được không? hoặc kiểu như mình để 1 file language riêng ra thì càng tốt.

Ngoài ra, nếu bạn để 1 file config riêng để mình chỉnh các option mặc định thì tốt hơn, ví dụ như phần backup file (nơi backup file có thể thay đổi, chỉnh mặc định ko backup file vì user chẳng bao giờ coi kỹ, chỉ thấy thông báo là nhấn nút), trong môi trường công ty mình số lượng file rất nhiều, mỗi lần tạo backup mà user không xóa file trên ổ đĩa mạng thì mệt lắm (do công ty mình có backup tape nên restore lại cho user từ tape cũng nhanh lắm.

Phần mềm vẫn còn lỗi không xóa được name tiếng Việt.

Hi vọng ver sau bạn thêm được những chức năng này nữa thì tuyệt.

Phong

Cảm ơn bạn! Mình sẽ xem xét và có thể đưa vào version sau.
 

Mr Okebab

Ngon Ngất Ngây
Thành viên đã mất
Tham gia ngày
6 Tháng tám 2006
Bài viết
3,262
Được thích
3,775
Điểm
0
Tuổi
44
Cảm ơn bạn! Mình sẽ xem xét và có thể đưa vào version sau.

Khi xóa name bằng VBA hay bằng tay ở O2003 hoặc O2007 thì vẫn có một số name không xóa được.

Nhưng nếu xóa bằng Microsoft Scrip Editor thì lại xóa rất dễ dàng.

Không biết có thể tự động hóa bằng VBA không nhỉ ??? Nếu được thì coi như vấn đề này XONG!


Thân!
 

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Khi xóa name bằng VBA hay bằng tay ở O2003 hoặc O2007 thì vẫn có một số name không xóa được.

Nhưng nếu xóa bằng Microsoft Scrip Editor thì lại xóa rất dễ dàng.

Không biết có thể tự động hóa bằng VBA không nhỉ ??? Nếu được thì coi như vấn đề này XONG!


Thân!

Vạy à, mình chưa thử cách này, phải thử xem có làm được Scrip trong VBA không, nếu được thì quá tốt rồi. Mời Mr Okebab 100 bears % :).
 

tigertiger

Coming back ...
Tham gia ngày
25 Tháng một 2007
Bài viết
1,805
Được thích
1,687
Điểm
1,168

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Virus Macro Warning v2.0.0 (New)

Gửi các bạn phiên bản mới hoàn thiện nhất Virus Macro Warning v2.0.0 - ngày 18/01/09

Những thay đổi mới:

+ Hoàn thiện xóa các virus name. Đã xóa thành công hết 100% virus name/name rác.
+ Tăng tốc độ đọc và xóa các name.
+ Thêm thông tin về địa chỉ tham chiếu của name rác.

Download
http://www.bluesofts.net/Products/AddIns/VirusMacroWarning/Index.htm

Tất cả các file các thành viên gửi lên do phiên bản cũ không xóa được trước đây thì phiên bản này đã xóa thành công.

Với phiên bản VirusMacroWarning v2.0.0 từ nay người dùng Excel thực sự có thể yên tâm hơn về ngăn ngừa virus macro, làm sạch file Excel của mình!
 
Lần chỉnh sửa cuối:

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Virus Macro Warning v2.0.1.0 (New)

Gửi các bạn phiên bản mới Virus Macro Warning v2.0.1.0 - ngày 05/02/09

Những thay đổi chính:

+ Tuỳ chọn cho hoăc không cho phép việc kiểm name của các Add-In.
+ Thêm các chức năng trong cửa sổ "Names with errors", cho phép kiểm tra lại các name bị lỗi xem chúng có đang được dùng trong một công thức nào không, nếu có sẽ không xoá.
+ Thêm chức năng lọc chọn name lỗi theo tham chiếu của nó.

NamesErrWarning.jpg

http://www.bluesofts.net/Products/AddIns/VirusMacroWarning/Index.htm
 
Lần chỉnh sửa cuối:

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Virus Macro Warning v2.0.2.0 (New)

Gửi các bạn phiên bản mới Virus Macro Warning v2.0.2.0 - ngày 10/02/09

Những thay đổi chính:

+ Tuỳ chọn cho hoăc không cho tạo backup file (các phiên bản cũ, chương trình tự động làm).
+ Các giá trị thiết lập được ghi vào registry.

http://www.bluesofts.net/Products/AddIns/VirusMacroWarning/Index.htm
 

minhmaru

Thành viên mới
Tham gia ngày
13 Tháng tư 2009
Bài viết
1
Được thích
0
Điểm
0
Tuổi
43
Có ai có chương trình này không, xin vui lòng gửi lên đây giúp mình với. Đính kèm vào bài viết nhé, vì mình không vào được trang web của tác giả để lấy về.
Cảm ơn các bạn nhiều.
 

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội

duongsatdn

Thành viên tiêu biểu
Tham gia ngày
15 Tháng sáu 2007
Bài viết
455
Được thích
393
Điểm
0
Tuổi
47

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Virus Macro Warning v2.0.6 - ngày 24/11/2010 (New)

Gửi các bạn phiên bản mới Virus Macro Warning v2.0.6 - ngày 24/11/2010

Những nâng cấp chính:

+ Thêm khả năng diệt virus tạo sheet "000000".
+ Xóa thêm được một số name cứng đầu.

http://www.bluesofts.net/Products/AddIns/VirusMacroWarning/Index.htm


Các bạn lưu ý: Cần phải Uninstall bộ cài cũ trước khi cài mới.
 

yueyong

Thành viên mới
Tham gia ngày
7 Tháng tám 2008
Bài viết
4
Được thích
1
Điểm
0
Tuổi
39
Tuyệt quá bạn àh, mình cũng dùng của bạn khá lâu rồi mà hôm nay mới có dịp nói lời cảm ơn. Chúc bạn một năm mới vạn sự như ý, luôn cập nhật thêm những tính năng mới vào VMW để anh em có được 1phần mềm chính hiệu tốt!
 

le tin

Học mãi
Tham gia ngày
22 Tháng mười 2007
Bài viết
724
Được thích
557
Điểm
0
Khi tôi mở file thì chương trình báo lỗi : " Lỗi kết nối với CSDL" đồng thời mở Book1 , đóng file thì Book1 cũng đóng . Có bạn nào gặp trường hợp này chưa ? Nhờ bạn Tuân xem giúp
Cảm ơn
 

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
4,407
Được thích
9,821
Điểm
2,868
Nơi ở
Hà Nội
Khi tôi mở file thì chương trình báo lỗi : " Lỗi kết nối với CSDL" đồng thời mở Book1 , đóng file thì Book1 cũng đóng . Có bạn nào gặp trường hợp này chưa ? Nhờ bạn Tuân xem giúp
Cảm ơn

Bạn hãy đóng Excel lại rồi gỡ bỏ VMW sau đó bạn cài lại. Lưu ý phiên bản mới nhất tới thời điểm này là 2.0.6.
 

le tin

Học mãi
Tham gia ngày
22 Tháng mười 2007
Bài viết
724
Được thích
557
Điểm
0
Giúp gỡ chương trình VMW

Tôi đã gỡ chương trình VMW mà không hết được . Cụ thể là phiên bản 2.0.5.0 cứ hiện ở dưới .
Trong Tool vẫn còn cảnh báo , kích vào sẽ có hộp " Lổi kết nối với CSDL" , vì vậy mỗi lần khởi động Ex
là cảnh báo và mở đồng thời Book1
Bạn Tuân xem giúp tôi cách khắc phục , Cảm ơn .
 
Top Bottom