Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Необходим макрос, который напечатает все .xlsm файлы в ThisWorkbook.Path , названия которых не содержат в себе "Nord" и "Vest"
 
Добрый день всем, с кем еще не здоровался! Хорошего всем дня!
Суть темы отражена в ее заголовке.


!!!Печатать нужно принтером на бумаге!!!


Из того, что имею в настоящее время:
Код
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 - 15 Май 2018 14:43:37
 
Традиция "один день - один вопрос" продолжается? :)
Что значит "напечатать файлы"? "Печатать" куда? "Печатать" по пути нахождения текущей книги (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 Май 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 Май 2018 17:29:41
 
взяли и все испортили  :D  теперь макрос ничего не напечатает...)
P.S. - тут в этой теме все вот так - " ? :sceptic:  ?"   :)  
 
Цитата
RAN написал: Печать к сути вопроса отношения не имеет, перебор файлов тоже,
falmrom, предожите название темы по задаче.
 
vikttur, уважаевый модератор форума, пожалуйста, закройте или удалите тему, т.к. проблема решена, актуальность утрачена. Спасибо большое!
 
falmrom, вот такое Ваше отношение к форуму...
В своих темах не отписывались, пока пинка не получили (хоть уверяли, что отслеживаете свои темы). Тему - удалить, и не важно, что на Вас время тратили, что-то предлагали. Вы свое получили и потратить часть своего драгоценного  времени на переименование не желаете. Вам не надо - так кому-нибудь еще пригодится, не будьте только потребителем!

Давайте-ка или следовать правилам и взаимно уважать друг друга, или забаним мы Вас, как персону, нежелательтную на форуме.
 
vikttur, хорошо. Спасибо. Извиняюсь.
 
Цитата
vikttur написал: предожите название темы по задаче.
Страницы: 1
Читают тему (гостей: 4)