自动将Word文件转换为其他格式

一些状态。 结构会在doc文件中生成报告。 在某个地方可以手动完成,而在某个地方则可以自动完成。 想象一下,指示您处理大量此类文档。 这对于隔离某些特定信息或仅检查内容可能是必需的。 我们只需要取出没有格式的文本,而不需要图形和图片。 例如,此类数据更容易推入神经网络进行进一步分析。

这是最普通的人的一些选择:

  • 逐一处理所有文件。 在第十份文件之后,就会想到您做错了什么。
  • 尝试在Internet上找到一个特殊的库(扩展名),用于使用您拥有的编程语言来处理doc文件。 再花一个小时来了解如何使用此库。 您还必须面对一个事实,即使用doc和docx的原理略有不同。
  • 尝试自动以其他格式重新保存所有文档,这将使使用起来更加方便。

关于最后一个选项,我们将进行讨论。

还有一个vbs脚本急于帮助我们。 可以从命令行调用vbs脚本,这可以使用任何编程语言来完成。

创建一个converter.vbs文件

Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit 

在第一行中,我们指示将转换的格式:2-转换为txt,17-转换为pdf。
所有格式都可以在这里查看。 在第二行中,我们直接打开单词。 打开后,您可以添加以下行:

 objWord.Visible = TRUE 

这将使我们看到打开Word的过程。 如果在某个时间发生错误,单词本身不会关闭,并且如果没有此行,则只能通过任务管理器终止该过程,而我们只需单击叉号,这将很有用。

在命令提示符下,脚本将如下运行:

 converter.vbs ___\_.docx ___\___ 

Wscript.Arguments.Item(0)是full_path_to_file \ file_name.docx
WScript.Arguments.Item(1)-full_path_to_save_save \ file_name不带扩展名
因此,在脚本的第三行中,我们打开文件,在下一行中,以指定格式保存。 最后,我们关闭了这个词。

您还需要另一个小技巧。 有时,由于单词版本不同或其他原因,单词可能会发誓,表示文件已损坏。 手动打开文件时,我们将显示警告“表已损坏,要继续打开文件吗?”。 您只需要单击“是”,但是脚本将在此时停止其工作。

Vbs具有非常笨拙的try catch结构。 您只需添加两行即可解决此问题。 总的来说,完整的稳定脚本如下:

 Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") objWord.Visible = TRUE On Error Resume Next Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit 

如您所见,文件的打开是重复的。 如果一切都与文件保持一致,则该文件将简单地打开两次,并且在发生错误的情况下,它将仅继续打开该文件。

并且为每个消防员提供一个示例,说明如何在Python中显示函数

 import os #folder_from = os.getcwd() + r'\words' - ,    word  #folder_to = os.getcwd() + r'\txts' - ,    def convert(file_name): str1 = folder_from + r"/" + file_name str2 = folder_to + r"/" + file_name[:file_name.rfind('.')] os.system('converter.vbs "' + str1 + '" "' + str2 + '"') #  

接下来,只需将此功能应用于所有需要转换的文件。

总结


  1. 该解决方案适用于所有单词格式。
  2. 您阅读本文的时间不超过10分钟。
  3. 您可以实现了解任何编程语言。

Source: https://habr.com/ru/post/zh-CN441736/


All Articles