Maybe I don't understand the issue, but is this what you want?
Option Explicit
Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub SetPageZoom()
'Lock the window so zoom cannot change during evaluation
LockWindowUpdate FindWindowA("XLMAIN", Application.Caption)
With ActiveSheet.PageSetup
.FitToPagesTall = 1
.FitToPagesWide = 1
.Zoom = False
End With
'Activate PrintPreview to evaluate current Zoom
SendKeys "%C"
ActiveSheet.PrintPreview
'Activate PageSetUp to return current Zoom
SendKeys "P%A~"
Application.Dialogs(xlDialogPageSetup).Show
MsgBox ActiveSheet.PageSetup.Zoom
LockWindowUpdate 0
End Sub