在 MS Office 套件中关闭“是否要保留最后复制的项目?”

在 MS Office 套件中关闭“是否要保留最后复制的项目?”

此弹出窗口表示,如果我保留复制的最后一项,则可能需要更长时间才能退出。但是,在每种情况下,单击弹出窗口都会使退出时间更长,因为我必须移动鼠标才能单击另一个弹出框,而实际上,我复制的内容从不会拖慢我的计算机速度(即使我这样做了,多花几秒钟退出也不会让我感到困扰)。所以,我想禁用此“功能”,但找不到这样做的方法。有人有什么解决方案吗?

答案1

遗憾的是,您无法关闭它。此请求 -禁用“是否要保留最后复制的项目?”对话框的选项- 在 Uservoice 上创建后同样的问题正如您在 Microsoft 论坛上所问的那样。但是,截至撰写此答案时,Microsoft 尚未提供禁用它的选项。

微软论坛提供的唯一解决方法是在关闭应用程序之前复制一个字符。

答案2

Dim wa 作为对象

' 在创建对象之前

如果 wa 为 Nothing,则设置 wa = CreateObject("word.application")

万一

'复制粘贴数据后

华人退出假新闻

设置 wa = Nothing

'这对我来说可以避免弹出窗口的发生

答案3

这个 AutoHotkey v2 脚本解决了这个问题。

最新版本可以在 GitHub 上找到:https://github.com/karolzlot/office-keep-last-item

如果你发现任何错误,请打开问题。也欢迎拉取请求!

; This is AHK v2 script, it won't work on AHK v1.
#SingleInstance Force
#Warn   ; Enable warnings to assist with detecting common errors.
SendMode "Input"    ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir A_ScriptDir   ; Ensures a consistent starting directory.

SetTitleMatchMode(1) ; 1 = A window's title must start with the specified WinTitle to be a match.

; All translations can be found on https://www.microsoft.com/en-us/language/Search?&searchTerm=You%20placed%20a%20picture%20on%20the%20Clipboard.&langID=591&Source=true&productid=undefined

; English language
phrase1:= "You placed a picture on the Clipboard. Do you want this picture to be available to other applications after you quit"
phrase2:= "Do you want to keep the last item you copied?\n\nIf you do, it may take a bit longer to exit."
phrase_yes:= "Yes"

; ; Polish language
; phrase1:= "W Schowku znajduje się obraz. Czy ten obraz ma być dostępny dla innych aplikacji po zakończeniu pracy z programem"
; phrase2:= "Czy chcesz zachować ostatni skopiowany element?\n\nJeśli tak, zakończenie działania może potrwać trochę dłużej."
; phrase_yes:= "Tak"

Loop
{
    HWND := WinWaitActive("Microsoft ")
    window_text := WinGetText("ahk_id " HWND)

    if InStr(window_text, phrase1, "Off") or InStr(window_text, phrase2, "Off")
    {
        Controls := WinGetControls(HWND)
        for control in Controls
        {   
            MsgBox(control " " ControlGetText(control)) ; for debugging, comment out this line if it works ok
            if InStr(control, "Button") ; check if control is of type button
            {
                if InStr(ControlGetText(control), phrase_yes)
                {
                    MsgBox("Button found") ; for debugging, comment out  this line if it works ok
                    ControlClick(control)
                    Sleep(1000)
                    break
                }
            }
        }
    }
    else
    {
        ; MsgBox "Not found" ; for debugging, comment out this line if it works ok
        Sleep(1000)
    }
}

答案4

即使更好,为什么要有它?我们大多数人都坐在拥有 16G 到 64G RAM 的机器上,这些机器配有超线程四核 CPU 和 SSD 驱动器。真的吗?我们担心保存时间会延长一纳秒?用户需要更长的时间才能被打断,弄清楚这个无用的弹出窗口是什么,然后单击“确定”。只需将其删除即可。不要在更多设置和选项上浪费时间。有什么意义?

相关内容