Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 18:37   #1
vbanub
 
Регистрация: 12.10.2015
Сообщений: 3
По умолчанию Работа с файлом Exel(макрос)

Буду благодарен, если поможете!


Файл ехсel содержит таблицу: колонки - характеристики компьютеров. Изначально таблица пуста.

С помощью вызываемого диалогового окна требуется выбирать папку с текстовыми файлами заданной структуры (например, одна строка - один параметр), хранящие характеристики компьютеров.

Программа должна импортировать данные из файлов в таблицу. При нахождении полных дублей, сообщать об это пользователю. При нахождении частичных дублей (большая часть полей), также выдавать соответствующее сообщение.

Разобрался, как вытягивать данные из файла, в данном случае 5 колонок , но можно сделать сколько угодно

Собственно код:
Код:
Sub Import()
  Dim Fname   As Variant
  Fname = Application.GetOpenFilename("Text Files (*.txt),*.txt", , _
  "Select Text Data File")
  If Fname = False Then Exit Sub
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Fname, Destination:= _
        Range("A1"))
        .Name = "File_01"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
Народ хелп нужен большой с дубликатами и частичными дубликатами - выводом сообщения на экран, я как бы понимаю циклом по многомерному массиву надо проходиться и искать, но врубится в vba не могу в этом плане. Работаю с С, С++ и там либо циклом force либо через класс map, тут хз.

Последний раз редактировалось vbanub; 13.10.2015 в 18:44.
vbanub вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом(Макрос) vbanub Microsoft Office Excel 6 12.10.2015 15:28
Exel 2003 макрос ! Vadim Lisovec Microsoft Office Excel 4 22.08.2013 11:09
МАКРОС СО СМЕЩЕНИЕМ EXEL 2003 Ирина Розанова Microsoft Office Excel 13 07.09.2012 00:05
Exel - при открытии файла через макрос, если файл отсутствует - виснет весь макрос gregory1b Microsoft Office Excel 2 14.10.2010 11:51
Макрос в Exel Tomatos БД в Delphi 1 16.06.2009 17:33