ich stehe vor einer Herausforderung:
Ich habe ein Userform erstellt, welche die eingegebenen Daten in eine Excel Tabelle überträgt. Das funktioniert mittlerweile auch einwandfrei.
Nun möchte ich aber, dass diese Daten
1. über den Tag gesammelt werden und zu einem bestimmten Zeitpunkt automatisch als PDF versendet werden (Outlook) und nach dem senden gelöscht werden und
2. dass die Daten geschützt sind. Also: dass die Tabelle, in der die Daten eingetragen werden, nur von den Leuten eingesehen werden kann, welche das erforderliche Passwort besitzen.
Ich habe zu diesen Themen schon unzählige Forenbeiträge gelesen und leider funktionieren die Makros zu beiden Punkten bei mir nicht.
Was jedoch funktioniert: Die Tabelle als Excel Datei per Knopfdruck über Outlook zu versenden (aber nicht: automatisch zu einem festgelegtem Zeitpunkt). Das Ziel ist aber es per PDF zu verschicken.
Hier sind einige Makros, die ich bereits ausprobiert habe:
Zum Thema PDF erstellen und versenden:
Sub PDF()
Dim Mailadresse As String, Betreff As String
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
Mailadresse = "meinemail@office-loewsungen.de"
Betreff = "Super Betrefftext - sollte man lesen"
Sheets("Tabelle2").ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\Test\Mappe1.pdf", IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
With olApp.CreateItem(0)
.To = Mailadresse
.Subject = Betreff
.Attachments.Add "D:\Test\Mappe1.pdf"
.Display
.Send
End With
Set olApp = Nothing
End Sub
Hier gibt es in der Zeile
Sheets("Tabelle2").ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\Test\Mappe1.pdf", IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
einen Fehler :"Laufzeitfehler '1004' -> Das Dokument wurde nicht gespeichert. Das Dokument ist möglicherweise geöffnet, aber beim Speichern ist ein Fehler aufgetreten".
Das ist der Fehler, der auch bei ähnlichen Makros angezeigt wird. Ich weiß leider nicht, wie ich ihn beheben kann. Wie gesagt, ich habe schon einige Makros ausprobiert.
Zum Punkt: Makro automatisch zu einer bestimmten zeit ausführen lassen habe ich folgendes in vielen Variationen ausprobiert:
Public Sub Hi()
Application.OnTime TimeValue("10:39"), "EMAIL"
End Sub
__________________________________________________
Sub EMAIL()
(...)
End Sub
Das wäre das Makro, bei welchem ich die Excel Datei automatisch versende, nur als Test da dieses Makro geklappt hat.
Zum schützen der Tabelle mit einem Passwort habe ich leider überhaupt keinen Erfolg gehabt.
Das Ziel ist zumindest folgendes:
-Die Daten werden über die Eingabemaske eingegeben und in die Tabelle übertragen
-Die Daten in der Tabelle werden bis zu einem bestimmten Zeitpunkt dort (nur sichtbar für alle, die das Passwort haben) gesammelt.
-Wenn der bestimmte Zeitpunkt gekommen ist, wird von diesen Daten automatisch eine PDF generiert und diese wird als E-Mail versendet (PDF muss nicht gespeichert werden). Gleichzeitig werden die alten Daten aus der Tabelle gelöscht.
Es wäre sehr nett, wenn mir jemand helfen könnte! Auch wenn es nur einer der Punkte wäre. Ich habe leider kaum Erfahrung mit VBA und wühle mich da grade durch, bzw. bin über jeden kleinen Erfolg froh!
Schöne Grüße,
Petty