Dans la poursuite du poste de Michael et la réponse, le code suivant à la question de @ RHC peut également vous aider si besoin de copier la page personnalisations de l'installation à partir d'une seule feuille de calcul à plusieurs feuilles de calcul dans un classeur:
Public Sub CopyPageSetupToAll(ByRef SourceSheet As Worksheet)
' Raise error if invalid source sheet is passed to procedure
'
If (SourceSheet Is Nothing) Then
Err.Raise _
Number:=vbErrorObjectVariableNotSet, _
Source:="CopyPageSetupToAll", _
Description:="Unable to copy Page Setup settings: " _
& "invalid reference to source sheet."
Exit Sub
End If
SourceSheet.Activate
With SourceSheet.PageSetup
' ...
' place PageSetup customizations here
' ...
End With
SourceSheet.Parent.Worksheets.Select
Application.SendKeys "{ENTER}", True
Application.Dialogs(xlDialogPageSetup).Show
End Sub
Sinon, vous pouvez modifier également la procédure pour créer une feuille de calcul temporaire pour héberger votre site les modifications de configuration, puis propager ces changements vers les autres feuilles de calcul dans votre classeur:
Public Sub CopyPageSetupToAll(ByRef SourceBook As Workbook)
Dim tempSheet As Worksheet
' Raise error if invalid workbook is passed to procedure
'
If (SourceBook Is Nothing) Then
Err.Raise _
Number:=vbErrorObjectVariableNotSet, _
Source:="CopyPageSetupToAll", _
Description:="Unable to copy Page Setup settings: " _
& "invalid reference to source workbook."
Exit Sub
End If
Set tempSheet = SourceBook.Worksheets.Add
tempSheet.Activate
With tempSheet.PageSetup
' ...
' place PageSetup customizations here
' ...
End With
SourceBook.Worksheets.Select
Application.SendKeys "{ENTER}", True
Application.Dialogs(xlDialogPageSetup).Show
tempSheet.Delete
Set tempSheet = Nothing
End Sub
en raison de l'utilisation de la fonction SendKeys()
et Application.Dialogs
fonctionnalité, ce code n'offre pas la solution la plus propre possible. Cependant, il fait le travail. :)
Je vais tester cela, et vous dire comment cela a fonctionné pour moi. –
J'ai été en mesure d'obtenir une augmentation considérable, la plupart de mes ensembles étaient des valeurs non booléennes, savez-vous si le programme d'installation d'impression est par feuille ou classeur? –
Hey Lance, oui, vous pouvez obtenir une très grande amélioration en suivant cette approche - Je suis heureux que cela a fonctionné pour vous. :-) La mise en page est pour chaque feuille de calcul individuellement, pas pour le classeur dans son ensemble.(La classe Worksheeet a une propriété PageSetup, mais pas la classe Workbook.) –