![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
![]()
Запутался с типами переменных.
Хочу настройки импорта txt файлов. Две переменные уже заданы, а с остальными проблемка, т.к. пытался задать и ничего не получалось в итоге. Вот фрагмент кода: Dim MyTextFileColumnDataTypes(), MyTextFileFixedColumnWidths() Sheets("Лист1").Select With ActiveSheet.QueryTables.Add(Connect ion:= _ "TEXT;" & Sheets("Лист2").Range("A1"), _ Destination:=Range("$A$1")) .Name = "Данные" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1251 .TextFileStartRow = 1 .TextFileParseType = xlFixedWidth .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = MyTextFileColumnDataTypes .TextFileFixedColumnWidths = MyTextFileFixedColumnWidths .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With Хочу сделать примерно так: Dim _ MyFieldNames As ???, _ MyRowNumbers As ???, _ MyFillAdjacentFormulas As ???, _ MyPreserveFormatting As ???, _ MyRefreshOnFileOpen As ???e, _ MyRefreshStyle As ???, _ MySavePassword As ???, _ MySaveData As ???, _ MyAdjustColumnWidth As ???, _ MyRefreshPeriod As ???, _ MyTextFilePromptOnRefresh As ???, _ MyTextFilePlatform As ???, _ MyTextFileStartRow As ???, _ MyTextFileParseType As ???, _ MyTextFileTextQualifier As ???, _ MyTextFileConsecutiveDelimiter As ???, _ MyTextFileTabDelimiter As ???, _ MyTextFileSemicolonDelimiter As ???, _ MyTextFileCommaDelimiter As ???, _ MyTextFileSpaceDelimiter As ???, _ MyTextFileColumnDataTypes(), _ MyTextFileFixedColumnWidths(), _ MyTextFileTrailingMinusNumbers As ??? Sheets("Лист1").Select With ActiveSheet.QueryTables.Add(Connect ion:= _ "TEXT;" & Sheets("Лист2").Range("A1"), _ Destination:=Range("$A$1")) .Name = "Данные" .FieldNames = MyFieldNames .RowNumbers = MyRowNumbers .FillAdjacentFormulas = MyFillAdjacentFormulas .PreserveFormatting = MyPreserveFormatting .RefreshOnFileOpen = MyRefreshOnFileOpen .RefreshStyle = MyRefreshStyle .SavePassword = MySavePassword .SaveData = MySaveData .AdjustColumnWidth = MyAdjustColumnWidth .RefreshPeriod = MyRefreshPeriod .TextFilePromptOnRefresh = MyTextFilePromptOnRefresh .TextFilePlatform = MyTextFilePlatform .TextFileStartRow = MyTextFileStartRow .TextFileParseType = MyTextFileParseType .TextFileTextQualifier = MyTextFileTextQualifier .TextFileConsecutiveDelimiter = MyTextFileConsecutiveDelimiter .TextFileTabDelimiter = MyTextFileTabDelimiter .TextFileSemicolonDelimiter = MyTextFileSemicolonDelimiter .TextFileCommaDelimiter = MyTextFileCommaDelimiter .TextFileSpaceDelimiter = MyTextFileSpaceDelimiter .TextFileColumnDataTypes = MyTextFileColumnDataTypes .TextFileFixedColumnWidths = MyTextFileFixedColumnWidths .TextFileTrailingMinusNumbers = MyTextFileTrailingMinusNumbers .Refresh BackgroundQuery:=False Вместо " ??? " что только уже ни пробовал, не получается. Подскажите пожалуйста. Пробовал поставить везде тип Variant и тогда на строке .TextFilePlatform = MyTextFilePlatform выдает ошибку.
Нет ничего невозможного, главное верить в это.
Последний раз редактировалось Snekich; 06.12.2011 в 14:45. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Там где на выходе True/False - ставьте Boolean
Там, где другое - смотрите в ObjectBrowser, чему равно значение. Например xlFixedWidth = 2, т.е byte/single/integer/long вероятно можно ставить (не проверял). Или оставляйте без типа и смотрите при отладке, что код сам выставит - то и впишите.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 16.05.2010
Сообщений: 1,249
|
![]()
Попутно - имена переменных громоздки, утяжеляют восприятие кода. Я бы сокращал. Но это на любителя.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Используйте тип Variant, не ошибетесь
![]() Код:
Код:
Обычно лишь несколько параметров меняются по ходу выполнения программы, для них надо использовать переменные. А остальные имеет смысл оставить так, как макрорекордер записал.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
![]() Цитата:
Значения переменным задаются, я не стал весь код сюда копировать. Все-равно не получается у меня добиться результата... Может тогда подскажите: При импорте файла указываешь кодировку в которой текст надо вставить: кириллица, дос и куча других.... В какой строке данного кода хранится информация о кодировке текста. Я считал, что в строке .TextFilePlatform = 1251 но, когда я задаю вместо 1251 переменную, которой заранее присваивается значение (например, Кириллица (Dos) ) ..... кодировка все-равно выбирается по умолчанию 1251: Кириллица(Windows) Как решить данную проблему?
Нет ничего невозможного, главное верить в это.
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
![]()
Проблему понял, а как решить пока не знаю... создам новую тему т.к. речь пойдет уже не о переменных.))
Нет ничего невозможного, главное верить в это.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с типами | Form_13 | Помощь студентам | 1 | 28.07.2011 16:41 |
Проблема с типами | maziLa | Помощь студентам | 2 | 13.02.2010 13:23 |
запутался! | mistertvister | Помощь студентам | 3 | 28.10.2009 14:52 |
Проблемы с типами | tavrocotaps | Общие вопросы C/C++ | 3 | 29.01.2009 17:28 |
проблема с типами | Saya | Свободное общение | 0 | 27.04.2007 12:22 |