1

Вопрос. Есть ли способ отключить буфер обмена в Office 2016?

Я не имею в виду показывать / скрывать статус при копировании или подобных вещах из настроек буфера обмена. Я имею в виду, чтобы полностью отключить его. Это настолько навязчиво, что вы не можете отключить его от самого приложения. Также это проблема конфиденциальности, потому что все, что вы копируете на свое устройство, отправляется туда, если открыто какое-либо приложение (Excel, Word и т.д.). Если все они закрыты, при запуске Word / Excel будет скопирован системный буфер обмена в буфер обмена Office.

Я ищу любое решение (третье лицо, реестр и т.д.). У меня Win 7/64 бит и Office 2016/64 бит.

2 ответа2

1

Отключение буфера обмена

Ниже представлен обходной метод, позволяющий отключить функцию буфера обмена с помощью пакетного сценария с некоторой условной логикой и циклом. Ниже также есть метод и некоторые инструкции, описывающие, как легко завершить цикл. Он использует некоторый динамический язык сценариев VB, чтобы помочь сохранить процесс скрытым в фоновом режиме во время работы, но он все еще дает вам возможность использовать его и уничтожать по мере необходимости.

Пакетный скрипт

IF /I [%~N1]==[KillSwitch] TASKKILL /F /FI "WindowTitle eq ClearClip" & EXIT
IF NOT DEFINED MINIMIZED SET MINIMIZED=1 && START "" /MIN "%~F0" x && EXIT
@ECHO OFF
IF NOT [%~1]==[] GOTO :VBProcess

TITLE ClearClip
:LoopIt
ping -n 02 127.0.0.1 > nul

:WipeClip
cmd.exe /c echo off | clip
GOTO :LoopIt

:VBProcess
SET TempVBSFile=%temp%\~tmpVBSTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"

ECHO Set WinScriptHost = CreateObject("WScript.Shell") >"%TempVBSFile%"
ECHO WinScriptHost.Run Chr(34) ^& "%~F0" ^& Chr(34), 0 >>"%TempVBSFile%"
ECHO Set WinScriptHost = Nothing                       >>"%TempVBSFile%"

CSCRIPT //nologo "%TempVBSFile%"
EXIT

По сути это. , ,

  • Убивает все процессы с заголовком « ClearClip », если именованный файл « KillSwitch » передается ему в качестве первого аргумента, а затем полностью выходит из сценария (см. « Убить его с помощью переключателя Kill»)

  • Запускает [сам по себе] пакетный скрипт снова, но свернут и с пустым аргументом « x » в качестве первого аргумента

  • Запускает [сам] пакетный сценарий, скрытый динамическим VB-сценарием, если первый переданный ему аргумент не равен нулю, а затем повторяется каждые 2 секунды, очищая буфер обмена

Использовать его

Чтобы использовать его или включить функцию очистки буфера обмена каждые 2 секунды, просто дважды щелкните или выполните пакетный сценарий. Если у вас возникли проблемы или он не работает должным образом, попробуйте запустить его с правами администратора, просто щелкнув правой кнопкой мыши | Запуск от имени администратора.


Убить его с помощью переключателя Kill

  1. Создайте файл с именем KillSwitch.txt и поместите его прямо рядом с сохраненным вами пакетным сценарием, который вы выполняете для отключения буфера обмена.
  2. Перетащите файл имени KillSwitch.txt прямо в или на пакетный скрипт, который вы выполняете, чтобы отключить буфер обмена, и это убьет скрытые фоновые процессы, которые очищают буфер обмена, и затем буфер обмена снова станет доступен.


Дополнительные ресурсы

1

Вот ключ реестра, который мы предоставили Microsoft для отключения буфера обмена Office. Это HKCU, поэтому его не так просто развернуть, но, похоже, он работает для наших нужд. Еще тестирование продолжается.

https://support.microsoft.com/en-us/help/2817672/macro-takes-longer-than-expected-to-execute-many-individual-copy-and-p

Чтобы устранить эту проблему в Excel для Office 365, Excel 2019, Excel 2016 и Excel 2013, выполните действия, описанные в разделе "Информация о ключе реестра".

  1. Нажмите « Пуск», выберите « Выполнить», введите regedit в поле « Открыть» и нажмите кнопку « ОК».
  2. Найдите и выберите следующий раздел реестра:

    HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Common\General\
    

    Примечание xx.0 в этом пути реестра соответствует версии Excel (16.0 = Excel 2016, 15.0 = Excel 2013, 14.0 = Excel 2010).

  3. В меню « Правка» выберите пункт « Создать» и нажмите « Значение DWORD».
  4. Введите AcbControl и нажмите клавишу ВВОД.
  5. В области сведений щелкните правой кнопкой мыши AcbControl, а затем нажмите кнопку Изменить.
  6. В поле « Значение» введите десятичное число 2147483648 или шестнадцатеричное 80000000, а затем нажмите кнопку « ОК».
  7. Выход из редактора реестра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .