Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用vba宏(或python)在Microsoft word中查找已确定单词的当前页码_Python_Vba_Ms Word - Fatal编程技术网

如何使用vba宏(或python)在Microsoft word中查找已确定单词的当前页码

如何使用vba宏(或python)在Microsoft word中查找已确定单词的当前页码,python,vba,ms-word,Python,Vba,Ms Word,我有一项艰巨的任务,那就是更正一本被翻译过的书的索引的页码,因此索引中每个项目的引用都指向了错误的页码 所以基本上我想做一个VBA宏来搜索书的索引中的每个术语,然后找出它们出现的页码,最后更新索引 我想知道的是两件事: 您认为使用VBA进行此操作是一个好的选择还是很耗时?如果你觉得这不是一个坏主意,我如何得到一个确定的单词的页码 有没有其他更好的方法可以使用Python实现同样的结果,而我更喜欢使用Python 文档中的“页数”变化很大,这取决于字体大小、纸张大小、行距、页边距等。因此,在Wor

我有一项艰巨的任务,那就是更正一本被翻译过的书的索引的页码,因此索引中每个项目的引用都指向了错误的页码

所以基本上我想做一个VBA宏来搜索书的索引中的每个术语,然后找出它们出现的页码,最后更新索引

我想知道的是两件事:

  • 您认为使用VBA进行此操作是一个好的选择还是很耗时?如果你觉得这不是一个坏主意,我如何得到一个确定的单词的页码

  • 有没有其他更好的方法可以使用Python实现同样的结果,而我更喜欢使用Python

  • 文档中的“页数”变化很大,这取决于字体大小、纸张大小、行距、页边距等。因此,在Word中尝试这样做最多是不可靠的。请记住这一点

    请参阅随后的评注:

    问:我想循环浏览Word文档中的所有页面和每一页。我该怎么做

    你不能。Word不是页面布局软件。这是一台文字处理机。它将文本视为滚动条。每个文档都是一个长长的文本卷轴

    一个可能与
    Find
    方法结合使用的hack,当然要遵守关于可靠性的警告:

    Sub-findpage()
    尺寸p为“长”页码
    如发现一样模糊
    将文本设置为字符串
    searchText=“要查找的某些文本”
    设置rngFound=ActiveDocument.Range.Find
    rngFound.Text=搜索文本
    rngFound.Execute
    如果rngFound.find,则
    p=rngFound.Parent.Information(wdActiveEndPageNumber)
    其他的
    ”“没有找到
    如果结束
    MsgBox searchText&“在第页找到”&p
    端接头
    
    实际上,出于您的目的,您必须对此进行调整,我只向您展示了方法,您可以使用该方法获得文档中特定搜索词的页码


    VBA或Python(或某些TBD语言)由您自己选择。

    谢谢您的帮助!