Cod*_*Owl 5 vb6 excel vba excel-vba
因此,我试图编写一个VBA程序,该程序将监视文件夹中的新文件,然后对它们进行处理。我发现了一些使用WMI api的有前途的示例:
http://www.mrexcel.com/forum/excel-questions/211547-monitor-new-files-folder.html
事情是这样的:似乎每个人对待这些示例的做法都是将VBA作为宏连接到Excel电子表格中。人们将Excel视为穷人的编程环境。很公平。问题是,当用户使用宏关闭该不可思议的excel文件时,我需要运行该文件。
有人告诉我,我需要使用VB6.0或C#在Visual Studio中制作一个完整的Windows应用程序,并作为某种计划任务在后台运行该应用程序。这是正确的路径吗?或者在这些Excel / VBA教程中缺少一些简单的东西吗?
(对问题的一般性表示歉意。我知道社区对此表示赞赏。)
小智 4
VBA 和VBScript 类似。对于 WMI 来说几乎相同。这是三个脚本。您还可以将 WMI 与事件处理程序连接起来,这样您就可以拥有多个事件,而不是如此处所示的一个事件。
VB6是可以编译成exe的VBA。VB6 与 Office 一样承载 VBA 语言。
实例创建事件
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
Run Code Online (Sandbox Code Playgroud)
实例修改事件
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
Run Code Online (Sandbox Code Playgroud)
实例删除事件
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceDeletionEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7199 次 |
| 最近记录: |