Excel file automatisch per GMAIL versenden (?)
#11
Moin Alexander!
Sicher, dass die Datei der Realität entspricht (von veränderten Werten abgesehen)?
Es muss schon ersichtlich sein, welche Zellen durch den Benutzer verändert werden.
Übrigens:
Zitat:Wenn ein Wert rot markiert wird, dann sollte die Datei automatisch gemailt werden.
Oder ein mal wöchentlich automatisch per mail versendet werden,...
Ja watt denn nu?
Ist schon in Bezug auf die Herangehensweise relevant!

Aber:
Bevor ich auch nur eine Zeile Code schreibe, erwarte ich eine korrekte Datei nebst Wunsch.

Es gibt hier Helfer, die auch noch beim 50sten Post Minuten oder gar Stunden investieren.
Ich gehöre definitiv nicht dazu.

Schon mal über einen (kostenpflichtigen) Dienstleister nachgedacht?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#12
Hy Ralf!

Also die Datei hab ich ausschließlich fürs Forum erstellt. Sie hat also mit der realen Datei an sich nichts zu tun. Aber der Sinn hinter dieser Datei ist genau der, der auch der realen Datei entspricht.
Wie bereits erwähnt: Es geht darum, dass in den Tabellenblättern Umsätze, Kunden und Mitarbeiter Daten manuell verändert bzw ergänzt werden.
Und eben dann im Tabellenblatt Produktivität die Daten automatisch konsolidiert werden. Und genau dieses Blatt soll dann der Auslöser für das Versender der email sein.

Wann soll versendet werden?: Also das hängt von der Möglichkeit ab. Aber ich denke alle 2 Wochen wäre perfekt. 1 mal im Monat auch vollkommen ausreichend....

