Страницы: 1
RSS
Макрос для печати файлов из той же папке, в которой находится файл с макросом
 
       Здравствуйте.
      Я сейчас работаю в Excel2003, и мне часто приходится печатать более 100 файлов сразу. Скажите, пожалуйста, может есть макрос, позволяющий печатать все файлы в той же папке, в которой находится файл, откуда этот макрос запускается? Помогите, пожалуйста.
 
Не оно https://excelpedia.ru/makrosi-v-excel/raspechatat-vse-knigi
https://forumooo.ru/index.php?topic=6509.90
Изменено: Mershik - 22.09.2020 22:01:58
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,
С первой ссылкой разбираюсь. Вторая - тогда мне надо было для OpenOffice, а сейчас понадобилось для Excel2003.  
 
Скажите, а в макрос по первой ссылке обязательно использовать папку temp? Хотелось бы иметь возможность использовать папку с другим названием.  
 
Подставьте в путь свою папку )
 
Всем большое спасибо.
Вдогонку вопрос: а если мне понадобится выбирать папку, как тогда будет выглядеть макрос?  
 
Только в том макросе нужно добавить проверку, чтобы не печатал файл, в котором макрос.
По второму вопросу: придётся вызывать диалоговое окно выбора папки.
 
Цитата
Юрий М написал:
придётся вызывать диалоговое окно выбора папки
Можно пример кода, пожалуйста.
 
Код
Sub PechatVsehKnig()
    Dim iPath As String, FD As FileDialog, MyFile As String, TempWB As Workbook
    
    'выбор папки
    Set FD = Application.FileDialog(msoFileDialogFolderPicker)
    With FD
        .AllowMultiSelect = False
        .Title = "Укажите папку с файлами"
        .ButtonName = "Выбрать папку"
        If .Show = False Then Exit Sub Else iPath = .SelectedItems(1) & Application.PathSeparator
    End With
    Set FD = Nothing

    MyFile = Dir(iPath & "*.xlsx")
    Do While MyFile <> ""
        If MyFile <> ThisWorkbook.FullName Then
            'Открываем файлы один за другим
            Set TempWB = Workbooks.Open(iPath & MyFile, ReadOnly:=True)
            TempWB.Sheets("Лист1").PrintOut Copies:=1
            TempWB.Close SaveChanges:=False
            'Следующий файл в папке
            MyFile = Dir
        End If
    Loop
End Sub
Изменено: New - 22.09.2020 22:50:35
 
Халк, почитайте эту статью.  Или у нас на сайте в разделе "Приемы" похожая статья.
Интересно получается: Вы задаёте вопрос - мы ищем ответ и даём Вам ссылки. А почему сами не ищете?
 
Всем большущее спасибо.
Цитата
Юрий М написал:
А почему сами не ищете?
Видимо как-то не так формулирую поисковой запрос.
 
Цитата
Юрий М написал:
Подставьте в путь свою папку
Подставьте свою папку и в путь! :)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх