从Google搜索打印XPS,不带有excel文件中列出的文件名对话框

时间:2016-09-22 19:37:39

标签: vba xps

我有一个包含三列A,B,C的Excel文件; Serial#,File#,Name。

我想在Google上搜索A列,并使用设置目录和包含以下内容的文件名以XPS格式打印第一页结果:

“Serial#/ File#/ Name” “1/1103 /模拟名称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。

https://blogs.msdn.microsoft.com/fyuan/2007/02/24/printing-documents-to-microsoft-xps-document-writer-without-user-interaction/

如果您有任何解决方案或更好的想法,请告诉我。

非常感谢

1 个答案:

答案 0 :(得分:0)

在“一些”研究和挖掘之后,我找到了解决方案。由于我根本不是程序员,因此我遇到了一个名为“http://www.weenysoft.com/free-html-to-pdf-converter.html”的免费软件,它来自“http://wkhtmltopdf.org/”。对于那些超级编码器,后一种方法是更好的方法,因为您可以更直接,更有效地处理解决方案;但是,对于我来说,我必须坚持使用第一个解决方案,它不会给你生成的pdf文件上的时间戳。

因此,我需要使用另一种走动方法,“File_Name_Stamper.pdf(只是google this)”,将时间戳放在我的pdf文件上。要在多个文件上使用,您只需使用任何宏记录器。

同样,完全不推荐任何程序员,上面的方法非常难过,但暂时完成工作。

干杯。