Страницы: 1
RSS
Печать файлов по маске (.xlsm), находящихся в определенной папке
 
Добрый день всем, с кем еще не здоровался! Хорошего всем дня!
Суть темы отражена в ее заголовке.

!!!Печатать нужно принтером на бумаге!!!
Из того, что имею в настоящее время:
Код
Sub Печать_заданных_листов_файлов_Excel_из_папки()

    Dim MyPath$, MyFileName$, ShName, i%
    MyPath = ThisWorkbook.Path & "\Газпром"  ' Папка, из которой печатаем
    MyFileName = Dir(MyPath & "*.xls*")
    On Error Resume Next  ' Если в файле нет заданного листа, то игнорируем и продолжаем работать
    Do Until MyFileName = ""
        If Left$(MyFileName, 2) <> "~$" and "Nord" and "Vest" Then
        Workbooks.Open Filename:=MyPath & MyFileName, UpdateLinks:=0, ReadOnly:=True
            For i = 0 To UBound(ShName)
                ActiveWorkbook.Sheets(ShName(i)).PrintOut
            Next i
            ActiveWorkbook.Close 0
        End If
        MyFileName = Dir
    Loop
End Sub
Изменено: falmrom - 27.05.2018 18:51:19
Улыбнись.
 
Традиция "один день - один вопрос" продолжается? :)
Что значит "напечатать файлы"? "Печатать" куда? "Печатать" по пути нахождения текущей книги (ThisWorkbook.Path) или искать файлы по этому пути?
 
Цитата
falmrom написал:
Из того, что имею в настоящее время:
то что Вы имеете в настоящее время не имеет никакого отношения к тому, что Вы спрашиваете в теме.
задам аналогичный вопрос:
у меня есть попугай, как из него выкормить слона?
понимаете, чтобы выкормить слона нужен слоненок, а о попугае можно забыть и не обращать на него внимания, слон из него всеравно не получится
т.е. Ваше сообщение было бы более информативным без приведенного совершенно бесполезного фрагмента кода.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
vba перебор файлов в папке
Согласие есть продукт при полном непротивлении сторон
 
vikttur, Ігор Гончаренко, Sanja, строка:
Код
If Left$(MyFileName, 2) <> "~$" and "Nord" and "Vest" Then

Каким должен быть синтаксис, чтобы было не and-(и), а или?

Должно быть так, только, что б работало))))

Код
If Left$(MyFileName, 2) <> "~$" или "Nord" или "Vest" Then
Улыбнись.
 
Печать к сути вопроса отношения не имеет, перебор файлов тоже, а вот фрагмент кода - как раз.
Цитата
falmrom написал:
If Left$(MyFileName, 2) <> "~$" and "Nord" and "Vest" Then

заменить на
Код
If Instr(MyFileName, "~$") then
ElseIf Instr(MyFileName, "Nord") then
ElseIf Instr(MyFileName,  "Vest") then
Else


PS falmrom, рекомендую предложить название, соответствующее сути вопроса.
 
Код
If Left$(MyFileName, 2)
не может быт равно ни "Nord" ни  "Vest" потому как содержит всего 2 символа. Зачем в таком случае вообще сравнивать с этими значениями?
Изменено: Nordheim - 15.05.2018 14:49:31
"Все гениальное просто, а все простое гениально!!!"
 
RAN, Nordheim, большое спасибо! Очень помогли, друзья!
Улыбнись.
 
Цитата
falmrom написал:
MyPath = ThisWorkbook.Path & "\Газпром"
MyFileName = Dir(MyPath & "*.xls*")
?  :sceptic: ?
"Газпром" это также папка, из которой "печатаем" или название файла ?

Если ThisWorkbook.Path = "C:\Temp" => MyPath = "C:\temp" & "\Газпром" => MyPath = "C:\temp\Газпром" ==> MyFileName = "C:\temp\Газпром" & "*.xls*" => MyFileName = "C:\temp\Газпром*.xls*" ==> ??? ==> Газпром*.xls*

Может так будет лучше ?
Код
MyPath = ThisWorkbook.Path & "\Газпром\"    ' Папка, из которой печатаем
MyFileName = Dir(MyPath & "*.xlsm")
а потом
Код
If Not MyFileName Like "*Nord*" And Not MyFileName Like "*Vest*" Then
? :sceptic: ?
Изменено: ocet p - 15.05.2018 17:29:41
 
взяли и все испортили  :D  теперь макрос ничего не напечатает...)
P.S. - тут в этой теме все вот так - " ? :sceptic:  ?"   :)  
 
Проблема решена, актуальность утрачена. Спасибо большое!
Улыбнись.
Страницы: 1
Наверх