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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 12:20   #1
Luchiya
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию открытие файла csv в excel

Необходимо открыть файл csv с разделителями ";" в excel. Также открытый файл необходимо присвоить переменной для дальнейшей работы с 2мя разными книгами.
Пишу код:
Sub RBTAdd()

Dim mainwb, wb As Workbook
With Application

ChDir ("C:\ReportSystem\reports\")
NumFiles = .GetOpenFilename("CSV Files (*.csv), *.csv", , "Выбрать файлы для добавления, ,True)
If Not IsArray(NumFiles) Then End

Set mainwb = ActiveWorkbook
.ScreenUpdating = False
stbar = .DisplayStatusBar
.DisplayStatusBar = True

Set wb = Workbooks.OpenText(Filename:=NumFil es(1), DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4), Local:=True)
.......
VBA ругается на OpenText: "Ожидается функция или аргумент". В чем причина, может, кто подскажет?
Luchiya вне форума Ответить с цитированием
Старый 15.12.2010, 13:40   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Для выбора файла можно использовать эту функцию: http://excelvba.ru/code/GetFileOrFolderPath

Код будет выглядеть примерно так:

Код:
Sub RBTAdd()
    ' запрашиваем имя файла
    ИмяФайла = GetFileName("Выберите файл CSV", "C:\ReportSystem\reports\", "Отчёты (*.csv*),")
    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла

    Dim mainwb As Workbook, wb As Workbook

    Set mainwb = ActiveWorkbook
    Application.ScreenUpdating = False
    stbar = Application.DisplayStatusBar
    Application.DisplayStatusBar = True

    Set wb = Workbooks.OpenText(ИмяФайла)
    ' ...
End Sub

Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath, _
                     Optional ByVal MyFilter As String = "Книги Excel (*.xls*),") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    If Not IsMissing(InitialPath) Then
        On Error Resume Next: ChDrive Left(InitialPath, 1)
        ChDir InitialPath    ' выбираем стартовую папку
    End If
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")  ' вывод диалогового окна
    GetFileName = IIf(VarType(res) = vbBoolean, "", res)    ' пустая строка при отказе от выбора
End Function
EducatedFool вне форума Ответить с цитированием
Старый 15.12.2010, 14:04   #3
Luchiya
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию

все равно ругается на OpenText Expected Function or variable
Luchiya вне форума Ответить с цитированием
Старый 15.12.2010, 14:15   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Сразу как-то не обратил на это внимания...
OpenText - это МЕТОД, а не ФУНКЦИЯ.
Т.е. этот метод просто открывает файл, и не возвращает ссылки на открытый файл
(в отличие от функции workbooks.Open, которая возвращает ссылку на открытый файл)

Правильно будет так:
Код:
    Workbooks.OpenText ИмяФайла
    Set wb = ActiveWorkbook
EducatedFool вне форума Ответить с цитированием
Старый 15.12.2010, 14:21   #5
Luchiya
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию

о, теперь заработало. спасибо.
Luchiya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Macros -- данные из csv файла надо вставить в Excel sasha7676 Microsoft Office Excel 0 28.04.2010 19:14
открытие файла Excel Deni55 Общие вопросы Delphi 3 15.06.2009 15:30
Открытие файла excel в ворде mistx Microsoft Office Word 27 29.04.2009 13:16
Открытие Excel файла на текущей дате Million Помощь студентам 1 04.09.2008 06:44
Условие на открытие файла Excel Hant Microsoft Office Excel 2 07.05.2008 13:36