Registriert seit: 23.02.2017
Version(en): 2016
Hallo,
ich habe folgendes Problem zu lösen:
Ich habe eine Excel Tabelle in der in einer Spalte mehrere URL zu Google Maps stehen. Ich möchte gerne automatisiert jede URL im Browser öffnen und von dem Routenplan eine PDF erstellen lassen. Ist dies irgendwie möglich? Meine VBA Kenntnisse reichen dafür leider im Moment noch nicht aus.
Vielen Dank!
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo! Kleines Beispiel. Die URLs stehen hier in Spalte B ab Zeile 2. Wichtig: Einen Verweis auf die Microsoft Internet Controls setzen. Option Explicit
Public Sub OpenAndPrintURL()
Dim IEApp As Object
Dim strURL As String
Dim lngUrlCount As Long
Dim lngLastCell As Long
Rem Letzte Zeile in Spalte ermitteln
lngLastCell = Range("B" & Rows.Count).End(xlUp).Row
Rem Systemdrucker auf "PDF-Creator" setzen
Shell "rundll32 printui.dll,PrintUIEntry /y /n PDFCreator"
Rem Schleife beginnen
For lngUrlCount = 2 To lngLastCell
Rem IE-Session starten
Set IEApp = CreateObject("InternetExplorer.Application")
Rem Seiten ausgeben.
With IEApp
.Visible = True
.Navigate (Cells(lngUrlCount, 2)) 'Zur Internetseite
.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 0, 0 'Internetseite drucken
Do While .busy
DoEvents
Loop
.Quit ' IE schließen
End With
Rem Browser-Session beenden
Set IEApp = Nothing
Next lngUrlCount
Rem Systemdrucker wiederherstellen
Shell "rundll32 printui.dll,PrintUIEntry /y /n ""Samsung ML-2850 Series"""
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0 Gruß, René
Folgende(r) 1 Nutzer sagt Danke an mumpel für diesen Beitrag:1 Nutzer sagt Danke an mumpel für diesen Beitrag 28
• Michael05
Registriert seit: 23.02.2017
Version(en): 2016
03.06.2017, 18:41
(Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2017, 11:59 von Rabe.
Bearbeitungsgrund: Code-Tags verwendet
)
Entschuldigung für die späte Antwort. Danke für den Code. Er hat mir sehr geholfen. Ein paar Änderungen habe ich vorgenommen. Eine Frage habe ich noch. Ist es möglich den Dateinamen für die erstellte PDF festzulegen? Bisher nimmer er die URL. Den Dateinamen, der verwendet werden soll, würde ich in eine Spalte hinter der URL schreiben. Code: Public Sub OpenAndPrintURL()
Dim IEApp As Object Dim strURL As String Dim lngUrlCount As Long Dim lngLastCell As Long Dim Standarddrucker As String
Const Spalte_mit_URL_als_Zahl = 1 Const Spalte_mit_URL_als_Buchstabe = "A"
'Standarddrucker zwischenspeichern Standarddrucker = ActivePrinter Rem Letzte Zeile in Spalte ermitteln lngLastCell = Range(Spalte_mit_URL_als_Buchstabe & Rows.Count).End(xlUp).Row Rem Systemdrucker auf "PDF-Creator" setzen Shell "rundll32 printui.dll,PrintUIEntry /y /n PDFCreator" Rem Schleife beginnen For lngUrlCount = 1 To lngLastCell Rem IE-Session starten Set IEApp = CreateObject("InternetExplorer.Application")
Rem Seiten ausgeben. With IEApp .Visible = False .Navigate (Cells(lngUrlCount, Spalte_mit_URL_als_Zahl)) 'Zur Internetseite 'Kurze Wartezeit Application.Wait Now + TimeSerial(0, 0, 5) 'wartet x Sekunden .ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 6, 2 'Internetseite drucken
Do While .busy DoEvents Loop .Quit ' IE schließen End With Rem Browser-Session beenden Set IEApp = Nothing Next lngUrlCount 'Standarddrucker wieder einstellen Shell "rundll32 printui.dll,PrintUIEntry /y /n " & Standarddrucker End Sub
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (03.06.2017, 18:41)Michael05 schrieb: Eine Frage habe ich noch. Ist es möglich den Dateinamen für die erstellte PDF festzulegen? Bisher nimmer er die URL. Den Dateinamen, der verwendet werden soll, würde ich in eine Spalte hinter der URL schreiben. z.B. so: Code: 'Druck als PDF (Name aus D3 in Tabelle1) ThisWorkbook.ExportAsFixedFormat xlTypePDF, "C:\Users\Mustermann\Desktop\" & Tabelle1.Range("D3").Value, , , , , , True
Registriert seit: 23.02.2017
Version(en): 2016
(06.06.2017, 12:01)Rabe schrieb: Hi,
z.B. so:
Code: 'Druck als PDF (Name aus D3 in Tabelle1) ThisWorkbook.ExportAsFixedFormat xlTypePDF, "C:\Users\Mustermann\Desktop\" & Tabelle1.Range("D3").Value, , , , , , True
Danke. Aber das speichert die Excel-Datei als PDF. Ich möchte aber, dass die PDF, die im Internet Explorer erzeugt wurde, einen individuellen Dateinamen erhält. Der Dateiname soll in Excel in einer Spalte hinter der URL stehen.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
um das im voraus zu tun, müsstest Du dem pdfcreator den Namen übergeben. Ob das mit dem Shell geht, bezweifle ich. Du müsstest wahrscheinlich versuchen, die Standardeinstellungen vom pdfcreator vor jedem Druck anzupassen. Das wäre dann auch noch Versionsabhängig, bis 1.7.x und ab ca. 2.1.x
Eventuell ist es einfacher, die Datei nach dem Druck durch Excel umzubenennen.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 23.02.2017
Version(en): 2016
(10.06.2017, 21:25)schauan schrieb: Hallöchen,
um das im voraus zu tun, müsstest Du dem pdfcreator den Namen übergeben. Ob das mit dem Shell geht, bezweifle ich. Du müsstest wahrscheinlich versuchen, die Standardeinstellungen vom pdfcreator vor jedem Druck anzupassen. Das wäre dann auch noch Versionsabhängig, bis 1.7.x und ab ca. 2.1.x
Eventuell ist es einfacher, die Datei nach dem Druck durch Excel umzubenennen. PDFCreator hat eine COM-Schnittstelle. Da kann man wohl den Dateinamen übergeben. Aber leider habe ich noch nicht herausgefunden wie das geht. Es wäre schön, wenn die Dateinamen automatisch aus Excel genommen werden, da es sich um mehrere hundert URL handelt.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Michael,
wie ich schon schrieb, ist das versionsabhängig. Welche hast Du denn?
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 23.02.2017
Version(en): 2016
(11.06.2017, 15:06)schauan schrieb: Hallo Michael,
wie ich schon schrieb, ist das versionsabhängig. Welche hast Du denn? Im Moment habe ich PDFCreator Version 2.5.1 Build 5. Bin aber auch gewillt eine andere Version oder einen anderen PDF Drucker zu verwenden.
|