【问题标题】:vbs save and close all chrome and word documentsvbs 保存并关闭所有 chrome 和 word 文档
【发布时间】:2017-03-10 05:20:15
【问题描述】:

我正在尝试创建一个 vbscript,以清除我在 chrome 中的所有浏览器数据,然后关闭所有 chrome 窗口。 我无法关闭单词和前景。 这是到目前为止工作的代码并清除 chrome 并关闭 chrome 浏览器:

Set WshShell = CreateObject("WScript.Shell")
set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.run "chrome.exe"
Set WshShell = CreateObject("WScript.Shell")
set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.run "chrome.exe"
WScript.Sleep (1000)
WScript.CreateObject("WScript.Shell").SendKeys("^h")
WScript.Sleep (2000)
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{ENTER}")
WScript.Sleep (2000)
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}")
WScript.CreateObject("WScript.Shell").SendKeys("{ENTER}")
WshShell.AppActivate("Google Chrome")
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2"
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16"
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32"
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"

Set objExec = Nothing : Set objShell = Nothing

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Chrome.exe'")

Set oShell = CreateObject("WScript.Shell")
For Each objProcess in colProcessList
oShell.Run "taskkill /im chrome.exe", , True
Next

Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("tasklist /fi " & Chr(34) & "imagename eq chrome.exe" & Chr(34))
If Not InStr(1, objExec.StdOut.ReadAll(), "INFO: No tasks", vbTextCompare) Then
objShell.Run "taskkill /f /t /im chrome.exe", 0, True
End If

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'notepad.exe'")

For Each objProcess in colProcessList
objProcess.Terminate()
Next

我试图关闭所有打开的word文档并保存它们,基本上是(控制)。我希望所有这些都发生在一个 VBS 文件中,以便我可以将其发送给我的朋友,他们可以很容易地使用它。 我在网上搜索过,但没有找到我要找的东西。 我看过的所有网站要么只显示如何关闭所有文档而不保存它们,要么没有在 VBS 中显示该过程,而是使用 VBA 或其他脚本语言。 如果有人可以帮助我编写脚本,我将不胜感激!

:)

【问题讨论】:

    标签: google-chrome vbscript ms-word


    【解决方案1】:

    保存并关闭所有文档:

    'get a handle to the already running Word instance
    On Error Resume Next
    Set wd = GetObject(, "Word.Application")
    On Error Goto 0
    
    If Not IsEmpty(wd) Then
      For Each doc In wd.Documents
        doc.Save
        doc.Close
      Next
    
      wd.Quit
    End If
    

    用于关闭所有文档而不保存更改 doc.Savedoc.Saved = True。这基本上告诉 Word“此文档已保存,请闭嘴”。

    【讨论】:

    • 非常感谢!有没有办法为记事本做同样的事情?
    • 不,@equachalk。
    猜你喜欢
    • 1970-01-01
    • 2014-04-04
    • 2016-06-10
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多