Всем добрый день!
Есть файлик (в приложении), который с помощью макросов позволяет сделать авторизацию с разграничением уровня доступа к разным листам книги.
Суть проблемы в следующем, - на винде файл прекрасно работает, также работает на маках до 2017 года включительно в 16 офисе. Выборка по макам не очень большая где пробовал открывать, но на маках старше 17 года при открытии файла вылетает сообщение "Invalid procedure call or argument" и открывается Visual Basic с подсвеченной желым красной строчкой ниже.
Этот код написан в основной книге (переименовал в ThisWorkBook, результата не принесло)
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim wsSh As Worksheet
Sheets(sWarning).Visible = -1
For Each wsSh In thisWorkbook.Sheets
If wsSh.Name <> sWarning Then wsSh.Visible = 2
Next wsSh
Application.ScreenUpdating = 1
thisWorkbook.Save
End Sub
Private Sub Workbook_Open()
Application.ScreenUpdating = False
thisWorkbook.Sheets(sMainSheet).Visible = -1
thisWorkbook.Sheets(sWarning).Visible = 2
Application.ScreenUpdating = 1
frmIndicateUser.Show
End Sub
Офисы были 16 и 19. Названия всех модулей вроде как написаны латиницей. Макросы включены на всех маках были. Может сталкивался кто-то с такой проблемой, или может помочь чтобы он запускался на любом маке? Заранее премного благодарен за советы))
Для дефолтного входа логин - Admin, пароль - 1.
Есть файлик (в приложении), который с помощью макросов позволяет сделать авторизацию с разграничением уровня доступа к разным листам книги.
Суть проблемы в следующем, - на винде файл прекрасно работает, также работает на маках до 2017 года включительно в 16 офисе. Выборка по макам не очень большая где пробовал открывать, но на маках старше 17 года при открытии файла вылетает сообщение "Invalid procedure call or argument" и открывается Visual Basic с подсвеченной желым красной строчкой ниже.
Этот код написан в основной книге (переименовал в ThisWorkBook, результата не принесло)
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim wsSh As Worksheet
Sheets(sWarning).Visible = -1
For Each wsSh In thisWorkbook.Sheets
If wsSh.Name <> sWarning Then wsSh.Visible = 2
Next wsSh
Application.ScreenUpdating = 1
thisWorkbook.Save
End Sub
Private Sub Workbook_Open()
Application.ScreenUpdating = False
thisWorkbook.Sheets(sMainSheet).Visible = -1
thisWorkbook.Sheets(sWarning).Visible = 2
Application.ScreenUpdating = 1
frmIndicateUser.Show
End Sub
Офисы были 16 и 19. Названия всех модулей вроде как написаны латиницей. Макросы включены на всех маках были. Может сталкивался кто-то с такой проблемой, или может помочь чтобы он запускался на любом маке? Заранее премного благодарен за советы))
Для дефолтного входа логин - Admin, пароль - 1.
Изменено: - 26.12.2023 16:32:47