Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Путь вывода PDF файлов - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Путь вывода PDF файлов (Макросы/Sub)
Путь вывода PDF файлов
televnoy Дата: Пятница, 24.08.2018, 08:45 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток, уважаемые форумчане.

Имеется макрос пакетной печати файлов из папки.
[vba]
Код

Sub Печать_всех_файлов_из_папки()
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = UserForm1.TextBox1.Text '  & "\"   Папка, из которой печатаем
    MyFileName = Dir(MyPath & UserForm1.ComboBox1.Text)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            bk.Worksheets(1).PrintOut Copies:=UserForm1.Label2.Caption
            bk.Close SaveChanges:=False
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
    MsgBox "Готово!", vbInformation
End Sub

[/vba]

Заменил часть кода вместо печати воткнул экспорт

[vba]
Код


Sub Экспорт_всех_файлов_из_папки()
On Error Resume Next
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = UserForm1.TextBox1.Text '  & "\"   Папка, из которой печатаем
    MyFileName = Dir(MyPath & UserForm1.ComboBox1.Text)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            
'_________________________________           
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True
'_________________________________                           
            bk.Close SaveChanges:=False
            
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
        MsgBox "Готово!", vbInformation
End Sub

[/vba]

Макрос работает, но сохраняет в туже папку где оригиналы
Пробовал так, (Сохранение на диск С) но все четно :(

[vba]
Код


ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:= "C:\" & ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True

[/vba]

____________________

Плюс (сохраняя) экспортируя файл xls в pdf, он сохраняет ИМЯ.xls.pdf, а надо ИМЯ.pdf %)

