2 longxianfu longxianfu 于 2014.12.14 14:15 提问

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;

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

2个回答

save4me
save4me   Ds   Rxr 2014.12.15 09:47
已采纳

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

save4me
save4me 我测试的时候没有,你看看是不是代码中其他地方有设置过
3 年多之前 回复
save4me
save4me 我测试的时候没有,你看看是不是代码中其他地方有设置过
3 年多之前 回复
longxianfu
longxianfu 保存后还是有,有清空的办法吗
3 年多之前 回复
save4me
save4me 你说的页眉的那个好像默认进入页眉编辑状态就有,退出编辑模式其实是没有的。
3 年多之前 回复
longxianfu
longxianfu 还有页眉出现了横线和一个回车,这是怎么弄出来的,我没添加页眉啊
3 年多之前 回复
longxianfu
longxianfu 效果出来了,leftAlign 确是向右,rightAlign确是向左
3 年多之前 回复
save4me
save4me   Ds   Rxr 2014.12.15 11:46

我是直接在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);
    }
save4me
save4me 不客气,很高兴问题解决了
3 年多之前 回复
longxianfu
longxianfu 恩 确实是你说的那样 ,在编辑的时候会出现也没横线和回车,编辑完后就没有了,之前不知道情况,然后在网上找了一个删除页眉横线的方法,页眉横线是删除了 ,保存后回车还在,然后我将该方法删除后,就只有在编辑的时候有了,重新保存后是没有的,非常感谢啊
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
WORD设置页数从指定页开始,并且如何设置奇偶页有不同的页码格式
WORD设置页数从指定页开始,并且如何设置奇偶页有不同的页码格式 举例:将第三页作为开始编页码的第一页,并且奇偶页页码格式不同(奇数页页码右对齐,偶数页页码左对齐),步骤如下: 第1步、菜单栏——页面设置——版式——页眉和页脚:奇偶页不同(勾选)——确定。 第2步、在第2页页末,插入-〉分隔符-〉在分节符里选择 下一页。注意:如果已插入分页符 ,或者插入“手动”分页符
word 当前页插入页眉、页脚、页码。要求奇偶页眉不同,而页码连续。
参考: word中怎么从当前页开始编码页脚? word2013中,要求奇偶页页眉不同,但页码要是连续的怎么设置?问题: 如何在当前页的页脚中添加页码呢? 即当前页开始编号:1,2,3,4等等。 word中,要求奇偶页页眉不同,奇数页页眉为论文题目,偶数页为学校名称,但页脚的页码要求是连续的怎么设置?例如:奇偶页的页眉设置好了,但是页脚上的页数是断的,不连续的,只显示1,3,5,·····,等。不
word2010 目录 摘要 正文 奇偶页页码不同的解决方法
格式要求 论文分为几个节,如扉页、目录、摘要、正文等,各节页码格式不同等。比如要求如下: 第1节.扉页:无页码、无页眉等 第2节 目录:页码在底部居中,页码样式是i,ii 第3节 摘要:页码在底部,奇数页码在右侧,偶数在左侧,页码样式是I,II 第4节 正文:页码在底部,奇数页码在右侧,偶数页码在左侧,页码样式是1,2,3 首先,论文分节 注意:要在下一节的第一个字符前插入分节符。 分节步骤,“
word中如何设置奇偶页不同的页眉和页脚,怎么从指定页开始加页码
word中如何设置奇偶页显示不同的页眉和页脚 1.单击“文件”菜单中的“页面设置”命令,打开“页面设置”对话框,接着单击“版式”选项卡,在“页眉和眉脚”选项区中将“奇偶页不同”复选框选中(此处有时还选“首页不同”),最后单击“确定”按钮结束设置。 2.单击“视图”菜单中的“页眉和页脚”命令,这时可以看到光标在奇数页页眉编辑区中闪烁,输入奇数页页眉内容。单击“页眉和页脚”工具栏上的“显示下一
Word2003 奇偶页页眉页脚不同,页码设置问题
1、 奇偶页页眉页脚不同设置方法 步骤1: 文件——》页面设置 步骤2:如图1奇偶页不同前打钩,完成奇偶页不同设置 步骤3:正文页插入页码,选择 视图——》页眉和页脚——》设置页码格式——》插入页码  起始页1。如果是论文中从正文页开始插入页码,需要在正文第一页最前面选择 插入——》分隔符——》分节符类型——》下一页 步骤4:此时偶数页没有显示页码,把鼠标放到第二页,然后选择 视图——》页
word2010插入双横线的页眉(奇偶页不同)
Word2007 插入带双层横线的页眉
在C#中实现Word页眉页脚的所有功能
页眉页脚常用于文章排版,在Word工具栏里,我们可以添加页眉,页脚,页码,日期和时间,图片等信息和内容。页眉/页脚有两个额外选项:首页不同,奇偶页不同。有时在不同的节(section)里插入不同的页眉页脚。从零开始在C#实现这些功能,工作量巨大。所以,今天向大家推荐一款免费的API库,Free Spire.Doc可以从CSDN和官网, Nuget直接下载。功能强大,容易上手。这篇文章分为三个部分:
硕士毕业论文奇偶页眉页脚的设置
在硕士毕业论文中,大部分学校都会要求奇偶页眉的设置,如奇数页页眉标记章节标题,偶数页页眉为论文题目,而且页码的设置还区分阿拉伯数字和特殊数字序号标记,归根结底,这些问题都可以通过word中的分节符的操作来解决,分节符的目的就是区分开各部分内容,使其成为一个独立的部分,且不影响其他的章节。这里就word2007的操作进行演示。一、奇数偶数页眉的设置1. 假设需要操作的章节为B章节,那么将鼠标移至B章...
word2007删除某一页的页眉横线
转载自 1、 将光标停留在要处理页的上一页。 2、找到页面布局-分隔符。 3、在分隔符中选择下一页。 4
Excel中单独打印奇数页或偶数页
我们在word中可以选择奇偶页打印文件,在excel要实现这个功能,该怎么操作呢?本文就能详细地告诉你,如此这般,你就会发现Excel是非常可爱的。