Следующий код демонстрирует проблему, указанную в заголовке вопросов.
Скопируйте и вставьте ее в новую книгу Microsoft Excel 2003.
Sub mytest()
mypath = Application.GetSaveAsFilename()
Workbooks.OpenText Filename:=mypath, DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierDoubleQuote, _
semicolon:=True, _
fieldinfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2)), _
Local:=True
End Sub
Выполнить код.Будет запрошен входной файл, в котором вы должны использовать этот разделенный точкой с запятой test.csv .Он создает новую рабочую книгу и импортирует все данные из test.csv в sheet1.
На рисунке ниже показан результат

Но результат должен был быть таким, как этот

fieldinfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))
утверждает, что Excel должен обрабатывать все импортированные данные как текст.К сожалению, это не так.
Может кто-нибудь показать мне, как правильно использовать opentext и fieldinfo?
Я уже знаю обходной путь с QueryTables.Add (Connection [...].
Но это не такрешение для моего случая.