我经常使用 MS Word 打开.pdfs
由 latex 生成的文件,这样我就可以快速准确地统计文档的字数。但如果我所做的只是打开文件并查看右下角 1 秒钟,似乎应该有更快的方法来实现这一点。
有没有办法可以通过命令行执行此操作?
答案1
我很快就编写了一个.vbs
可以完成此任务的小脚本。虽然它确实使用了硬编码文件,但总比没有好。
编写一个名为的脚本
wc.vbs
,然后将其放入其中:Set word = CreateObject("Word.Application") word.Visible = False Set doc = word.Documents.Open("<replace with absolute path to your .docx/.pdf>") docWordCount = doc.Range.ComputeStatistics(wdStatisticWords) word.Quit Dim StdOut : Set StdOut = CreateObject("Scripting.FileSystemObject").GetStandardStream(1) WScript.Echo docWordCount & " words"
在您保存的目录中打开 powershell
wc.vbs
并运行cscript .\wc.vbs
,您将得到字数统计:)
附言:此脚本不用于Words.Count
计算单词数,因为我发现它给出的数字与我实际在 MS Word 中看到的数字非常不同。因此,我改用Range.ComputeStatistics(wdStatisticWords)
此处提到的:https://support.microsoft.com/en-za/help/291447/word-count-appears-inaccurate-when-you-use-the-vba-words-property我不知道它为什么有效,因为我在发布这个答案的几分钟前才第一次学会如何运行 vbs 脚本。