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);
}