C# word 2007 奇偶页问题

oWord.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = -1; //奇偶页不同
object oFirstPage = true;
object leftAlign = Word.WdPageNumberAlignment.wdAlignPageNumberLeft;
object rightAlign = Word.WdPageNumberAlignment.wdAlignPageNumberRight;

//奇数页右对齐
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers.Add(ref rightAlign, ref oFirstPage);
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers.NumberStyle = Word.WdPageNumberStyle.wdPageNumberStyleArabic;

//偶数页左对齐
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add(ref leftAlign, ref oFirstPage);
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.NumberStyle = Word.WdPageNumberStyle.wdPageNumberStyleArabic;

问题: 结果是页码全左对齐 ,奇偶页没起效果,但是我是分了奇偶页的,如果是我只添加偶数页的页码时,却把奇数页的页码也给添加了

但是下面的那段又是有效的

oWord.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = -1; //奇偶页不同

oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.InsertBefore("Section 1 Odd Header");
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;

oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].Range.InsertBefore("Section 1 Even Header");
oWord.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].Range.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;

这个页码问题 折腾我好几天了,网上没找到相关答案,求达人解惑啊

对齐常量修改成下面的就可以了
object leftAlign = Word.Word.WdPageNumberAlignment.wdAlignPageNumberInside;
object rightAlign = Word.Word.WdPageNumberAlignment.wdAlignPageNumberOutside;

我是直接在C#测试的,不是VSTO
实现引用: using Word = Microsoft.Office.Interop;

函数调用:Footer(@"test.docx");

Footer函数

    public static void Footer(string filePath)
    {
        Word.Word.Application wordApp = new Word.Word.Application();
        Word.Word.Documents docs = wordApp.Documents;

        object filePathName = filePath;
        object missing = Type.Missing;

        Word.Word.Document doc= docs.Open(
            ref filePathName,
            ref missing, // confirmconversions,
            ref missing, // readOnly,
            ref missing, // addtoRecentFiles,
            ref missing, // passworddOc,
            ref missing, // passwdTemplate,
            ref missing, // revert,
            ref missing, // writePasswordDoc,
            ref missing, // writePasswordTemplate,
            ref missing, // format,
            ref missing, // encoding,
            ref missing // visible,
        );

        doc.PageSetup.OddAndEvenPagesHeaderFooter = -1; //奇偶页不同
        object oFirstPage = true;
        object leftAlign = Word.Word.WdPageNumberAlignment.wdAlignPageNumberInside;
        object rightAlign = Word.Word.WdPageNumberAlignment.wdAlignPageNumberOutside;

        //奇数页右对齐
        doc.Sections[1].Footers[Word.Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers.Add(ref rightAlign, ref oFirstPage);
        doc.Sections[1].Footers[Word.Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers.NumberStyle = Word.Word.WdPageNumberStyle.wdPageNumberStyleArabic;
        //偶数页左对齐
        doc.Sections[1].Footers[Word.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add(ref leftAlign, ref oFirstPage);
        doc.Sections[1].Footers[Word.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.NumberStyle = Word.Word.WdPageNumberStyle.wdPageNumberStyleArabic; 

        wordApp.Documents.Save(ref missing,ref missing);
        wordApp.Documents.Close(ref missing,ref missing,ref missing);
        wordApp.Quit(ref missing, ref missing, ref missing);
    }