После обновления до Excel 2010 (с 2003 года) сценарий, используемый для стандартизации данных из импорта Access, перестал работать. Он возвращает ошибку: «Ошибка времени выполнения« 1004 »: метод« OpenText »объекта« Рабочие книги »не выполнен».
До части OpenText макрос ищет в папке самый последний файл с помощью DateCreated, а затем возвращает имя файла и путь.
Соответствующий код:
Workbooks.OpenText FileName:=myDir & "\" & strFilename, _
Origin:=-535, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), _
Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15 _
, 2), Array(16, 3), Array(17, 3), Array(18, 3), Array(19, 3), Array(20, 2), Array(21, 2), _
Array(22, 1), Array(23, 2), Array(24, 2), Array(25, 3), Array(26, 2), Array(27, 2), Array( _
28, 2)), TrailingMinusNumbers:=True
Есть идеи, что может повесить Excel 2010 вверх?
Этот файл все еще является файлом .xls и работает в режиме совместимости, с которым у меня еще не было проблем ни в одном другом макросе.
ОБНОВЛЕНО после записи нового макроса и сравнения со старым:
Новый макрос с одним отличием, аргумент Origin.
В старом макросе:
Origin:=-535
Новый макрос:
Origin:=65001
Читая об источнике, это кажется источником импортируемого файла, и его можно опустить.
Какое значение будет иметь Origin при импорте? Тип данных уже указан. Origin контролирует кодировку?
При удалении Origin из исходного макроса возвращается та же ошибка. Изменение исходного значения на 65001 по-прежнему возвращает ту же ошибку.