Как получить код Excel VBA для сохранения отфильтрованного CSV как нового CSV? - PullRequest
0 голосов
/ 20 декабря 2018

Я не могу заставить надстройку макроса Excel принять импортированный в Excel отфильтрованный файл CSV и сохранить его как новый файл CSV.При сохранении с новым именем файл остается пустым.Он не содержит отфильтрованных данных.

Я искал этот сайт и другие, и я использую код, основанный на различных примерах кода, найденных здесь и в других местах.Я включил MsgBox, чтобы просмотреть путь и имя файла перед его сохранением, и все выглядит нормально.Когда я проверяю и возвращаю счетчик количества рабочих книг, он просто показывает счетчик 1. Поэтому я не верю, что он видит Аддин как рабочую книгу.

If Right(Workbooks(1).path, 1) <> "\" Then
    path = Workbooks(1).path & "\Filtered_" & Workbooks(1).Name
Else
    path = Workbooks(1).path & "Filtered_" & Workbooks(1).Name
End If

MsgBox path

ThisWorkbook.SaveAs Filename:=path, FileFormat:=xlCSV

Application.DisplayAlerts = True

MsgBox "Filtering Complete", vbOKOnly, "Filtered CSV"

Я ожидаюоткройте файл и посмотрите отфильтрованные результаты.Вместо этого он просто пуст, когда я открываю новый файл.

1 Ответ

0 голосов
/ 20 декабря 2018

Мне нужно было изменить «ThisWorkbook» на «Workbooks (1)»:

ThisWorkbook.SaveAs Filename:=path, FileFormat:=xlCSV

ThisWorkbook ссылается на используемый надстройку, а не на фактическую редактируемую книгу.

...