使用 excel 文件中列出的文件名从 Google 不带对话框的搜索中打印 XPS
Print XPS from Google Search without dialog with file name listed in excel file
我有一个包含三列 A、B、C 的 Excel 文件;序列号、文件号、名称。
我想在 Google 上搜索 A 列,并以 XPS 格式打印第一页结果,设置目录和文件名包含如下内容:
"Serial # / File # / Name"
"1 / 1103 / Mock up Name A.xps"
通过各种在线搜索,我设法剪切并粘贴了以下代码:
Const OLECMDID_PRINT = 6
Const OLECMDEXECOPT_DONTPROMPTUSER = 1
Const PRINT_WAITFORCOMPLETION = 2
Sub AutoSearch()
Dim N As Long, i As Long
N = Cells(Rows.Count, "C").End(xlUp).Row
Dim objIE
Set objIE = CreateObject("InternetExplorer.Application")
With ActiveWorkbook
For i = 2 To N
objIE.Navigate "http://www.Google.com/search?q=" & Cells(i, 1).Value
objIE.Visible = 1
Do While objIE.ReadyState <> 4
DoEvents
Loop
objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 1
Next i
End With
End Sub
上面的代码允许我获取列 A 名称,在 Google 中搜索,并在 XPS 中打印,但我仍然不知道如何抑制打印对话框,或操作它以保存到文件名中我想要的格式和目录。
由于对编码极度不熟悉,我能找到的所有抑制打印对话框的解决方案都涉及 VBA 以外的其他内容,但我不知道如何将其翻译成 vba。
如果您有任何解决方案或更好的想法,请告诉我。
非常感谢
在 "some" 研究和挖掘之后,我找到了解决方案。由于我根本不是程序员,所以我遇到了一个名为“http://www.weenysoft.com/free-html-to-pdf-converter.html", which is derived from "http://wkhtmltopdf.org/”的免费软件。对于那些超级程序员来说,后一种方法是更好的方法,因为你可以更直接、更有效地解决问题;然而,对于我来说,我不得不坚持第一个解决方案,它不能在它生成的 pdf 文件上给你时间戳。
因此,我需要使用另一种绕过方法 "File_Name_Stamper.pdf (just google this)" 来为我的 pdf 文件加上时间戳。要在多个文件上使用,您只需要使用任何宏录制器。
再次声明,完全不推荐给任何程序员,以上方法非常可悲,但暂时可以完成工作。
干杯。
我有一个包含三列 A、B、C 的 Excel 文件;序列号、文件号、名称。
我想在 Google 上搜索 A 列,并以 XPS 格式打印第一页结果,设置目录和文件名包含如下内容:
"Serial # / File # / Name" "1 / 1103 / Mock up Name A.xps"
通过各种在线搜索,我设法剪切并粘贴了以下代码:
Const OLECMDID_PRINT = 6
Const OLECMDEXECOPT_DONTPROMPTUSER = 1
Const PRINT_WAITFORCOMPLETION = 2
Sub AutoSearch()
Dim N As Long, i As Long
N = Cells(Rows.Count, "C").End(xlUp).Row
Dim objIE
Set objIE = CreateObject("InternetExplorer.Application")
With ActiveWorkbook
For i = 2 To N
objIE.Navigate "http://www.Google.com/search?q=" & Cells(i, 1).Value
objIE.Visible = 1
Do While objIE.ReadyState <> 4
DoEvents
Loop
objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 1
Next i
End With
End Sub
上面的代码允许我获取列 A 名称,在 Google 中搜索,并在 XPS 中打印,但我仍然不知道如何抑制打印对话框,或操作它以保存到文件名中我想要的格式和目录。
由于对编码极度不熟悉,我能找到的所有抑制打印对话框的解决方案都涉及 VBA 以外的其他内容,但我不知道如何将其翻译成 vba。
如果您有任何解决方案或更好的想法,请告诉我。
非常感谢
在 "some" 研究和挖掘之后,我找到了解决方案。由于我根本不是程序员,所以我遇到了一个名为“http://www.weenysoft.com/free-html-to-pdf-converter.html", which is derived from "http://wkhtmltopdf.org/”的免费软件。对于那些超级程序员来说,后一种方法是更好的方法,因为你可以更直接、更有效地解决问题;然而,对于我来说,我不得不坚持第一个解决方案,它不能在它生成的 pdf 文件上给你时间戳。
因此,我需要使用另一种绕过方法 "File_Name_Stamper.pdf (just google this)" 来为我的 pdf 文件加上时间戳。要在多个文件上使用,您只需要使用任何宏录制器。
再次声明,完全不推荐给任何程序员,以上方法非常可悲,但暂时可以完成工作。
干杯。