Vba excel senden mit gmail

Hi Cracks
Ich habe eine Artikelliste in Excel vor mir. Meine Kollegen können dort jeweils einige Artikel ankreuzen und dann den Knopf ‚senden‘ anklicken und so die angekreuzten Teile als Bestellung zurück in die Firma schicken. Es muss ein wenig ‚idiot proof‘ gestaltet sein, da nicht alle des PCisch wirklich mächtig sind.
Das war bis anhin auch gar kein, da wir alle Outlook auf der Kiste hatten. Ein kleiner VBA Code und alles lief auf Knopfdruck automatisch ab.
Nun wurde von der Firma das ganze Mailsystem auf google mail umgestellt und das Outlook läuft nicht mehr…
Kennt jemand eine VBA Lösung, wie meine Jungs wieder den ‚Knopf‘ drücken können, dass automatisch diese .xls Datei an vordefinierte Empfänger in der Firma gegooglemailt wird??

Au weh - da kann ich nicht helfen

Hallo ME67

Danke für die Anfrage. Ich kann dir nicht direkt weiterhelfen. Da ist schon eine ganze Applikation dahinter. Einfe einfache Lösung müsste aber so aussehen, dass du im Makrocode den Zugriff auf Outlook (ein paar Befehlszeilen) durch den Zugriff auf Gmail austauscht. Dafür müsste ich aber zuerst einmal in die Excel-Tabelle mit dem Makro einsehen können.

Gruss

Hoi Sepp

Danke für Deine Antwort!!
Das Makro ist einigermassen trivial…
Ich habe Dir den Code unten reinkopiert.

Sub senden1()

'Ausgefülltes Blatt als neue Arbeitsmappe speichern.
Sheets(„Bestellung“).Copy
ActiveSheet.Unprotect Password:=„zaybx“

'Alles kopieren und als „Werte“ einfügen um externe Verknüpfungen zu vermeiden.
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range(„A1“).Select

Application.DisplayAlerts = False

'Die neue Arbeitsmappe speichern
ActiveWorkbook.SaveAs Filename:=„C:\TEMP\bestellblatt.xls“, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

'in Zelle E12 den Namen des Bestellers ermitteln.
nme = ActiveWorkbook.Sheets(„bestellung“).Range(„E12“).Value

'Die Adressaten ermitteln
rec1 = Workbooks(„index.xls“).Sheets(„index“).Range(„T2“).Value & Workbooks(„index.xls“).Sheets(„index“).Range(„V2“).Value
rec2 = Workbooks(„index.xls“).Sheets(„index“).Range(„T3“).Value & Workbooks(„index.xls“).Sheets(„index“).Range(„V3“).Value
rec3 = Workbooks(„index.xls“).Sheets(„index“).Range(„T4“).Value & Workbooks(„index.xls“).Sheets(„index“).Range(„V4“).Value

’ das Bestallblatt als Emailanhang versenden versenden
Workbooks(„bestellblatt.xls“).SendMail Recipients:=Array(rec1, rec2, rec3), Subject:="Materialbestellung " & nme

ActiveWindow.Close
Windows(„index.xls“).Activate

End Sub

War simpel aber zweckmässig.
Ich habe Outlook nirgends definieren müssen. Mit dem ‚sendmail‘ Befehl hat es immer automatisch Outlook geöffnet…

Gruss

Hallo ME67

Ich habe ein Beispiel gefunden um aus Excel über G-Mail Daten zu versenden. Du findest im Code eine Variable „strbody“. Der Inhalt dieser Variable kann in ein Gmail übergeben werden. Die folgenden 4 Codezeilen musst du noch ändern:

