Страницы: 1
RSS
Макрос - открыть файл CSV без указания названия файла
 
подскажите, пожалуйста, можно ли и если да, то как, макросу прописать, чтобы он открыл файл csv, не указывая названия файла, а только путь к нему - из той же папки что и файл в котором выполняется макрос, там будет лежать только 1 файл csv.

просто я постоянно скачиваю файлы и добавляю их в файл макросом, а потом удаляю csv-ки, и каждый раз приходится переименовывать эту csv-ку, а вот хочется, чтобы не нужно было переименовывать :)

заранее спасибо
 
Код
Function GetOneCSVFullName(sFolder As String) As String
    Dim s As String
    s = Dir(sFolder & "*.csv")
    If s <> "" Then GetOneCSVFullName = sFolder & s
End Function
 
МатросНаЗебре, что-то у меня не проходит и как не пробую выдает ошибку, может я чего-то не понимаю, там добавить что-то надо вначале?
 
Цитата
snatg написал:
и как не пробую выдает ошибку
1. Как пробуете?
2. Какую ошибку?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Может Cлеша не хватает из GnR?
Код
Function GetOneCSVFullName(ByVal sFolder As String) As String
    If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
    Dim s As String
    s = Dir(sFolder & "*.csv")
    If s <> "" Then GetOneCSVFullName = sFolder & s
End Function
 
он уже на названии макроса (я разные пробовала) выдает "expected end sub"
 
Цитата
snatg написал:
он уже на названии макроса
т.е. показать нам свои попытки не хотите? Предлагаете нам угадать что и как Вы там записали, что ошибки появляются? У меня желания гадать нет, т.к. уже по ошибке я вижу, что у Вас явно нет даже начальных познаний в VBA. Следовательно, можно гадать долго куда и что Вы вставили и как пытаетесь что-то сделать. Лучше подожду, пока у Вас появится понимание того, что без текста Ваших попыток никто ничего конкретного не подскажет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, ну вот например вот так у меня происходит:
https://imgur.com/cOihFGH
да, я реально ничего не понимаю в макросах)
Изменено: snatg - 15.10.2021 18:00:46
 
Откуда Вы взяли строку с Sub?
Удалите ее
 
vikttur, но тогда в списке макросов он не отображается и как его запустить?
 
Вы же писали - подскажите, вот Вам и подсказывают.
Это функция. Запускается или из другого макроса, или пишется в формуле листа.
 
vikttur, о, ничего себе, а как ее вписать в другой макрос?
))) я ничего в этом не понимаю
 
поместите 1 CSV файл в папку C:\Temp и запустите макрос Test

Код
Sub Test()
Dim sCSVFileName As String
    sCSVFileName = GetOneCSVFullName("C:\Temp")
    MsgBox sCSVFileName
End Sub

Function GetOneCSVFullName(ByVal sFolder As String) As String
    If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
    Dim s As String
    s = Dir(sFolder & "*.csv")
    If s <> "" Then GetOneCSVFullName = sFolder & s
End Function
Изменено: New - 15.10.2021 19:54:19
 
New, мне вылетело окошко с названием csv файла)
 
snatg, вопрос - если вы знаете полный путь и имя файла - вы можете открыть данный файл программно или нет?
Вот так открывайте его

Код
Sub Test()
Dim sCSVFileName As String, wbCSV As Workbook
    sCSVFileName = GetOneCSVFullName("C:\Temp")
    Set wbCSV = Workbooks.Open(Filename:=sCSVFileName, ReadOnly:=False, Local:=True)
    MsgBox "Мы открыли файл CSV!", vbInformation, "УРАА"
End Sub
 
Function GetOneCSVFullName(ByVal sFolder As String) As String
    If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
    Dim s As String
    s = Dir(sFolder & "*.csv")
    If s <> "" Then GetOneCSVFullName = sFolder & s
End Function
Изменено: New - 15.10.2021 23:17:47
 
New, пишет мне ошибку compile error: argument not optional
 
у меня нормально открывается файл CSV из папки C:\Temp
Изменено: New - 15.10.2021 20:48:52
 
New, все получилось, спасибо
Страницы: 1
Наверх