2016-09-22 43 views
0

我有一个带有三列A,B,C的Excel文件;序列号,文件号,名称。从Google搜索打印XPS,无需使用excel文件中列出的文件名的对话框

我想搜索A列在谷歌,并与集目录打印第一页结果XPS格式和文件包含这样的名字:

“序列号/文件#/名称” “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 

上面的代码让我抢列的名称,搜索在谷歌,和在XPS打印,但我仍然没有我dea如何禁止打印对话框,或者操作它来保存到我想要的文件名格式和目录中。

对编码极其不熟悉,所有解决方法都是禁止使用打印对话框,但我不知道如何将其转换为vba。

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

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

谢谢你这么多

+0

是否有一个原因,你想保存在XPS格式?此外,您还可以提供您的工作表 – Zac

+0

[链接]的快照{} http://s9.postimg.org/627j9ld8f/example1.jpg你好 –

+0

扎克 谢谢你的回复。它不一定是XPS。只要它可以保存带有时间戳的网页。以上是我的工作表的截图链接。 –

回答

0

“一些”的研究和周围挖掘后,我发现它的解决方案散步。由于我根本不是程序员,因此我遇到了一个名为“http://www.weenysoft.com/free-html-to-pdf-converter.html”的免费软件,它来源于“http://wkhtmltopdf.org/”。对于那些超级编码器来说,后一种方法是更好的方法,因为您可以更直接高效地解决解决方案;然而,就我而言,我必须坚持第一个解决方案,它不能给你生成的PDF文件的时间戳。因此,我需要使用另一种四处走动的方法,“File_Name_Stamper.pdf(只是谷歌这个)”,把时间戳放在我的PDF文件。要在多个文件上使用,只需使用任何宏记录器。

再次,完全不建议任何程序员,上面的方法是相当悲伤的,但暂时工作。

干杯。