我有一个问题:有没有办法,当用户双击excel文件时,将启动批处理或cmd文件,这将启动该点击的Excel文件?我们希望进一步保存员工记录他们在计算机中使用文件的频率 我需要使用批处理或cmd文件,因为excel文件在其他计算机中,我们将使用组策略来合并该脚本
答案 0 :(得分:1)
您可以使用VBA执行此操作。在VBA项目的“ThisWorkbook”部分,您可以添加类似
的内容Option Explicit
Private Sub Workbook_Open()
Dim strPath As String
'put the location and name of your batch file here
strPath = "C:\YourFolder\YourBatchFile.bat"
Call Shell(strPath)
End Sub
如果您不确定使用VBA代码,请参阅此Link
答案 1 :(得分:0)
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM Win32_ProcessStopTrace")
Do
Set objReceivedEvent = objEvents.NextEvent
msgbox objReceivedEvent.ProcessName
If lcase(objReceivedEvent.ProcessName) = lcase("Notepad.exe") then
Msgbox "Process exited with exit code " & objReceivedEvent.ExitStatus
WshShell.Run "c:\Windows\notepad.exe", 1, false
End If
Loop
这是一个监视所有程序停止的vbs脚本。您可以使用Win32_ProcessStopTrace,Win32_ProcessStartStopTrace或Win32_ProcessStartTrace。
这是为了替换批处理文件。写日志
Set Fso = CreateObject("Scripting.FileSystemObject")
Set File = Fso.CreateTextFile("c:\folder\filename", True)
file.writeline "text"