Страницы: 1
RSS
Сохранение в PDF с автоматическим назначением имён файлов из ячейки
 
недавно начал осваивать макросы и нужно сделать следующую вещь: при сохранении в pdf  макрос должен сделать имя файла из определённой ячейки текущего файла. сейчас он подставляет имя листа , но это не удобно , т.к. файлы делаются регулярно и каждый раз их приходится переименовывать вручную
посмотрел по форуму и ничего подобного не нашёл
 
Во-первых, зачем картинки на форуме по Эксель?
Используйте для именования системные дату и время. И будет счастье.
Я сам - дурнее всякого примера! ...
 
картинку вставил из-за того , что текст макроса не хотел по-людски вставляться , а сам файл больше 100 кб.
про дату думал , но это мне не удобно . там присваиваться номера документов должны, а за один день их бывает много
 
Код
Sub сохранить()
'
' сохранить Макрос
'

'
    Sheets(Array("акт", "ДКП бу")).Select
    Sheets("ДКП бу").Activate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\AUTO4YOU\Desktop\ДКП.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    Sheets("поручение").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\AUTO4YOU\Desktop\Поручение.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    Sheets("основа").Select
    Range("A1").Select
End Sub
 
Изменено: somafountain - 21.01.2014 20:55:46
 
Может так

Код
Sub сохранить()
Dim Fname As String
Fname = "C:\" & Sheets("ДКП бу").Range("A1").Value
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fname, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
 
я так понимаю это кусок кода надо куда-то вставить , но не пойму куда
а отдельным макросом это не работает  
Изменено: somafountain - 22.01.2014 10:32:34
 
Все работает. По крайней мере у меня. Сохраняет файл pdf с именем из ячейки A1 листа "ДКП бу" на диск С
 
выдаёт сообщение
" Runtime error  '1004'
документ не сохранён или при сохранении возникла ошибка "
не знаю что это означает
 
попробуйте так. Вместо [a1] можете указать нужные Вам ячейки (ну и тип переменных при обьявлении тоже)
Код
Sub сохранить()
'
' сохранить Макрос
'
dim a,b 
a = Sheets("ДКП бу").[a1].value
b = Sheets("акт").[a1].value

    Sheets(Array("акт", "ДКП бу")).Select
    Sheets("ДКП бу").Activate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\AUTO4YOU\Desktop\"& a &".pdf", Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
     False
    Sheets("поручение").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\AUTO4YOU\Desktop\"& b &".pdf", Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
     False
    Sheets("основа").Select
    Range("A1").Select
End Sub 
 
ура ! заработала !
спасибо огромное !
теперь принцип понятен , попробую разные варианты сделать
 

Доброго времени суток.

Подскажите пожалуйста решение аналогичной проблемы, только чтобы лист сохранялся в PDF в ту же папку, из которой сейчас открыт Excel?

Пытался адаптировать предложенное выше решение, но что-то никак... :(

 
Аналогичный вопрос. Как сохранить в pdf активный лист с именем Книги и в том же месте где и книга?
 
Цитата
Сохранение в PDF с автоматическим назначением имён файлов из ячейки
Есть разница?
 
Цитата
antal10 написал:
Может так

1 Sub сохранить()
2 Dim Fname As String
3 Fname = "C:\" & Sheets("ДКП бу").Range("A1").Value
4        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fname, _
5        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
6 End Sub
Ваш вариант помог
Скажите, а можно сделать так, чтобы данный макрос запускался на первом листе, а pdf файл создавался со второго листа?
Страницы: 1
Читают тему (гостей: 1)
Наверх