VB Script - явный вызов Excel 2007, когда установлены Excel 2003 и Excel 2007 - PullRequest
3 голосов
/ 03 марта 2011

На моем компьютере установлены Excel 2003 и 2007, а также установлен пакет совместимости с Excel 2007, а также сценарий VB, который автоматически создает записи в файл CSV.В последнее время количество записей, необходимых для выгрузки в файл, значительно возросло и превысило ограничение на количество строк в Excel 2003. Поэтому я сделал копию этого файла и сохранил ее в формате .xlsm.Тем не менее, когда я использую VBScript для запуска макроса за электронной таблицей Excel, вызвав:

Set myApp = CreateObject("Excel.Application")

Файл Excel все еще пытался открыть себя для преобразования (с помощью пакета совместимости) в Excel 2003 и запуска в Excel2003, который неизбежно выдает ошибку при каждом запуске.

Есть ли способ заставить Excel.Application указывать на Excel 2007 вместо Excel 2003?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 24 ноября 2012

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

Я нашел этот пост и перепробовал все варианты. Я обнаружил, что должен использовать:

Set myApp = CreateObject("Excel.Application.11") 

для офиса 2003, но это не сработало.

Все мои тесты проводились в программном обеспечении VBSedit, которое показывает, что оно использовало офис 2003, но фактически открывало 2007.

Я пробовал с primalscript и работает как шарм.

Я думаю, что это может помочь другим.

1 голос
/ 04 марта 2011

см. http://support.microsoft.com/kb/292491

там: в целях тестирования разработчики могут принудительно зарегистрировать определенную версию приложения Office, используя параметр / regserver в командной строке.Например, чтобы принудительно зарегистрировать версию Excel без запуска программы установки, вы можете использовать командную строку, которая выглядит следующим образом:

"c: \ program files \ microsoft office \ office \ excel.exe" / regserver

1 голос
/ 03 марта 2011

Попробуйте:

Set myApp = CreateObject ("Excel.Application.12")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...