Как сохранить в качестве рабочей книги, которая у меня уже есть, в виде CSV, с новым именем, заданным пользователем через поле ввода? - PullRequest
0 голосов
/ 04 января 2019

Мне нужен макрос для сохранения книги в виде файла CSV.Код, который у меня уже есть, работает хорошо, но, кроме того, я хочу, чтобы пользователя попросили ввести имя нового файла (CSV), чтобы новый CSV-файл был тем, который набрал пользователь.Как я могу это сделать?До сих пор я не смог этого сделать.Сейчас мне нужно вставить новое имя прямо в код и менять его каждый раз, когда я хочу другое имя.Какой код мне нужно добавить?

Я пытался изменить "\ Group 1" в коде для CSV_FILE_NAME, и это не работает.Группа 1 - это новый CSV-файл, который прямо в коде, и я этого не хочу.Я хочу, чтобы пользователь вводил любое имя.CSV_FILE_NAME - это переменная, в которой должно быть указано новое имя.

Sub CSV_TERMINADO()

    Range("A:D,F:F,H:H").Select
    Range("H1").Activate
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Nombre"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Correo"
    Range("A1").Select

    LibroActual = ActiveWorkbook.Name
    CSV_FILE_NAME = InputBox("Type a name", "CSV FILE")
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Group 1", _
    FileFormat:=xlCSV, CreateBackup:=False
    Workbooks.Open ThisWorkbook.Path & "\" & LibroActual

End Sub

Я ожидаю получить новое имя файла CSV, набранное пользователем, без необходимости указывать его прямо в коде, прежде чем запускать макрос (sub).

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Это должно работать:

ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & Application.PathSeparator & CSV_FILE_NAME, _
                      FileFormat:=xlCSV
0 голосов
/ 04 января 2019
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & CSV_FILE_NAME _ ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...