Giới thiệu VBScript

tuhocvba

Administrator
Thành viên BQT
1. Phần 1: Tạo file vbs
Có lẽ không gì gần gũi với VBA hơn anh chàng VBScript:
Bạn cần đăng nhập để thấy đính kèm

Đầu tiên các bạn mở notepad lên và dán đoạn code sau, chú ý sửa lại dòng code số 5 cho phù hợp với bạn:
Mã:
Dim fs
Dim fn

Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set fn = fs.GetFile("D:\VBA\0213\1.xlsx")

WScript.Echo "File duoc tao ngay:" & fn.DateCreated
Sau đó lưu lại với tên là tuhocvba.vbs, lúc này trên máy tính có file vbs như ảnh minh họa ở trên. Bạn chỉ cầ double click vào file là chương trình được thực thi ngay lập tức.
Chương trình trên cho biết ngày giờ file 1.xlsx được tạo:
Bạn cần đăng nhập để thấy đính kèm
 

vbano1

SMod
Thành viên BQT
2. Phần 2: Từ VBA có thể gọi vbs thực thi:
Code VBA như sau:
Mã:
Sub test()
    Shell "wscript D:\VBA\tuhocvba.vbs", vbNormalFocus
End Sub
Nguồn:
 

tuhocvba

Administrator
Thành viên BQT
Có thể nói file .vbs chẳng khác nào là một file .exe thực thụ, vì chỉ cần double click lên file là chương trình có thể chạy ngầm.
Bây giờ ta thử kết hợp với để chống xóa, hoặc thay đổi nội dung cũng như tên file.

Giả sử tôi có file a.txt đang được lưu trữ ở D:\VBA . Như vậy đường link của file sẽ là : D:\VBA\a.txt
Bây giờ suy nghĩ làm thế nào để chống xóa hay thay đổi file trên, ta nghĩ đơn giản như sau, nếu như cho một chương trình vbs chạy ngầm để mở cái file này thì các thao tác thay đổi nội dung hay xóa, di chuyển file đều không thể thực hiện được.
Mã:
Option Explicit
Dim objFS
Dim objText
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.OpenTextFile("D:\VBA\a", 8)
Do
WScript.Sleep(60000)
Loop
objText.Close
Set objText = Nothing
Set objFS = Nothing
Bạn dán đoạn code trên vào NotePad và lưu lại dưới tên LockFile.vbs . Bây giờ hãy double click vào file .vbs này.
Tiếp theo, hãy thử xóa file D:\VBA\a.txt, bạn sẽ thấy là không thể xóa được.
Muốn tắt chương trình .vbs thì bạn nhấn tổ hợp phím Ctr+Alt+Del , chọn Start Task Manager, vào Processes.
Bạn cần đăng nhập để thấy đính kèm

Tìm tới wscript.exe, click vào dòng đó và ấn End Process.
Nguồn tham khảo:
 
Top