2015-10-10 3 views
0

При запуске макроса VBA кодДобавление новой книги в VBA врезается Excel 2013

Sub x() 
Workbooks.Add 
End Sub 

Excel 2013 идет в "не отвечает".

Если я запускаю метод Add с помощью некоторого шаблона, например. Workbooks.Add («C: \ book1.xlsx») новая рабочая книга на основе шаблона создана успешно.

Когда я пытаюсь сгенерировать код генератором макросов для создания новой книги, будет создан тот же макрос, что и я. Но результат запуска этого записанного макроса такой же, как запуск моего кода - Excel 2013 зависает.

Как это решить? Код работал без проблем в Excel 2007.

+0

может быть, что шаблон по умолчанию поврежден или отсутствует. Можете ли вы попытаться создать новую пустую книгу из Excel (вне VBA)? –

+0

Это было возможно - мне удалось создать новую книгу. – user2126375

ответ

0

Мне нужно было еще раз удалить и установить Office 2013, чтобы решить эту проблему. Ремонт установки не помог.

Целая история: Я установил Office 2003, Office 2007. Затем я хотел установить Office 2013 (новый запрос клиента). Установщик Office 2013 выполнил работу с поврежденной установкой Office 2003, и поэтому мне нужно было удалить Office 2003, прежде чем процесс установки мог быть обработан. Чтобы быть на стороне сохранения, я удалил Office 2007 как часть процесса установки Office 2013. Установка была успешно завершена, но, как я узнал позже, не все работали как ожидалось ...

+0

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

+0

Итак, как разработчик, который должен иметь возможность тестировать код VBA против разных версий Office (на основе клиентов), что мне делать? Должен ли я иметь виртуальные машины с другим Office? Или есть ли лучшее рекомендуемое решение? Более того, поскольку я удаляю Office 2007 как часть установки Office 2013, я бы предположил, что это можно считать чистой установкой Office 2013. – user2126375

+0

VM или выделенное отдельное оборудование. У меня есть один ноутбук, работающий на 2010 год, еще один 2013 год и еще один 2003 год, но мне не приходилось использовать блок 2003 года через несколько лет. –

Смежные вопросы