2016-09-22 4 views
0

J'ai un fichier Excel avec trois colonnes A, B, C; Numéro de série, numéro de fichier, nom.Imprimer XPS à partir de Google Recherche sans boîte de dialogue avec le nom de fichier répertorié dans le fichier Excel

Je veux rechercher la colonne A sur Google et imprimer la première page résultat en format XPS avec le répertoire de jeu et le nom contenant quelque chose comme ceci:

« Numéro de série/fichier/Nom » « 1/1103/Maquette nom A. xps »

de diverses recherche en ligne, j'ai réussi à couper et coller le code suivant:

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 

code ci-dessus me permet de saisir la colonne Un nom, recherche dans Google, et imprimer en XPS, mais je n'ai toujours pas je Dea comment supprimer le dialogue d'impression, ou le manipuler pour enregistrer dans le format de nom de fichier et le répertoire que je veux. Etre extrêmement inconnu avec le codage, toute la solution pour supprimer le dialogue d'impression que je peux trouver impliquant avec autre chose que VBA, mais je ne sais pas comment traduire cela en vba.

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

Si vous avez une solution ou une meilleure idée, s'il vous plaît laissez-moi savoir.

Merci beaucoup

+0

Y a-t-il une raison pour laquelle vous voulez l'enregistrer au format XPS? aussi, pouvez-vous fournir un instantané de votre feuille? – Zac

+0

[link] {http://s9.postimg.org/627j9ld8f/example1.jpg} –

+0

Bonjour Zac Merci pour la réponse. Ce ne doit pas être XPS. Tant que, il peut enregistrer la page Web avec l'horodatage. Ce qui précède est le lien de capture d'écran pour ma feuille. –

Répondre

0

Après « quelques » recherche et creuser autour, j'ai trouvé une promenade autour de la solution. Puisque je ne suis pas un programmeur du tout, je suis tombé sur un freeware appelé, "http://www.weenysoft.com/free-html-to-pdf-converter.html", qui est dérivé de "http://wkhtmltopdf.org/". Pour ces super codeurs, cette dernière approche est la meilleure, car vous pouvez aborder la solution plus directement et plus efficacement; cependant, quant à moi, je devais m'en tenir à la première solution, qui ne peut pas vous donner l'horodatage sur les fichiers pdf qu'elle produit.

Ainsi, j'ai besoin d'utiliser une autre approche de marche, "File_Name_Stamper.pdf (juste google this)", pour mettre l'horodatage sur mes fichiers pdf. Pour utiliser sur plusieurs fichiers, il suffit d'utiliser n'importe quel enregistreur de macros.

Encore une fois, totalement déconseillé pour les programmeurs, les approches ci-dessus sont assez tristes, mais font le travail pour le moment.

Cheers.