Тема не новая, но прежде чем обратиться перепробовал разные (возможно не все) варианты.
Давно работаю с одним макросом который сохраняет файл в Excel формате: [vba]
Код
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) ' Тестом НЕ покрыта
Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".xlsb", xlExcel12
Application.DisplayAlerts = appDispAlert
End Function
[/vba]
Пытаюсь адаптировать под сохранение в PDF так:
[vba]
Код
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) ' Тестом НЕ покрыта
Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Application.DisplayAlerts = appDispAlert
End Function
[/vba]
Debug ругается на: [vba]
Код
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
[/vba]
Подскажите, пожалуйста, где ошибаюсь?
Добрый день, участникам форума!
Тема не новая, но прежде чем обратиться перепробовал разные (возможно не все) варианты.
Давно работаю с одним макросом который сохраняет файл в Excel формате: [vba]
Код
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) ' Тестом НЕ покрыта
Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".xlsb", xlExcel12
Application.DisplayAlerts = appDispAlert
End Function
[/vba]
Пытаюсь адаптировать под сохранение в PDF так:
[vba]
Код
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) ' Тестом НЕ покрыта
Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Application.DisplayAlerts = appDispAlert
End Function
[/vba]
Debug ругается на: [vba]
Код
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Не нарушая конструкции кода по формированию имени файла (т.к. этот код связан с другими кодами) попробовал заменить концовку:
ругается все равно на эту часть:
[vba]
Код
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties _ :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
[/vba]
_Boroda_,
Не нарушая конструкции кода по формированию имени файла (т.к. этот код связан с другими кодами) попробовал заменить концовку:
ругается все равно на эту часть:
[vba]
Код
Ws_Dest.Parent.SaveAs ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & _ str & _ " на " & Date & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties _ :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Может Вы все-таки напишете как ругается? Что такое Ws_Dest? Как Вы вызываете функцию? Что такое для нее str? Зачем там msg? Где кусок Type? Чтобы всех этих вопросов не было, нужно файл прикладывать
Может Вы все-таки напишете как ругается? Что такое Ws_Dest? Как Вы вызываете функцию? Что такое для нее str? Зачем там msg? Где кусок Type? Чтобы всех этих вопросов не было, нужно файл прикладывать_Boroda_
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts Application.DisplayAlerts = False fn_ = ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & str & " на " & Date & ".pdf" Ws_Dest.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ fn_, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Application.DisplayAlerts = appDispAlert End Function
[/vba]
Попробуйте вот так [vba]
Код
Public Function Книга_Назнач_Сохранить(ByVal str As String, Optional ByVal msg As String) Dim appDispAlert As Boolean appDispAlert = Application.DisplayAlerts Application.DisplayAlerts = False fn_ = ThisWorkBook.Path & "\@ Статус по развитию системы КПЭ_" & str & " на " & Date & ".pdf" Ws_Dest.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ fn_, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Application.DisplayAlerts = appDispAlert End Function
нашел свой старый рабочий файл, в котором из Excel вывожу в PDF: [vba]
Код
Sub Создать_PDF() Dim arrSelSheets(), i As Long Application.ScreenUpdating = False
ReDim arrSelSheets(1 To ActiveWindow.SelectedSheets.Count) For i = 1 To UBound(arrSelSheets) arrSelSheets(i) = ActiveWindow.SelectedSheets(i).Name Next
'здесь укажите, какие листы нужно сохранить в PDF Worksheets(Array("Карта КПЭ_год", "Мониторинг КПЭ_ежекв", "Оценка", "Мониторинг КП_ежекв", "Оценка проектов (по году)")).Select
Application.ScreenUpdating = True MsgBox "ГОТОВО!" & vbCrLf & "Excel файл тоже необходимо прикрепить в СЭД", vbInformation End Sub
[/vba]
попробовал его адаптировать под текущую задачу - не срабатывает =(
_Boroda_,
нашел свой старый рабочий файл, в котором из Excel вывожу в PDF: [vba]
Код
Sub Создать_PDF() Dim arrSelSheets(), i As Long Application.ScreenUpdating = False
ReDim arrSelSheets(1 To ActiveWindow.SelectedSheets.Count) For i = 1 To UBound(arrSelSheets) arrSelSheets(i) = ActiveWindow.SelectedSheets(i).Name Next
'здесь укажите, какие листы нужно сохранить в PDF Worksheets(Array("Карта КПЭ_год", "Мониторинг КПЭ_ежекв", "Оценка", "Мониторинг КП_ежекв", "Оценка проектов (по году)")).Select
Только добрался до файла. Файл почти отлично сохраняет в PDF =) Только перед тем как сохранить в PDF выходит сообщение "Вы хотите сохранить изменения в файле Книга 1?" и номер файла каждый раз увеличивается с каждым файлом. Даже если заново делаю отсчет продолжается (на трех строчках тестирую пять раз сделал дошел до файла номер №15). Нажимаю не сохранять сохраняется PDF. Попробовал сохранить - получается делает копию в excel.
InExSu,
Только добрался до файла. Файл почти отлично сохраняет в PDF =) Только перед тем как сохранить в PDF выходит сообщение "Вы хотите сохранить изменения в файле Книга 1?" и номер файла каждый раз увеличивается с каждым файлом. Даже если заново делаю отсчет продолжается (на трех строчках тестирую пять раз сделал дошел до файла номер №15). Нажимаю не сохранять сохраняется PDF. Попробовал сохранить - получается делает копию в excel.Anis625