Сохранение макроса для обновления файла - PullRequest
0 голосов
/ 19 марта 2019
  • Справочная информация - у меня есть две кнопки, которые обе запускают набор кода. Файл Excel содержит более 30 столбцов и 65 000 строк. Этот файл экспортируется (.csv) откуда-то и обновляется каждые две недели.

  • Цель - сохранить новый файл с тем же именем, что и старый. Таким образом, значения могут быть обновлены, кнопки по-прежнему доступны, и код может снова запускаться с новым файлом.

  • или что при экспорте нового файла он сохраняется в папке, в которой выполняется код НЕЗАВИСИМЫЙ пути пользователя. т.е. Pathname = ActiveWorkbook.Path & "C:\Users\"this can be any name"\Desktop\Downloads\"

1020 * Покушение *

  1. Использовал код, аналогичный приведенному в предыдущем вопросе «Запускать один и тот же макрос Excel для нескольких файлов Excel» с изменениями, адаптированными для моего кода. Без успеха

    Sub ProcessFiles()
        Dim Filename, Pathname As String
        Dim wb As Workbook
    
        Pathname = ActiveWorkbook.Path & "\Files\"
        Filename = Dir(Pathname & "*.xls")
        Do While Filename <> ""
            Set wb = Workbooks.Open(Pathname & Filename)
            DoWork wb
            wb.Close SaveChanges:=True
            Filename = Dir()
        Loop
    End Sub
    
    1. В настоящее время, когда я пытаюсь использовать первый метод, я заменяю только (Старый файл + VBA) на (Новый файл).

Обратите внимание, что решение не должно быть кодом VBA. Если бы он просто сохранял файл в новом методе, который хранит макрос и обновляет значения, я был бы счастлив.

1 Ответ

0 голосов
/ 19 марта 2019

Пример моего предыдущего ответа:

Sub SaveThisAs()

    Dim wb As Workbook: Set wb = ThisWorkbook 'ThisWorkbook referrs to the workbook the macro is ran from
    Dim PathToSaveTo As String

    PathToSaveTo = wb.Path & "\"
    PathToSaveTo = PathToSaveTo & Format(Now, "ddMMyyyy_hhmmss") & wb.Name  'Lets add a timestamp

    'Do your macro stuff here
    '....


    'Save the workbook
    wb.SaveAs PathToSaveTo

End Sub

Обратите внимание, что я использую wb.Name в конце файла для сохранения в ... это будет хорошо при первом запуске этого, но во второй раз имя будет длиннее ... и длиннее ... и длиннее.Настройте в соответствии с вашими потребностями с соответствующим именем файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...