Так же он открывает созданные pdf файлы, что грузит систему :(

А так же весят безкмно много :(

Помогите, разрешить эти задачи. Спасибо.


О-па! 0_o

Сообщение отредактировал televnoy - Пятница, 24.08.2018, 08:49
 
Ответить
СообщениеДоброго времени суток, уважаемые форумчане.

Имеется макрос пакетной печати файлов из папки.
[vba]
Код

Sub Печать_всех_файлов_из_папки()
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = UserForm1.TextBox1.Text '  & "\"   Папка, из которой печатаем
    MyFileName = Dir(MyPath & UserForm1.ComboBox1.Text)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            bk.Worksheets(1).PrintOut Copies:=UserForm1.Label2.Caption
            bk.Close SaveChanges:=False
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
    MsgBox "Готово!", vbInformation
End Sub

[/vba]

Заменил часть кода вместо печати воткнул экспорт

[vba]
Код


Sub Экспорт_всех_файлов_из_папки()
On Error Resume Next
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = UserForm1.TextBox1.Text '  & "\"   Папка, из которой печатаем
    MyFileName = Dir(MyPath & UserForm1.ComboBox1.Text)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            
'_________________________________           
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True
'_________________________________                           
            bk.Close SaveChanges:=False
            
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
        MsgBox "Готово!", vbInformation
End Sub

[/vba]

Макрос работает, но сохраняет в туже папку где оригиналы
Пробовал так, (Сохранение на диск С) но все четно :(

[vba]
Код


ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:= "C:\" & ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True

[/vba]

____________________

Плюс (сохраняя) экспортируя файл xls в pdf, он сохраняет ИМЯ.xls.pdf, а надо ИМЯ.pdf %)

Так же он открывает созданные pdf файлы, что грузит систему :(

А так же весят безкмно много :(

Помогите, разрешить эти задачи. Спасибо.

Автор - televnoy
Дата добавления - 24.08.2018 в 08:45
televnoy Дата: Пятница, 24.08.2018, 09:17 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Методом "тыка" в коде
[vba]
Код

ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:= "C:\" & ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True
[/vba]

Поменял ActiveWorkbook.FullName на ActiveWorkbook.Name, теперь стало сохранять по пути.
____________________

Но как избавиться от имени "ИМЯ.xls.pdf" , и сохранить в "ИМЯ.pdf"???
И ГЛАВНОЕ ПРЕДОТВРАТИТЬ ОТКРЫТИЕ PDF после экспорта?


О-па! 0_o

Сообщение отредактировал televnoy - Пятница, 24.08.2018, 09:21
 
Ответить
СообщениеМетодом "тыка" в коде
[vba]
Код

ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:= "C:\" & ActiveWorkbook.FullName & ".pdf", OpenAfterPublish:=True
[/vba]

Поменял ActiveWorkbook.FullName на ActiveWorkbook.Name, теперь стало сохранять по пути.
____________________

Но как избавиться от имени "ИМЯ.xls.pdf" , и сохранить в "ИМЯ.pdf"???
И ГЛАВНОЕ ПРЕДОТВРАТИТЬ ОТКРЫТИЕ PDF после экспорта?

Автор - televnoy
Дата добавления - 24.08.2018 в 09:17
sboy Дата: Пятница, 24.08.2018, 09:32 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2063
Репутация: 593 ±
Замечаний: 0% ±

Excel 2010
Добрый день
[vba]
Код
Filename:= "C:\" & left(activeworkbook.Name, instr(activeworkbook.Name,".")-1) & ".pdf", OpenAfterPublish:=False
[/vba]
 
Ответить
СообщениеДобрый день
[vba]
Код
Filename:= "C:\" & left(activeworkbook.Name, instr(activeworkbook.Name,".")-1) & ".pdf", OpenAfterPublish:=False
[/vba]

Автор - sboy
Дата добавления - 24.08.2018 в 09:32
_Boroda_ Дата: Пятница, 24.08.2018, 09:33 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12984
Репутация: 5337 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Например
[vba]
Код
    With ActiveWorkbook
        fn_ = Left(.Name, InStrRev(.Name, ".") - 1)
        .ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\" & fn_ & ".pdf", OpenAfterPublish:=True
    End With
[/vba]

[offtop] sboy, у меня на работе есть любительницы ставить точки в названиях файла, типа "01.02.2018 отчет"[/offtop]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНапример
[vba]
Код
    With ActiveWorkbook
        fn_ = Left(.Name, InStrRev(.Name, ".") - 1)
        .ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\" & fn_ & ".pdf", OpenAfterPublish:=True
    End With
[/vba]

[offtop] sboy, у меня на работе есть любительницы ставить точки в названиях файла, типа "01.02.2018 отчет"[/offtop]

Автор - _Boroda_
Дата добавления - 24.08.2018 в 09:33
televnoy Дата: Пятница, 24.08.2018, 09:34 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Виду монолог :)
Внимательно взглянул на код. И увидел
OpenAfterPublish:=True Переписал OpenAfterPublish:=False - теперь не открывается, осталось решить вопрос с ИМЕНЕМ и ВЕСОМ ФАЙЛА


О-па! 0_o
 
Ответить
СообщениеВиду монолог :)
Внимательно взглянул на код. И увидел
OpenAfterPublish:=True Переписал OpenAfterPublish:=False - теперь не открывается, осталось решить вопрос с ИМЕНЕМ и ВЕСОМ ФАЙЛА

Автор - televnoy
Дата добавления - 24.08.2018 в 09:34
sboy Дата: Пятница, 24.08.2018, 09:47 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2063
Репутация: 593 ±
Замечаний: 0% ±

Excel 2010
[offtop]
есть любительницы ставить точки

я хотел приписать условие "если в именах файлов нет точек", но отвлекся на кофе и сохранил сообщение так :)
 
Ответить
Сообщение[offtop]
есть любительницы ставить точки

я хотел приписать условие "если в именах файлов нет точек", но отвлекся на кофе и сохранил сообщение так :)

Автор - sboy
Дата добавления - 24.08.2018 в 09:47
televnoy Дата: Пятница, 24.08.2018, 09:50 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые, простите, не видел ваших сообщений, страницу не обновил... sboy, _Boroda_,
Сейчас буду пробывать


О-па! 0_o
 
Ответить
СообщениеУважаемые, простите, не видел ваших сообщений, страницу не обновил... sboy, _Boroda_,
Сейчас буду пробывать

Автор - televnoy
Дата добавления - 24.08.2018 в 09:50
televnoy Дата: Пятница, 24.08.2018, 09:57 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые [sub]sboy, _Boroda_, спасибо помогло с меня +++++


О-па! 0_o
 
Ответить
СообщениеУважаемые [sub]sboy, _Boroda_, спасибо помогло с меня +++++

Автор - televnoy
Дата добавления - 24.08.2018 в 09:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Путь вывода PDF файлов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!