Откройте книгу Excel 2016, используя Microsoft Edge или Chrome, путь к ActiveWorkbook и имя файла задайте для локального каталога вместо внутреннего веб-каталога - PullRequest
0 голосов
/ 11 февраля 2020

Недавно компания обновилась до Windows 10 с Windows 7. Наряду с обновлением операционной системы произошло обновление до Office с 2010 по 2016 год. Компания запускает приложение Visual Studio 2013, которое будет загружать книги Excel для извлечения, просмотра и изменения (добавления, обновления или удаления) данных с использованием VBA. Рабочие книги используют ActiveWorkbook.Path и ActiveWorkbook.FileName, чтобы определить среду для обновления. Если ActiveWorkbook.Path или ActiveWorkbook.FileName содержали «SERVER1», это означало производственную среду, но если любой из них содержал «SERVER2», это означало среду разработки. Эта функция препятствовала использованию пользователями сохраненных копий книги и в конечном итоге приводила к обновлению неправильной среды Поскольку стандартом компании является использование более современного браузера, Microsoft Edge или Chrome, тестирование выявило проблему в обоих браузерах. Оба браузера загружают файл либо в локальный временный файл inte rnet, либо в локальный каталог загрузки. После открытия загруженного файла значения ActiveWorkbook.Path и ActiveWorkbook.FileName являются локальными каталогами. Как часть открытой функциональности, код VBA пытается извлечь имя сервера из ActiveWorkbook.Path и / или ActiveWorkbook.FileName. Поскольку имя сервера не существует, по умолчанию в книге используется тестовая среда. Поскольку у пользователя нет доступа к изменению переменной, хранящей имя сервера, он не может использовать рабочую книгу.

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

Я исследую и не могу найти решение этой проблемы. Буду признателен за любые предложения по решению этой проблемы.

TIA Anthony

1 Ответ

0 голосов
/ 13 февраля 2020

На основании дополнительного обсуждения с коллегами и руководством относительно стандартов для веб-браузеров (использование современного веб-браузера, Microsoft Edge или Chrome, но окончательное решение не было доступно), я обнаружил два возможных решения.

Chrome решение: это решение я смог протестировать на компьютере сотрудника. Ссылка:

https://chrome.google.com/webstore/detail/ie-tab/hehijbfgiekmjfkfjpbkbammjbdenadd?hl=en-US

Для Chrome вам потребуется вставить надстройку с именем IE Tab. После нажатия на ссылку, вам нужно будет следовать инструкциям для загрузки и добавления дополнения. Бесплатная версия требует, чтобы вы нажимали значок IE -Tab каждый раз, когда открываете Chrome, чтобы использовать его. Чтобы иметь Chrome open IE -Tab automati c, необходимо приобрести лицензию.

Решение Microsoft Edge: это решение я не смог протестировать на компьютере коллег из-за недостаточных прав администратора , Ссылка:

https://docs.microsoft.com/en-us/deployedge/edge-ie-mode

На основании описания это решение работает для Microsoft Edge.

Оба описания решения указывают браузер отобразит все веб-страницы, используя Inte rnet Explorer 11. Обработка.

Я надеюсь, что это поможет другим в решении подобных проблем.

Anthony

...