UND: Bez. Code schreiben: DANKE vorab an alle Helfer!!!!
Aber einen kostenpflichtigen Dienst in Anspruch nehmen? Ich denke das würde dieses Forum ad absurdum führen; oder nicht?
(Ist übrigens ein ähnlich guter Ratschlag wie "benutz die Suche-Funktion,...)

Also:
Wenn mir jemand einen Code schreiben kann hierfür: DANKE!!!  :15:
Wenn mir jemand erklären kann wie ich einen derartigen code selbst erstellen kann: DANKE!!!!! :15:
Wenn der code zu aufwändig ist ihn hier kostenlos zu erstellen bzw zu schreiben: Dann auch trotzdem DANKE!!!   :15:
Top
#13
Hi,

(17.08.2016, 06:52)alexander.liedauer schrieb: Aber einen kostenpflichtigen Dienst in Anspruch nehmen? Ich denke das würde dieses Forum ad absurdum führen; oder nicht?
(Ist übrigens ein ähnlich guter Ratschlag wie "benutz die Suche-Funktion,...)

nee, eigentlich nicht, das Forum leistet Hilfe zur Selbsthilfe.
Manchmal, wenn es einen Helfer packt und nicht mehr loslässt, vielleicht auch mehr.

Wenn der Aufwand aber sehr groß wird, ist dieser Weg der einzig gangbare.
Top
#14
Moin nochmal!
Zitat:Ich denke das würde dieses Forum ad absurdum führen; oder nicht?
Es geht um eine Anwendung im professionellen Umfeld.
Du hast keine Ahnung von der Materie (dies ist absolut kein Beinbruch),
erwartest aber von diesem Forum, dass es kostenlos für Dich die Arbeit macht.
Dies ist imo "absurd"!

Günther alias GMG-CC hat dazu etwas auf seiner Homepage geschrieben, ich schließe mich da vollumfänglich an.

http://www.excel-ist-sexy.de/hilfe-zur-selbsthilfe/
http://www.excel-ist-sexy.de/privat-vs-gewerbe/

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#15
Da die Hilfe zur Selbsthilfe auch anderen zu Gute kommen soll, hier mal mein aktueller Stand der Dinge.
Hier können To, CC und BCC auch aus mehreren Adressen bestehen.
Außerdem kann ein Attachment angehangen werden.

Sub TestMail()
Dim sTo$, sSubject$, sBodyText$, sAttachment$
sTo = "x@gmail.com"
sSubject = "Meine 6. Testmail"
sBodyText = "Moin Ralf!" & vbNewLine & "Alles klar?" & vbNewLine & _
            "gesendet am: " & Now
sAttachment = "I:\MeinPfad.RPP.xlsm" 'kompletter Pfad zur Datei 
Send_Email sTo, sSubject, sBodyText, sAttachment
End Sub

Sub Send_Email(sTo$, _
               sSubject$, _
               sTextBody$, _
               Optional sAttachment$, _
               Optional sCC$, _
               Optional sBCC$)
Dim cdomsg As Object, oAttachment As Object, Config$
Config = "http://schemas.microsoft.com/cdo/configuration/"
Set cdomsg = CreateObject("CDO.message")
' Initialisierung des Accounts 
With cdomsg.Configuration.Fields
  .Item(Config & "sendusing") = 2 'NTLM method 
  .Item(Config & "smtpserver") = "smtp.gmail.com"
  .Item(Config & "smptserverport") = 587
  .Item(Config & "smtpauthenticate") = 1
  .Item(Config & "smtpusessl") = True
  .Item(Config & "smtpconnectiontimeout") = 60
  .Item(Config & "sendusername") = "y@gmail.com"
  .Item(Config & "sendpassword") = "xxxxyy"
  .Update
End With
' Erstellen der EMail 
With cdomsg
  .To = sTo 'mehrere Empfänger als kommagetrennter Gesamtstring 
  .CC = sCC ' z.B. "1@abc.com,2@def.de,3@ghi.gov" 
  .BCC = sBCC
  .From = "y@gmail.com"
  .Subject = sSubject
  .TextBody = sTextBody
  If sAttachment <> "" Then Set oAttachment = .AddAttachment(sAttachment)
  .Send
End With
'Rücksetzen der Objektvariablen 
   Set cdomsg = Nothing
   Set oAttachment = Nothing
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#16
Hallöchen,

der Code von Ralf (rpp63) hat bei Dir funktioniert?

Füge unter .Textbody noch eine Zeile ein und korrigiere ggf. den Pfad:
.Attachments.Add ("D:\test\Musterdatei excel-Forum.xlsx")

Das Senden würde ich über das jpg regeln, ist einfacher. Mit der rechten Maustaste hast Du einen Menüpunkt "Makro zuweisen" und da weist Du das xyz zu. Du siehst ja, ob rote Werte vorhanden sind und drückst dann einfach drauf.

Ansonsten könntest Du im Makro XYZ eine Bedingung einfügen. Das spart Dir das Nachschauen:

If WorksheetFunction.CountIf(Sheets("Produktivität").Range("B2:B8"), "<20") > 0 Then send email

B2:B8 musst Du natürlich wieder an Deine Gegebenheiten anpassen.

Sofern Änderungen an den Daten nach dem Öffnen vorkommen, solltest Du die Datei vor dem Senden noch speichern, sonst fehlen die. Kennst Du den Makrorekorder? Damit kannst Du den Code zum Speichern aufzeichnen und fügst die betreffenden Zeilen am Anfang des Makros XYZ ein.

PS:
(Ist übrigens ein ähnlich guter Ratschlag wie "benutz die Suche-Funktion,...) klingt wie Ich leg mich in die Sonne, irgendwer wird's schon machen ...
Wenn ich mal diesen Ratschlag bringe, dann weiß ich, dass es da was gibt. Muss nicht gleich das richtige sein, aber eine direkte Antwort ist auch nicht unbedingt gleich richtig. Man sieht aber, der Fragesteller arbeitet mit. Es macht aber den Antwortern bestimmt sichtlich mehr Spaß, wenn Lösungen gemeinsam mit den Fragestellern "im Team" entwickelt werden als wenn man sich vorkommt, ein "kostenloser" Angestellter zu sein.

Mit dem kostenpflichtigen Dienst meint übrigens keiner, dass das Forum so etwas bietet. Unser Forum bietet kostenlose Hilfe. Punkt. Als gemeinnütziger Verein hinter diesem Forum spricht natürlich nichts gegen eine Spende oder Mitgliedschaft als Dank für gute Unterstützung oder wenn man sich hier gut aufgehoben unter Gleichgesinnten fühlt. Das ist aber in keinster Weise Bedingung für jegliche Hilfe durch die Antworter hier im Forum, egal ob Mitglied oder nicht.

So, aber bitte diesen o.t. - Teil hier nicht weiter diskutieren. Wenn Bedarf besteht, bitte ins Plaudern-Forum wechseln oder PN's schreiben und diesen Thread verlinken. Hier sollte es dann fachlich weiter gehen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • alexander.liedauer
Top
#17
Hi André!
In meinen Test hat 
.Attachments.Add ("D:\test\Musterdatei excel-Forum.xlsx")
so nicht funktioniert.
Es ging nur über den Umweg eines Objekts:
If sAttachment <> "" Then Set oAttachment = .AddAttachment(sAttachment)

Siehe meinen eben eingestellten Code.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • schauan
Top
#18
Moin zusammen!
In diesem Thread hatte ich eine Möglichkeit gezeigt, Mails über ein GMail-Konto mittels VBA (besser CDO) zu versenden.
Google hat zuletzt die Sicherheitseinstellungen geändert!
Vielleicht kann ein Moderator folgendes an den Thread anhängen:

Update Dezember 2016:
Google hat die Sicherheit des GMail-Kontos geändert.
Wird eine Mail gesendet, bricht das Makro mit einer Fehlermeldung ab.
Google verschickt eine Mail mit dem Inhalt:
Google schrieb:Haben Sie gerade versucht, sich anzumelden?
Google wird auch weiterhin Anmeldeversuche aus der verwendeten App blockieren, da Sicherheitsprobleme bekannt sind oder die App veraltet ist. Sie können diese App weiter verwenden, wenn Sie den Zugriff auf weniger sichere Apps zulassen. Dies kann jedoch dazu führen, dass Ihr Konto angreifbar wird.
Da man die "App" nicht auf CDO begrenzen kann, rate ich aus Sicherheitsgründen von der Verwendung des Makros ab.
Sicherlich kann man den Zugriff temporär erlauben, aber dies sollte jeder für sich entscheiden, ob es den Aufwand rechtfertigt.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste