2016-09-22 37 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文件。要在多個文件上使用,只需使用任何宏記錄器。

再次,完全不建議任何程序員,上面的方法是相當悲傷的,但暫時工作。

乾杯。