启动excel时运行批处理文件

时间:2016-04-27 14:33:46

标签: excel batch-file cmd automation

我有一个问题:有没有办法,当用户双击excel文件时,将启动批处理或cmd文件,这将启动该点击的Excel文件?我们希望进一步保存员工记录他们在计算机中使用文件的频率 我需要使用批处理或cmd文件,因为excel文件在其他计算机中,我们将使用组策略来合并该脚本

2 个答案:

答案 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"