Я пишу макрос Excel для автоматического заполнения и сохранения нескольких документов Word. Он отлично работает на Office для Mac 2016, но я хочу обеспечить кросс-совместимость с Windows.Использование GrantAccessToMultipleFiles предотвращает запуск под Windows в Windows
Чтобы уменьшить нагрузку на пользователя для предоставления индивидуальных прав доступа к файлам из-за изолированной программной среды Mac Office, я применил GrantAccessToMultipleFiles command, используя ramitarora's helpful solution.
К сожалению, поскольку GrantAccessToMultipleFiles является специфичной для Mac командой, я запускаю ошибку компиляции: «Sub или Function not defined», как только я пытаюсь запустить это в Windows. Есть ли этому решение? Поскольку это ошибка компиляции, я не могу просто запустить ее с помощью «On Error Resume Next».
Для справки, соответствующий код ниже:
'Operating System check: if pos=0, user is on OSX
Dim pos As Integer
pos = InStr(Application.OperatingSystem, "Windows")
'If on OSX ask for file permissions in bulk
If pos = 0 Then
Dim fileAccessGranted As Boolean
Dim filePermissionCandidates
Dim filePathsArray As String
filePathsArray = filePaths(0)
For i = 0 To studentNum
filePathsArray = filePathsArray & ", " & filePaths(i + 1)
Next i
'Create an array with file paths for which permissions are needed
filePermissionCandidates = Array(filePathsArray)
'Request access from user
fileAccessGranted = GrantAccessToMultipleFiles(filePermissionCandidates)
End If
Спасибо.
Я не уверен в вашей конкретной проблеме, но у меня была аналогичная проблема, когда я пытался создать макрос сценария, который имел бы диалоговое окно с открытым файлом на обеих системах только с одной кодовой базой. Я решил это в конце концов. Основное различие, которое я вижу в вашей шахте, заключается в том, что я обнаружил, что мне пришлось отделить код от разных функций, а затем выбрать функцию выбора, чтобы решить, какой из них. Это не похоже на то, что ваш конкретный код OSX был выделен в его собственную функцию. Http://stackoverflow.com/questions/21035212/excel-vb-open-file-osx-and-windows – jskrwyk
А, это решение ! Я напишу отдельный sub и назову его только на OSX. Ошибка компиляции в Windows, поскольку она не будет вызываться. Спасибо за предложение. – clwatkins
Я добавил это как ответ, если он сработает, поэтому вы можете пометить его как правильно, чтобы помочь другим в будущем. – jskrwyk