.Item("http://schemas.microsoft.com/cdo/configuration/sendu…) = „Full GMail mail address“
.Item("http://schemas.microsoft.com/cdo/configuration/sendp…) = „GMail password“

Nimm deine eigene E-Mail-Adresse um den Code dieser Zeile zu testen: .To = „Mail address receiver“

Ändere YourName in den den „From“-Namen, den du benutzen willst: .From = „“„YourName“" "

Wenn du den Fehler „The transport failed to connect to the server“ bekommst, musst du den SMTP port von 25 auf 465 ändern.

Hier der Makro:

Sub CDO_Mail_Small_Text_2()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant

Set iMsg = CreateObject(„CDO.Message“)
Set iConf = CreateObject(„CDO.Configuration“)

iConf.Load -1 ’ CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpu…) = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpa…) = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendu…) = „[email protected]
.Item("http://schemas.microsoft.com/cdo/configuration/sendp…) = „password“
.Item("http://schemas.microsoft.com/cdo/configuration/smtps…) = „smtp.gmail.com

.Item("http://schemas.microsoft.com/cdo/configuration/sendu…) = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtps…) = 465
.Update
End With

strbody = „Hi there“ & vbNewLine & vbNewLine & _
„This is line 1“ & vbNewLine & _
„This is line 2“ & vbNewLine & _
„This is line 3“ & vbNewLine & _
„This is line 4“

With iMsg
Set .Configuration = iConf
.To = „[email protected]
.CC = „“
.BCC = „“
.From = „“„YourName“" "
.Subject = „Important message“
.TextBody = strbody
.Send
End With

End Sub

Weitere Anmerkung:

Wenn du die Antwort-Adresse ändern willst, muss du folgende Codezeile einfügen:

.ReplyTo = „[email protected]

Wie gesagt, ich habe den Code aus dem Internet kopiert und nicht ausprobiert. Ich selber müsste mir noch G-Mail einrichten - arbeite mit Outlook. Ich denke, am besten probierst du den Makro aus, nach dem du die wichtigsten Anpassungen vorgenommen hast. Wenn du es schaffst einen Text aus Excel zu versenden, ist es nicht mehr schwierig, deine Variableninhalte zu mailen.

Hier noch der Link zur englischen Seite:

http://www.excelforum.com/excel-programming/645329-g…

Bitte gib mir Bescheid, ob es geklappt oder eben nicht geklappt hat.

Gruss

Hallo,

leider kann ich bei untem beschriebenen Problem nicht weiterhelfen. Eventuell nützt es, den VBA-Code mal im Forum von www.herber.de zu posten. Dort kann man auch eine Online-Suche nach dem Problem durchführen. Vielleicht gibt es dort schon eine Lösung.

Gruß
welga

Hoi Sepp

Endlich find ich mal wieder Zeit an meinem kleinen ‚Projekt‘ zu arbeiten.

Vielen Dank für den Code!!
Es funktioniert!

Ich habe mal was ähnliches gefunden im www, aber das hat nicht funktioniert…
Mit dem was du mir da geschickt hast gehts wunderbar.

Es wird ein Mail mit den richtigen Empfängern und dem Text verschickt. - Läuft! -
Denkst du es ist möglich -oder hast vielleicht gar eine Idee - dass man die Mappe als attachment an das Mail hängen kann??

Gruss

Hallo ME67

Ich habe ein Beispiel gefunden um aus Excel über G-Mail Daten
zu versenden. Du findest im Code eine Variable „strbody“. Der
Inhalt dieser Variable kann in ein Gmail übergeben werden.

Bitte gib mir Bescheid, ob es geklappt oder eben nicht
geklappt hat.

Gruss

Hoi Sepp

Ich habs gefunden.
Ich habe noch die Zeile .AddAttachment eingefügt jetzt läuft es so wie ich es gerne möchte.

Vielen Dank für Deine Hilfe!
Du hast mir eine Menge Zeit erspart!!

Gruss
ME67

Hallo ME67

Super. „Google sei Dank.“

Gruss

Sepp


sorry tut mir leid kann ich leider nicht weiterhelfen.
gruss / raingem