Как я могу скрыть ручку заполнения Excel в одном файле - PullRequest
0 голосов
/ 13 декабря 2018

Есть ли способ скрыть параметр дескриптора заливки в одном файле Excel, чтобы он не влиял на мой другой файл Excel.

Возможно ли, что это повлияет на любого пользователя, который использует этот файл

1 Ответ

0 голосов
/ 13 декабря 2018

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

enter image description here

Вы можете отключитьРучка заполнения, пока открыта одна рабочая книга.Дескриптор заполнения будет отключен для любой другой книги, открытой одновременно.Вы можете восстановить исходное состояние маркера заполнения, когда рабочая книга закрыта.

Как только рабочая книга будет сохранена как макроподключенная (XLSM или XLSB), любой пользователь, открывающий книгу, будет иметь дескриптор заполнения и отключить перетаскивание.до тех пор, пока рабочая книга открыта¹.

В кодовом листе ThisWorkbook:

Option Explicit

Private Sub Workbook_Open()
    toggleDragAndDrop
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    toggleDragAndDrop bOFF:=False
End Sub

Private Sub toggleDragAndDrop(Optional bOFF As Boolean = True)
    Static bDAD As Boolean, bABO As Boolean

    With Application
        If bOFF Then
            bDAD = .CellDragAndDrop
            bABO = .AlertBeforeOverwriting
            .CellDragAndDrop = False
        Else
            .CellDragAndDrop = bDAD
            .AlertBeforeOverwriting = bABO
        End If
    End With
End Sub

¹ Обеспечение запуска макрокода включено при открытии рабочей книги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...