VBA – Excel – Сохранить как и удалить оригинальную книгу

Из файла Personal.xlsb я хочу, чтобы VBA сохранял текущую активную книгу как определяемое пользователем имя в том же каталоге и удалял оригинальную книгу.

Ниже мой код. У этого есть две проблемы. Во-первых, он сохраняет книгу в папке «Мои документы» по какой-то причине. Активная книга не находится в «Мои документы». Он находится в папке с совершенно другим диском. Во-вторых, он выдает ошибку «Файл не найден».

Sub RenameFile() Dim thisWb As Workbook Set thisWb = ActiveWorkbook MyOldName = ActiveWorkbook.Name MyNewName = InputBox("What do you want to rename the file as?", "Rename", ActiveWorkbook.Name) ActiveWorkbook.SaveAs Filename:=thisWb.Path & MyNewName Kill MyOldName End Sub 

Вам нужно \ путь \ after и имя файла.

 Sub RenameFile() Dim thisWb As Workbook Set thisWb = ActiveWorkbook MyOldName = ActiveWorkbook.FullName MyNewName = InputBox("What do you want to rename the file as?", "Rename", ActiveWorkbook.Name) ActiveWorkbook.SaveAs Filename:=thisWb.Path & "\" & MyNewName Kill MyOldName End Sub 

Изменить: Обновлен ответ, чтобы включить исправление из комментария.

Поэтому у меня есть код, который я использую для автоматического сохранения файлов (в каталог, указанный в коде), а затем удаляет определенный тип файла из указанной папки. (Я использую его для сохранения .xlsx и удаления .csv)

 'Saves file to specified location ActiveWorkbook.SaveAs filename:="C:\Desktop\Testing\Testing File " _ & Format(Now() - 1, "DD.MM.YY") & ".xlsx" _ , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False On Error Resume Next Kill "C:\Desktop\Testing*.csv*" On Error GoTo 0 

Это код, который я использовал, который находится в более длинном модуле VBA, но вы можете включить его в существующий код VBA

Обратите внимание, что в настоящее время этот файл сохраняет как Тестирование за день до текущей системной даты в имени, например «Тестирование 30.10.16»,

  • Рассчитать среднее значение, исключая текущее наблюдение
  • excel issue - вычисление формул не происходит автоматически
  • Как вы определяете MEDIAN колонки с учетом фильтров?
  • Excel: создайте поле перед сохранением, но позвольте мне сохранить пустую форму
  • Запретить сохранение. Как будто ячейки не имеют значения
  • Формула дня отпуска
  • Excel Именованный диапазон для синтаксиса диаграммы?
  • Excel Найти и заменить текст в формуле
  • Передать excel Column / cell range в запрос MySQL / MS в качестве параметра
  • Excel очень медленный при получении данных от Azure Analysis Services
  • Формулы, разбивающиеся на строки и удаленные строки
  • Давайте будем гением компьютера.