Страницы: 1
RSS
Запрет сохранения книги при наличии связей
 
Всем привет!
Частенько бывает когда пользователь бездумно копирует ячейку (в которой были формулы) из другой книги и вставляет в рабочую, при этом создается связь к файлу источнику. Как избежать нежелательных связей? :)
У меня есть два варианта:
1. Запрет сохранения книги при наличии связей. Чтобы пользователь посидел и "подумал над своим поведением".
2. Запрет вставки из буфера обмена в рабочую книгу. Именно вставки, т.к. копирование из рабочей книги может потребоваться.

Какой лучшего всего подойдет и как его реализовать?
Надеюсь на Вашу поддержку. Спасибо.
 
Цитата
Vladimir69 написал:
У меня есть два варианта:
Предлагаю ещё 1 вариант к размышлению:
Рассказать пользователю о Специальной вставке, и пояснить почему и когда ей нужно пользоваться  :)  
 
Этот вариант не работает.

Решено. Запретом вставки.
В модуль ЭтаКнига:
Код
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
    Application.CutCopyMode = False
End Sub

В модули листа:

Код
Private Sub Worksheet_Activate()
    Application.CutCopyMode = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CutCopyMode = False
End Sub

Минус в том, что из других приложений вставку не запретит. Однако в моем конкретном случае этом плюс.
 
Vladimir69, здравствуйте!
Изучайте Workbook.LinkSources и 2 параметра (1 и 2) к ней

Например, проверить наличие связей в активной книге книге можно вот таким кодом:
Код
Sub t ()
Dim x1,x2

x1=ActiveWorkbook.LinkSources(1)
x1=ActiveWorkbook.LinkSources(2)
If isarray(x1) or isarray(x2)then msgbox "Связи есть"
End Sub
ну а дальше остаётся повесить этот код на событие сохранения и закрытия книги

UPD
Цитата
Vladimir69: Решено. Запретом вставки
По вашему запрет вставки и запрет сохранения — одно и то же???
К тому же, я не увидел у вас проверки на наличие связей - просто запрет. Бред какой-то…
Изменено: Jack Famous - 24.09.2020 09:48:46
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
К тому же, я не увидел у вас проверки на наличие связей - просто запрет. Бред какой-то…
В моем случае связи и не будут образовываться. Все связи получались из-за копирования данных из других версий книги.
Мне требовался один из вариантов. В любом случае Ваши труды не пропадут.
Страницы: 1
Наверх