.netからExcelオブジェクトを利用する場合、Excel2003はShapeの中央揃えをテキスト設定のあとで行わなければならない

Excelの罠シリーズ。
Excel2007で正常に動作したコードが、Excel2003だとなぜか動かないので原因を調査したら、Shepe内のテキストを中央揃えにする際に、テキストが無い状態で中央揃えにしようとするとエラーになるという原因だったっぽい。
順番を入れ替えるとエラーは発生しなくなった。
Excel2007では上のコードでも動作した。

エラーの発生するコード

oShapes = oSheet.Shapes

oTextFrame = oShape.TextFrame
oTextFrame.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter ' ここでエラー発生
oTextFrame.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter

oCharacters = oTextFrame.Characters
oCharacters.Text = sText

動作するコード

oShapes = oSheet.Shapes

oTextFrame = oShape.TextFrame

oCharacters = oTextFrame.Characters
oCharacters.Text = sText

oTextFrame.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter ' エラーは発生しない
oTextFrame.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter