vba excel exportation ne pas pagesetup pdf correctement

J'ai un code qui met en forme une feuille de calcul pour la configuration souhaitée et la mise en page (une page de large et de haut en mode paysage). Lorsque j'exécute le code (partie d'une longue macro) il met en forme l'objet pagesetup correctement.

Si j'manuellement à l'exportation et l'enregistrer comme un fichier pdf, puis il utilise la bonne mise en page, la réalisation d'une page PDF qui est dans paysage. Cependant, le même à l'exportation effectuée par VBA génère un fichier PDF qui est severalpages long et en portrait.

je ne peux pas comprendre pourquoi il fait cela. j'ai essayé diverses solutions telles que la sélection de la feuille de calcul avant de l'exporter, mais en vain.

Toute aide est appréciée.

Code ressemble à ceci:

Sub SaveAsPDF()
Sheets(ReportWsName).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        [SaveFolderPath] & "\" & ReportWsName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub

Mise à JOUR:

Code utilisé pour le format de l'objet pagesetup (car il est assez long, je ne suis que l'ajout de la section pertinente de la sous -)

Private Sub CreateNewReport(ProvisionCode As String, TimeFrom As Date, TimeTo As Date)

... other code here...

'Format report to create the desired layout
With Worksheets(ReportWsName)
    'Delete unnecessary data and format the rest
    .Range("A:B,D:D,F:G,J:M,O:O,Q:S").Delete Shift:=xlToLeft
    .Range("A:F").EntireColumn.AutoFit
    .Range("C:C, E:F").ColumnWidth = 30
    With .Range("G:G")
        .ColumnWidth = 100
        .WrapText = True
    End With
    'Insert standard formating header form Reporting template
    .Rows("1:2").Insert
    wsReportTemplate.Range("1:3").Copy .Range("A1")
    .Range("A2") = "Notes Report for " & ProvisionCode & " (" & TimeFrom & " - " & TimeTo & ")"
    'Insert standard formating footer form Reporting template
    wsReportTemplate.Range("A6:G7").Copy .Range("A" & .UsedRange.Rows.Count + 2)
    'Ensure all data is hard coded
    .UsedRange.Value = .UsedRange.Value
    'Format Print Area to one Page
    With ActiveSheet.PageSetup
        .PrintArea = Worksheets(ReportWsName).UsedRange
        .Orientation = xlLandscape
        .FitToPagesWide = 1
    End With
End With

End Sub
Puis-je avoir un coup d'oeil dans le code que les formats de la feuille à la mise en page souhaitée. Parce que j'ai juste essayé votre code par la modification d'une feuille, j'ai eu à un paysage, etc.. et j'ai pu enregistrer le fichier pdf exactement la façon dont je l'ai changé.
J'ai ajouté le code que vous avez demandé. Merci pour regarder!
Merci de poster le reste du code. J'ai ajouté une réponse.

OriginalL'auteur rohrl77 | 2014-07-21