Проверка импорта в Excel - PullRequest
0 голосов
/ 30 мая 2018

Я использую EPPlus для создания файла Excel с некоторыми ограничениями (блокировка, проверка, ...), и я установил пароль для листа:

sheet.Protection.IsProtected = true;
sheet.Protection.SetPassword("pass");

Пользователи должны внести некоторые изменения вфайл и импортировать тот же файл.

Как я могу проверить при импорте файла, что при использовании EPPLUS пароль такой же («пароль»)?Я хочу быть уверен, что пользователь использует и импортирует один и тот же файл Excel.

1 Ответ

0 голосов
/ 30 мая 2018

На самом деле нет способа сделать именно то, что вы просите относительно проверки пароля.Тем не менее, ваш реальный вопрос заключается в том, как проверить подлинность пользователя против неэтичного поведения, чтобы убедиться, что он использует правильный шаблон.Есть много способов сделать это.Я часто защищаюсь от этого, особенно пользователи в регионе Индии (не расистские, а просто статистическая реальность!).

Могу ли я предложить другую стратегию создания скрытой вкладки / имени или чего-то другого для аутентификации, которую использует пользовательправильная рабочая тетрадь?Есть много способов сделать это, проверив автора / скрытые диапазоны / и т. Д.

Вот пример, если у вас был скрытый диапазон с именем yeaMan.Я бы поместил это в лист, который VeryHidden, чтобы пользователям было трудно его найти.Это не непобедимо, но, вероятно, предотвратит 95% неэтичного поведения.

Sub CheckIfLegit()
Dim nHunter As String, NN As Name, OkayToSubmit As Boolean
nHunter = "yeaMan"

'searches for named range (could also be a veryhidden sheet or a variety of other tools)
For Each NN In ThisWorkbook.Names
    If InStr(1, NN.Name, nHunter, vbTextCompare) > 0 Then
        OkayToSubmit = True
        Exit For
    End If

Next NN

'test if the range was found
If OkayToSubmit Then
    'OKAY TO SUBMIT! Run your submission code!
Else
    MsgBox "Listen fool, you've been up to no good and I caught your @$$! Access Denied!!!", vbCritical, Title:="Oh NO!!!"
End If

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