VBA создает CSV из листа с именем Workbook - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь создать новый файл CSV, названный в честь оригинальной рабочей книги без нескольких слов в названии, из листа в моей рабочей книге. В настоящее время я не могу понять, как назвать его в своей книге, не говоря уже о том, чтобы вычесть несколько слов из названия книги. Чтобы уточнить: имя книги "ab c def", хотите, чтобы новый CSV-файл назывался "ab c"

    Sub SaveActiveSheet_CSV ()
    Dim myCSVFileName As String

    Application.DisplayAlerts = False
    myCSVFileName = ThisWorkbook.Path & "abcd"
    ThisWorkbook.Sheets("Sheet1").Copy

    ActiveWorkbook.SaveAs Filename:=MyCSVFileName, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWorkbook.Close

    Application.DisplayAlerts = True

    End Sub

. Любая помощь будет должным образом оценена

1 Ответ

0 голосов
/ 04 апреля 2020

Если, как вы предлагаете, ваш текущий файл называется «ab c def», вы можете использовать Split(), чтобы получить имя нового файла. Поэтому вам потребуются свойства .Path и .FullName.

Таким образом:

Dim myCSVFileName As String

myCSVFileName = ThisWorkbook.Path & "\" & Split(ThisWorkbook.Name, " ")(0) & ".csv"

или, альтернативно:

myCSVFileName = Split(ThisWorkbook.FullName, " ")(0) & ".csv"
...