Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Старый excel макрос не работает в Office16

Ответить
Настройки темы
2016 - [решено] Старый excel макрос не работает в Office16

Пользователь


Сообщения: 71
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: For_Sites@twitter
Дата: 25-09-2017
Установили новый офис и как оказалось, экселевский макрос который успешно работал в 2010 офисе, не работает в 2016.
При запуске, ругается на устаревший синтаксис vba кода. Переделывать огромный макрос нет ни сил, ни желания.

Пробовал установить библиотеки MS Excel 14 Object library, не получилось (установить их). Win 10, 64 bit, Office 2016


Прошу помощи.

Отправлено: 13:46, 25-09-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата For_Sites@twitter:
экселевский макрос который успешно работал в 2007 офисе »
Приведите код макроса. Приложите исходные данные, на которых он работал (Рабочую книгу и т.п.).

Цитата For_Sites@twitter:
При запуске, ругается на устаревший синтаксис vba кода. »
Как именно ругается?

Цитата For_Sites@twitter:
Переделывать огромный макрос нет ни сил, ни желания. »
А если придётся?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:00, 25-09-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 71
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Изображения
Тип файла: png first.PNG
(22.7 Kb, 13 просмотров)
Тип файла: png second.PNG
(21.7 Kb, 11 просмотров)

выдает ошибку компиляции:
Error 'Compile Error: User-defined type not defined'
(см первый скрин)

и подсвечивает
Dim XMLHttp As New MSXML2.XMLHttp

меняю вышеуказанную строку на
Dim XMLHttp As Object
Set XMLHttp = CreateObject("MSXML2.XMLHttp")


то уже ругается на следующую строку (см второй скрин)
ну и т.д.
Я так понимаю что некие методы в офисе 2016 то ли устарели, то ли отключены (по разным причинам) и поэтому мне придется адаптировать код под новые библиотеки. Но мне проще подцепить старую бибилиотеку и работать с ней, но в 16-м офисе. (ну или если есть автокомпилятор, то готов засунуть код туда)

Отправлено: 14:49, 25-09-2017 | #3


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата For_Sites@twitter:
Я так понимаю что некие методы в офисе 2016 то ли устарели, то ли отключены (по разным причинам) и поэтому мне придется адаптировать код под новые библиотеки. Но мне проще подцепить старую бибилиотеку и работать с ней, но в 16-м офисе. (ну или если есть автокомпилятор, то готов засунуть код туда) »
В 2010 ровно так же по умолчанию библиотеки отключены, и выдаются ровно те же ошибки.

Попробуйте в меню VBA редактора tools→references подключить Microsoft XML, v.6.0 , у меня на Windows 7 лежало в "C:\Windows\System32\msxml6.dll".
Судя по поиску - вам нужна эта библиотека, у меня по крайней мере на ваш кусочек кода теперь не ругается.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:20, 25-09-2017 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


For_Sites@twitter, вижу три варианта: отсутствует библиотека и/или её регистрация в системе, в коде модуля отсутствует ссылка на библиотеку, разрядность библиотеки не соответствует разрядности приложения (вот в этом я не уверен, может быть сие и не столь критично).

Отправлено: 15:28, 25-09-2017 | #5


Пользователь


Сообщения: 71
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Изображения
Тип файла: png references.PNG
(33.4 Kb, 11 просмотров)
Тип файла: png sysWOW64.PNG
(13.9 Kb, 11 просмотров)

a_axe,
эта бибилиотека включена у меня. скрины приложил

Iska,
перерегистрация вышеупомянутой dll не помогла. ошибка все та же. прошлая система была тоже 64 разрядная но office14, вес работало. + и без ссылки на библиотеку в коде модуля.

Отправлено: 16:06, 25-09-2017 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата For_Sites@twitter:
+ и без ссылки на библиотеку в коде модуля. »
Без ссылки раннее связывание:
Код: Выделить весь код
Dim XMLHttp As New MSXML2.XMLHttp
работать в принципе не может. Позднее:
Цитата For_Sites@twitter:
меняю вышеуказанную строку на
Dim XMLHttp As Object
Set XMLHttp = CreateObject("MSXML2.XMLHttp") »
может. Но опять же — Вы не можете тут же ниже пытаться пользовать всё то же раннее связывание из той же библиотеки в виде «…As New DomDocument».

Лучше просто добавьте ссылку на библиотеку в проект VBA.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:31, 25-09-2017 | #7


Аватара для Methodichka

Новый участник


Сообщения: 22
Благодарности: 7

Профиль | Сайт | Отправить PM | Цитировать


Думаю, какие-то проблемы с установкой или отстуствием компонентов. Можно попробовать .NET Framework переустановить, MSXML в него тоже входит.

Отправлено: 06:44, 26-09-2017 | #8


Пользователь


Сообщения: 71
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


сегодня завтра проверю, отпишусь обязательно.

готово:
1. скопировал из рабочей 32 битной системы msxml6.dll
2. зарегал через regsrv32
3. зареференсил в макросе

заработало. Всем спасибо за советы

Последний раз редактировалось For_Sites@twitter, 26-09-2017 в 14:16.


Отправлено: 11:54, 26-09-2017 | #9



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Старый excel макрос не работает в Office16

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word. E.v.g Программирование и базы данных 7 03-05-2018 22:18
Разное - Не корректно работает макрос в excel Maddrag Microsoft Office (Word, Excel, Outlook и т.д.) 3 14-04-2017 23:31
Простой макрос. Excel. Не могу написать. prosims Программирование и базы данных 5 07-05-2007 09:11
Excel макрос(функ-ция) не офрешается ZloiJoker Программирование и базы данных 2 13-07-2004 11:40
Макрос Excel работает после перезагрузки :( Guest Программирование и базы данных 1 11-05-2004 08:43




 
Переход