【问题标题】:I want to open a file with a specific application using VBScript [duplicate]我想使用 VBScript 打开带有特定应用程序的文件 [重复]
【发布时间】:2023-03-26 19:41:01
【问题描述】:

我正在尝试下载一些只有 .pdf 格式的银行对账单并将它们转换为 excel 文件。我使用 NitroPDF.exe 将 .pdf 文件转换为 excel 文件,然后创建了一个 VBA 脚本来清理它并将其附加到我的主 Excel 文件中。 我必须手动进行转换,直到 Excel VBA 接管为止。我想自动化它,不知道如何。 我曾尝试使用 cmd 行:

"C:\Program Files\Nitro\Pro\12\NitroPDF.exe" "C:\Users\Adam\OneDrive\Desktop\TEMP\WebBroker - Balances.pdf

这很好用,因为它会打开 NitroPDF,其中包含我需要的文件。但是,当我尝试在这样的 .vbs 文件(名为:RunningPdf.vbs)中运行它时:

    Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "C:\Program Files\Nitro\Pro\12\NitroPDF.exe" "C:\Users\Adam\OneDrive\Desktop\TEMP\WebBroker - Balances.pdf", 1, true

我收到一个错误:

Script:  C:\Users\Adam\OneDrive\Desktop\TEMP\RunningPdf.vbs  
Line: 2
Char: 59  
Error: Expected end of statement  
Code: 800A0401  
Source: Microsoft VBScript compilation error

我在从 cmd 到 vbs 的翻译中做错了什么? 我什至应该为此使用vbs吗? 我怎样才能将此代码融合到我的 Excel VBA 代码中? 我打算在 NitroPDF 打开后在 vbs 代码中使用 sedkeys 来自动从 pdf 转换为 Excel,这是最好的方法吗? 很抱歉这篇冗长的帖子,任何帮助将不胜感激 谢谢

【问题讨论】:

  • 我无法确认,但我怀疑您的字符串有问题...尝试 Set WshShell = CreateObject("WScript.Shell") WshShell.Run "C:\Program Files\Nitro\Pro\12\NitroPDF .exe C:\Users\Adam\OneDrive\Desktop\TEMP\WebBroker - Balances.pdf", 1, true ...或... Set WshShell = CreateObject("WScript.Shell") WshShell.Run """C :\Program Files\Nitro\Pro\12\NitroPDF.exe""" """C:\Users\Adam\OneDrive\Desktop\TEMP\WebBroker - Balances.pdf""", 1, true ...试试情侣的东西,看看。如果 vbs 接受 ' 作为字符串,则将其与 ". 交替使用
  • 以下蒂姆的回答使用三引号,谢谢

标签: excel cmd vbscript


【解决方案1】:

总是值得引用文件路径,但是您需要在传递给Shell的值中转义这些引号

WshShell.Run """C:\Program Files\Nitro\Pro\12\NitroPDF.exe"" ""C:\Users\Adam\OneDrive\Desktop\TEMP\WebBroker - Balances.pdf""", 1, true

【讨论】:

  • 效果很好,非常感谢,现在来推我的运气?,你能帮我解决其他问题吗?
  • 你可以看这里:kb.gonitro.com/knowledgebase#/search/command%20line/000004309 不过我没有看到 Excel 转换选项。
  • 谢谢,帮了大忙,也许我不再需要使用 SendKeys 了,太好了,谢谢 Tim。
  • 这些年来这个答案已经在Stack Overflow 上发布了大约一百次。
  • @AdamB - 仅供参考,您可能会考虑接受您以前的一些问题的答案,以便以后找到它们的人可以看到那里有有用的回复。
猜你喜欢
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 2023-01-28
  • 2012-11-19
  • 1970-01-01
相关资源
最近更新 更多