Можно ли автоматизировать добавление 1 строки в прибл. 50 файлов Excel в папке? - PullRequest
0 голосов
/ 20 марта 2012

У меня есть папка с файлами Excel (оканчивающаяся на .xlsx).Их около 50.Можно ли перебирать каждый файл Excel в папке и вставлять пустую строку в строку 1?

Я бы не хотел делать это вручную.Также я хотел бы добавить слово «NEW» в ячейку A1 для всех 50 файлов.Это возможно с VBA?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Вы можете создать контрольную книгу в Excel - там будет ваш макрос.

  • Одна из возможностей - использовать функцию Dir в цикле Do, который будет проходить через всефайлы в определенном каталоге
  • Вы можете добавлять символы подстановки и искать определенные фрагменты текста в именах файлов, чтобы проверить, являются ли они файлами, с которыми вы хотите работать.
  • Если процедуранаходит файл, который соответствует вашим критериям, он будет использовать прямой , чтобы открыть файл, внести изменения, а затем закрыть и сохранить его.

Вот один пример зацикливания файлов в целевом каталоге пример

Вот лучший пример

  • Другая возможность - написать макрос, используя FileSystemObject. Пример здесь.

Вот некоторый код, который я регулярно использую, который использует fso для циклического просмотра файлов в папке, проверки и удаления, если таковые имеются, и с определенной строкой в ​​ихназвание:

        Function DeleteFilesNotCreatedToday(myTargetFolder As String)

        Dim myFolder
        Dim myFile
        Dim YesterdayDate As Date

        YesterdayDate = Date
        Set myFolder = CreateObject("Scripting.FileSystemObject").GetFolder(myMMTargetFolder).Files
                For Each myFile In myFolder
                       If Left(myFile.Name, 13) = "Daily Summary" Then
                              If DateDiff("s", myFile.datelastmodified, YesterdayDate) < 0 Then
                                   Else
                                       On Error Resume Next
                                       myFile.Delete
                                       On Error GoTo 0
                                   End If
                       End If
                 Next
        Set myFolder = Nothing

        End Function            'DeleteFilesNotCreatedToday
1 голос
/ 20 марта 2012

Для этого можно использовать макрос VBA, заставить его работать в одном из ваших файлов, а затем использовать функцию Workbooks.Open, чтобы открыть другие файлы и запустить тот же код.

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