Возможно ли это в Excel? (VBA)

Я хочу создать макрос VBA, который будет делать следующее:

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

Если он не открыт из указанной папки, он должен показать сообщение об ошибке msgbox и закрыть файл автоматически.

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


  • открыт из включает ярлыки.

  • это файл corportate, но макросы используются в нашей среде.

  • Мне нужен код, где я могу изменить название папки, чтобы быть все, что я хочу
    (поэтому мы всегда можем изменить его позже)

30
задан Raystafarian
03.01.2023 1:13 Количество просмотров материала 2439
Распечатать страницу

1 ответ

место в thisworkbook в Редакторе VBA:

Private Sub workbook_open()

Dim strPath As String
strPath = "c:\username\path\to\workbook"

If Not Application.ActiveWorkbook.Path = strPath Then
    MsgBox ("This is an old version, please use the correct version at " & strPath)
    Application.ActiveWorkbook.Close
End If

End Sub

просто изменить strPath к пути, который вы хотите использовать. Вы также можете заменить ActiveWorkbook С ThisWorkbook Если вы чувствуете необходимость.

если он находится на сетевом ресурсе, не забудьте проверить, что .path дает вам, как это может заменить сетевое расположение с буквой диска, который может измениться между пользователями.

1
отвечен Raystafarian 2023-01-04 09:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх