精华内容
下载资源
问答
  • word目录页码自动更新
    2020-08-23 00:47:28

    使用aspose-words java更新word文档目录页码。正版需要购买。

    代码,保存为文件word.java

    import com.aspose.words.Document;
    public class word {
        public static void main(String[] args) throws Exception{
        Document doc = new Document("模板.docx"); // 更新目录
        doc.updateFields();
        doc.save("结果文件.docx");
       }
    }
    

    之后构建CLASSPATH环境变量。

    添加export CLASSPATH=~/.jar/aspose-words-15.8.0-jdk16.jar到~/.bashrc

    source ~/.bashrc

    即可编译java源文件

    #$CLASSPATH可以缺省
    javac -cp $CLASSPATH word.java
    java -cp $CLASSPATH word
    
    更多相关内容
  • 此文章包含: 1、win10系统中:com组件配置和为什么找不到 Microsoft Word 97 - 2003 文档 的解决方法 2、调用com获取word文档总页码 3、调用com自动更新文档目录、或只更新word目录页码 一.com组件 1.1打开和...

    此文章包含:

      1、win10系统中:com组件配置和为什么找不到 Microsoft Word 97 - 2003 文档 的解决方法

      2、调用com获取word文档总页码

      3、调用com自动更新文档目录、或只更新word原目录的页码

    一.com组件

    1.1打开和配置:

    参考资料

    https://blog.csdn.net/ken2999/article/details/82353747?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-6&spm=1001.2101.3001.4242

    https://www.cnblogs.com/jasonxiaoqinde/p/9442546.html

    1.2遇到问题

     A:在win2008server和win10中均在 DCOM配置 中找到 Microsoft Word 97 - 2003 文档 

       问题描述:用的office软件是2016、2010、2013、wps2019均试过,均没有找到 Microsoft Word 97 - 2003 文档 。

      尝试方法https://blog.csdn.net/chang_chao_123/article/details/51313010

                       https://my.oschina.net/maojindaoGG/blog/1794878

       均不行!!!!

      解决办法:

                     1.全部卸载office相关软件;

                     2.安装office2013;

                    3.随便打开一个word的docx、doc文件;一个excel的xlsx、xls文件;

     问题原因:

       打开docx和xlsx还是没出现“Microsoft Word 97 - 2003 文档”,打开docxls文件后就出现了!

    二.获取word文档页码

    参考:https://blog.csdn.net/wang740209668/article/details/108715888  运行速度很慢,请耐心等待

    //此代码是在thinkphp中调试
    function getWordPage($file){
        $word = new \com("word.application",null,CP_UTF8) or die("Unable to instantiate Word");
        $word->Visible = 0;
        $word->Documents->Open($file,true,false);
        $docRange = $word->ActiveDocument->Content;
        $page  = $docRange->Information(4);//wdNumberOfPagesInDocument 页数
        $word->Quit();
        $word = null;
        return $page;
    }

     三.更新word目录或者只更新目录的页码

    php更新方法目前在网上没有找到,下面的代码是参考python的方法(我没运行成功,本来想着做个python接口实现更新目录,一直运行失败)

    https://word.tips.net/T000301_Updating_an_Entire_TOC_from_a_Macro.html%5d

    //此代码是在thinkphp中调试
    function updateWord($file){
          $word = new \com("word.application",null,CP_UTF8) or die("Unable to instantiate Word");
            $word->Visible = 0;
            $word->Documents->Open($file,true,false);
            //$word->ActiveDocument->TablesOfContents(1)->Update();//更新目录和页码
            $word->ActiveDocument->TablesOfContents(1)->UpdatePageNumbers();//只更新页码
            $word->ActiveDocument->Save();
            $word->Quit();
            $word = null;
        }

    展开全文
  • 使用vba代码/python更新word目录——只更新页码 工作中出现了如题的需求。实际上这个操作人工的话只需要右键区域→更新域→选择只更新页码然后确定就行了。不过工作需求就是得用代码去完成以上事情。 这个问题的主体...

    使用vba宏/python代码更新word目录——只更新页码

    工作中出现了如题的需求。实际上这个操作人工的话只需要右键区域→更新域→选择只更新页码然后确定就行了。不过工作需求就是得用代码去完成以上事情。

    这个问题的主体部分就是找到相关的代码……实际上关于这一点网上已有不少教程,比如这一篇就实际上作为原型让我写出了我实际使用的代码:

    Sub UpdateContent()
      Dim i As Integer
      i=0
      Dim aStory As Range
      Dim aField As Field
         For Each aStory In ActiveDocument.StoryRanges
            For Each aField In aStory.Fields
               If i<4 Then:
                  aField.Update
                  i=i+1
            Next aField
         Next aStory
    End Sub
    

    注意i相关的操作是我自己加的,因为我只想刷新目录,所以不需要真的遍历全部域。

    本来问题到这里就该解决了,我成功在自己电脑上跑通了这个程序,第二天拿到工作的地方……

    然后发现他们只有WPS。

    WPS也是有宏功能的。这没问题。
    问题在于,这一段代码在WPS中运行的表现是“更新整个目录”而不是默认的“只更新页码”。
    而录制宏录下来的是一句“…Field.ShowCode=False”,牛头不对马嘴,而且确实没有效果。

    找了很久最后找了wps的技术客服,然后得到解决办法了:

    Sub UpdateContent()
      Dim aStory As Range
      Dim aField As Field
         For Each aStory In ActiveDocument.StoryRanges
            For Each aField In aStory.Fields
               if aField.Type == 37:
                  aField.Update
            Next aField
         Next aStory
    End Sub
    

    页码本身也是域,然后类型标识是37,所以只要这么指定就会只更新页码了。

    说真的,这个操作不看手册真的八辈子都想不出。而VBA里面那个帮助文档简直就和不存在差不多。
    不过最后还是在MSDN上找到类型标识的列表了。这里是链接

    不过话说回来,虽然问题是解决了哈……
    那为啥word里面之前那段代码就是只更新页码呢……
    而且我后面的代码在调试中发现进了if的次数有100多次之多,基本上就是一半不到一点点的field数(大概一半是标题一半是页码),但前面的代码我显然只跑了前4个field……两个程序对同一文件处理的运行速度也是天差地别。

    如果说word中我是update了靠前的、目录整体的大框架,而这个update默认更新的是页码……那在word中又要如何更新整个目录呢?(顺带一提word中去掉i<4的限制也是只更新页码,虽然用时会飙升)

    (这和python又有啥关系?请见另一篇文章(这算引流吗))

    展开全文
  • python更新word内容.rar

    2020-05-07 17:37:27
    通过python更新word中特定位置内容,根据数据多少自动增加word表格的行数,修改表格宽度等功能。
  • 用的itext技术,其它Word内容也已经生成,如何在java中生成Word中的目录呢?
  • [Word技巧]论文目录中,要求章节标题中数字为 Arial 格式,页码为 Times New Roman,如何设置?或者说如何让 Word 自动生成的目录中各级标题的西文字体与后面对应的页码字体不一样?
  • Word自动生成的目录页码添加括号

    千次阅读 2020-02-18 22:09:07
    Word自动生成的目录页码添加括号 一些学校的毕业论文格式要求中,要求目录页码需要加括号如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kW5SI4pw-1582034649079)(C:\Users\...

    Word给自动生成的目录页码添加括号

    一些学校的毕业论文格式要求中,要求目录的页码需要加括号如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kW5SI4pw-1582034649079)(C:\Users\weixin\AppData\Roaming\Typora\typora-user-images\image-20200218214156664.png)]

    而Word自动生成的目录格式中并没有这一选项,因此很多人是自己手动一个一个输上去的,要了老命。

    而网上也有相关教程,但看来看去原理都是一样,并不完美。

    我们先来看看现有教程是怎么搞的。

    1.选中目录内容

    2.按ctrl+h,弹出替换框

    3.在查找内容中填入“([0-9]{1,})”,而替换内容中填入“(\1)“,并且选中“使用通配符”选项,如下所示:在这里插入图片描述

    一顿操作后点全部替换,悲剧就出现了:
    在这里插入图片描述
    目录中所有的数字全部替换成了带括号的,而事实上我们只希望右边那一排带括号。

    下面开始本教程的内容。

    1.第一步我们完全照抄上面的做法,得到上面那个悲剧的结果。

    2.观察这个结果我们可以发现,右边那串括号的左右均没有字符,因此我们直接将左右有字符的括号全部替换掉,操作同上,只是查找内容改成“)(?)”及“(?)(”,替换内容改为“\1”,如下:

    在这里插入图片描述
    在这里插入图片描述
    分别运行后结果如下:
    在这里插入图片描述

    可以看到只剩下左边这个括号是我们不想要的了。

    4.这个时候我们再观察可以看到左边这个括号的右边是数字字符,之后是一个“.”,因此我们可以将查找内容改成“(([0-9]{1,}).”替换内容改为“\1.”,再次替换,就得到完美的结果了!!!
    在这里插入图片描述
    当然这需要四步操作是比较烦的事情,有人可能觉得还不如直接输入方便,那我们把上面的操作直接写成宏代码,只需要选中目录然后点一下就搞定,代码如下:

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "([0-9]{1,})"
    .Replacement.Text = "(\1)"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
    
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "(?)("
    .Replacement.Text = "\1"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
    
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = ")(?)"
    .Replacement.Text = "\1"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
    
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "(([0-9]{1,})."
    .Replacement.Text = "\1."
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
    
    展开全文
  • 怎么在word中设置自动更新目录功能

    千次阅读 2021-07-26 01:21:45
    怎么在word中设置自动更新目录功能腾讯视频/爱奇艺/优酷/外卖 充值4折起有的小伙伴在使用Word软件编辑文档时,为了可以快速找到文档中需要的内容,因此会设置目录,但是如果修改了文档,那么也就需要更新目录,为了...
  • Word自带的了自动生成目录的功能,让做目录的的过程变得非常简便,而且一旦文档发生了改变以后,我们还可以使用更新目录的功能使其适合新的文档内容。一、创建标题目录这对那些用WORD写书的人,Word一用标题或者大纲...
  • 1、打开word文章,选择要列入目录的内容,如我想把每一页的第一行作为目录的标题,然后点击“格式”中的“段落”。2、在“段落”的设置界面中,点开“缩进和间距”,在“常规”中的“大纲级别”中选择为“1级”,...
  • python win32com 库批量自动更新word目录

    千次阅读 2021-01-14 01:17:56
    前言win32com 模块主要为 Python 提供调用 windows 底层组件对 word、Excel、PPT 等进行...实例代码下方代码实现自动更新当前路径下所有word文档的目录。import win32com.clientimport osimport timedef update_do...
  • 在网上搜索了这类相关问题,看了几个回答,都说要用到“制表位”,自己使用起来感觉鸡肋。 某日偶然发现一个方法,故在此记录。 打开标尺: 光标放在不齐的那条目录上: ...目录页码就能对齐了: ...
  • java操作word自动更新目录/域

    千次阅读 2022-04-03 17:14:08
    我使用spire.doc 更新word目录域 document.updateTableOfContents(); 在Windows本地可以为什么到服务上就不能用了
  • 快速对齐word目录页码

    千次阅读 2020-03-30 17:19:59
    下图中是word中的目录,但是页码还没有对齐,这个时候要是一个一个点输入,那可是相当的麻烦,如下图: 接下来小编开始介绍自己的小技巧,首先选中所有的目录,然后按照下图中红色箭头步骤2点击【段落设置】...
  • 有时候重新打开,又自动好了,有时候,又不是2,是10、18、22等等,奇怪的数字,反正就不是原本目录对应的数字。 如果比较急,没耐心的,可直接看结论。 这张图是目录全是2的情况 打开自己的word文档,进入打印功能...
  • 添加页码public void addHeaderFooter(Document doc){//创建页脚 页码HeaderFooter footer = new HeaderFooter(doc, HeaderFooterType.FOOTER_PRIMARY);doc.getFirstSection().getHeadersFooters().add(footer);//...
  • jacob更新word目录

    2021-04-12 22:18:31
    jacob更新目录方法/**启动word进程*/ActiveXComponentapp=newActiveXComponent("Word.Application");app.setProperty("Visible",newVariant(false));Dispatchdocs=app.getProperty("Documents").toDispatch();/**...
  • 1.生成目录public static void creat(){String resourceWordPath = "/media/xx/新加卷2/xx/UserName.docx";String targetWordPath = "/media/xx/新加卷2/xx/UserName1.docx";try {WordToPdfUtils.getLicense();...
  • python-更新word目录

    2021-12-25 15:32:09
    python-更新word目录 import win32com.client word = win32com.client.DispatchEx("Word.Application") try: doc = word.Documents.Open(docx_file) for contentCount in range(1, doc.TablesOfContents.Count+1)...
  • 一、word自动生成目录  打开一个已经编辑好的文档,给文档的各级标题添加”标题样式“,首先添加”一级标题“(也可以直接在段落中设置)。  按添加一级标题的方法添加”二级标题“、三级标题等。  ...
  • word目录右边页码对不齐解决方法

    万次阅读 多人点赞 2021-07-15 17:46:04
    这个目录对不齐原因未知; 解决方法: 1,在视图中打开标尺; 2,选择对不齐的目录项, 3,拖动标尺,进行对齐; 4,被治愈了。
  • 使用NPOI实现在Word里插入源码的实例,注释清晰,通俗易懂,只要稍微看一下,直接拷贝代码就可以使用,方便快捷!
  • 如果Word文档中内容比较多,为了方便查看,就要设置目录了,如招投标文件、编辑的书籍等。但是手工录入目录,往往后面的正文内容稍有变化,前面目录...1. 插入页码自动生成目录必须要有页码,有Word插入页码大家...
  • 解决word生成目录-页码-字体问题

    千次阅读 2019-10-25 12:02:59
    2.word从正文第一页开始自动生成目录 1.word独立生成目录页码 (1). 一般而言,我们写好的文档会是这样的 (2). 给文档的各级标题添加 标题样式 ,根据需要设置的标题等级依次选用不同的样式。 首先添加”一级标题...
  • 【基础】python操作Word时,自动更新目录(二)

    万次阅读 热门讨论 2018-11-29 16:51:57
    系列文 python-docx-template包之----为文字自定义格式(一) ...代码操作Word时,自动更新目录(一) python操作Word时,自动更新目录(二) python-docx--设置表格进阶 概述 我之前写过一个博客,主要是手动...
  • 文档目录提取器,自动更新目录页码变化,让你一分钟完成目录制作,小事情不求人啦~~
  • 自动目录中的页码格式-1-变为为1

    千次阅读 2022-04-09 23:54:07
    于是:引用-生成自动目录后,目录中的页码也是-1-的形式。 解决方案: 正文页码格式为:1 形式(只有阿拉伯数字),然后手动在数字左右添加中划线。 再生成自动目录 即为1形式。(只有阿拉伯数字,没有中划线) ....
  • Word2016目录自动生成 Word2016目录自动生成 页码目录页后面显示 页码目录页后面显示
  • 1.自动生成目录:引用–目录; 2.插入–页码; 3.在目录后面空白位置单击,页面布局–分隔符–下一页; 3.在你的正文第一页,双击页脚,取消“链接到前一条页眉”;然后,页码–设置页码格式,选择“起始页码”–...
  • Word中如何从任意页开始设置页码(一般需要与“Word中如何设置自动生成多级目录”配合使用)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,521
精华内容 4,208
关键字:

word目录页码自动更新