man schickt regelmäßig PDFs aus WD per OL und möchte gerne bei jedem Versand einen Listeneinträg in XL generieren? Wie das mit dem Verschicken von Krams aus WD oder XL geht, ist hier schon beschrieben. Den Listeneintrag (Code in ThisDocument) gibts hier:
Code: Alles auswählen
Option Explicit
Sub PutPDFtoXLsheet()
Dim xlApp As Object, xlBook As Object, xlSheet As Object
Dim wdDoc As Document, wdPath As String, sPDF As String, sLfd As String
Dim iRow As Integer, iPos As Integer, iLfd As Integer
Set wdDoc = ThisDocument
wdPath = wdDoc.Path & "\"
sPDF = InputBox("PDF-Name eingeben") & ".PDF" 'Die Eingabe wird umd die Datei-Endung ergänzt
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(wdPath & "PDFtoXL.xlsx") 'Das XL-Workbook wird im selben Verzeichnis wie das Word-Dokument erwartet >>> ANPASSEN
Set xlSheet = xlBook.Sheets("PDF-Liste") 'Ein Sheet mit eindeutigem Namen wird gebraucht >>> ANPASSEN
With xlApp
With xlSheet
iRow = .Cells(xlSheet.Rows.Count, 1).End(-4162).Row
iPos = InStr(.Cells(iRow, 1), "-") 'Auslesen der vorherigen Lfd
sLfd = Right(.Cells(iRow, 1), Len(.Cells(iRow, 1)) - iPos)
iLfd = CInt(sLfd) + 1 'Erhöhen um 1
.Cells(iRow + 1, 1) = Date & "-" & iLfd 'Einträge in die erste freie Zeile
.Cells(iRow + 1, 2) = sPDF
xlApp.DisplayAlerts = False
xlBook.Save
If MsgBox(.Cells(iRow + 1, 1) & vbTab & .Cells(iRow + 1, 2), vbYesNo, "Aktualisierte Liste anzeigen?") = vbYes Then
xlApp.Visible = True
Exit Sub
End If
End With
End With
xlApp.Quit
End Sub
lg allerseits - möge es Euch besser gehen als mir krankem Hahn.
