2017-01-06 4 views
-1

a есть макрос, который сохраняет лист в формате pdf, но он больше не работает. Вот код:Excel лист в pdf не работает

With ActiveSheet.PageSetup 
    .CenterHeader = strFile2 
    .Orientation = xlPortrait 
    .PrintArea = "a1:q21" 
    '.PrintTitleRows = ActiveSheet.Rows(5).Address 
    '.Zoom = False 
    .FitToPagesTall = False 
    .FitToPagesWide = 1 

End With 


    ws.ExportAsFixedFormat Type:=xlTypePDF, _ 
     Filename:=strFile, _ 
     Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=False, _ 
     IgnorePrintAreas:=False, _ 
     OpenAfterPublish:=False 

Я попытался с

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ 
    :=False, OpenAfterPublish:=OpenPDFAfterCreating 

Но это дает тот же неверный вызов процедуры или аргумент

Дело в том, что у моих коллег макрос работает, но не в мой компьютер. Спасибо.

ответ

1

Вы объявили переменные за пределами фрагмента кода, который вы вставили? Вы должны объявить WS как лист или вы будете иметь проблемы:

Dim ws as Worksheet 

Вам нужно установить WS = ActiveSheet для того, чтобы использовать его, хотя я бы рекомендовал избегать ActiveSheet, так как это может привести к проблемам. Что-то лучше было бы:

Set ws = Workbooks("**Name of your workbook**").Worksheets("**Name of worksheet**") 

With ws.PageSetup 
**code** 
End With 

Надеюсь, что это поможет.

+0

привет, было прокомментировано: D из предыдущей модификации. Спасибо за ответ. – wittman

Смежные вопросы