As I said earlier, if the document contains a section break then there could be more than one orientation in the document and you would need to treat each section individually. lngOrient would be undefined if there is a mix of orientation.
Code:
Sub Resize(oDoc As Document)
Dim lngOrient As Long, aSect As Section
For Each aSect In oDoc.Sections
With aSect.PageSetup
lngOrient = .Orientation
If .PaperSize = wdPaperLetter Then
.PaperSize = wdPaperA4
.Orientation = lngOrient
End If
End With
Next aSect
End Sub