Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

auto email 'From'-Feld und Anhaenge

auto email 'From'-Feld und Anhaenge
abu
Hallo Zusammen,
ich habe mir ein Code zusammen gebaut um per Knopf automatisch eine Mail mit Anhang zu oeffnen.
Nun stosse ich auf 2 Problem und hoffe ihr koennt mir helfen.
1. Ich muss die Mails von einer bestimmten Adresse aus verschicken und muss dazu immer die Adresse im 'From'-Feld eingeben. Da es immer die selbe ist wuerde ich es gerne autom. befuellen aber analog zu den anderen adressadressierungen geht das leider nicht: .From = Fehlermeldung
2. Momentan werden immer ein paar Daten in ein Template kopiert und dann die Mail generiert. Allerdings muss ich nun ne abfrage machen und gegebenenfalls mehrer Blaetter in der Arbeitsmappe speichern.
Die Abfrage bekomm ich ja hin aber wie sag ich Excel das er mehrer Arbeitsblaetter in eine Arbeitsmappe speichert?
Hier mal der Code den ich moment habe.
Gruss abu
Private Sub CommandButton2_Click()
Dim outObj As Object
Dim Mail As Object
Dim oilref As String
oilref = TextBox4.Value
If OptionButton1 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
If OptionButton2 = True Then
ActiveWorkbook.Worksheets("Stock check RPS").Copy
Else
If OptionButton3 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
MsgBox ("Please check Storer ID and try again")
Exit Sub
End If
End If
End If
With ActiveSheet
.Cells(4, 5) = Format(Now, "dd.mm.yy hh:mm")
.Cells(7, 3) = "OIL-" & oilref
.Cells(8, 3) = TextBox1.Value
.Cells(9, 3) = TextBox2.Value
.Cells(10, 3) = TextBox45.Value
.Cells(12, 3) = TextBox13.Value
.Cells(13, 3) = TextBox16.Value
If TextBox14 = "" Then
.Cells(12, 6) = TextBox13.Value
.Cells(13, 6) = TextBox17.Value
Else
.Cells(12, 6) = TextBox14.Value
.Cells(13, 6) = TextBox21.Value
End If
.Cells(18, 3) = TextBox22.Value
End With
TextBox101.Value = Format(Now, "dd.mm.yy hh:mm")
ActiveWorkbook.SaveAs "H:\Templates\Stock check request OIL-" & oilref & ".xls"
ActiveWorkbook.Close
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Stock check request for OIL-" & oilref
.Body = "Dear Team," & Chr(13) & Chr(13) & "please find attached a stock check request." &   _
_
Chr(13) & Chr(13) & "If you have any questions please don't hesitate to contact us." & Chr(13) & _
"Please don't forget to reply or send your emails to: "
If OptionButton1 = True Then
.From = ""                        'hier bekomm ich immer dioe Fehlermeldung
.To = "nlbt"
.CC = "nlbr"
Else
If OptionButton2 = True Then
.To = "trouble.rp"
.CC = "forps"
Else
If OptionButton3 = True Then
.To = "Jame"
End If
End If
End If
.Attachments.Add "H:\Templates\Stock check request OIL-" & oilref & ".xls"
End With
Mail.Display
Set Mail = Nothing
Set outObj = Nothing
Kill "H:\Templates\Stock check request OIL-" & oilref & ".xls"
End Sub

AW: auto email 'From'-Feld und Anhaenge
16.03.2010 12:33:54
Renee
Hi Abu,
Zu 1.: Dazu musst du unter der Adresse in Outlook eingeloggt sein. Alles andere würde dem Spamming Tür und Tor öffnen.
Zu 2.: Wiederhole einfach dein .Attachments.Add mit den anderen Mappen.
GreetZ Renée
AW: auto email 'From'-Feld und Anhaenge
16.03.2010 12:55:37
abu
Hallo Renée,
danke fuer deine Antwort.
zu eins: Outlook ist die ganze Zeit an und ich muss mich nirgends einloggen. hab exchangeserver und Mitglied dieser Gruppe. Wenn ich normal eine Mail schreibe brauch ich auch nichts weiter tun als die Mailadresse im Fromfeld einzutragen. Wie spreche ich den das From-Feld mit Code an? Ob ich die Mail jetzt verschicken darf oder nicht steht ja auf einem anderen Blatt.
zu zwei: ich glaube ich habe mich nicht richtig ausgedrueckt. Ich verschiecke pro Mail immer nur eine Arbeitsmappe nun muss ich aber dieser Arbeitsmappe mehrere Arbeitsblaetter hinzufuegen.
Im moment sag ich ja nur nimm das Template, kopiere Daten und mach daraus eine Arbeitsmappe. Wie sage ich dem jetzt nimm das Template nochmal, kopiere Daten und fuege es der bereits existierenden neuen Datei zu?
Danke fuer deine Hilfe.
Gruss
abu
Anzeige
AW: auto email 'From'-Feld und Anhaenge
16.03.2010 13:15:36
Ramses
Hallo
Bis zur Version 2003 MUSS "From" ausgefüllt sein. Du kannst allerdings eine alternative Sendeadresse angeben.
.SentOnBehalfOf = "Deine Adresse@xyz"
http://www.cryer.co.uk/brian/msexchange/exch_howto_grant_send_on_behalf_of.htm
Erst ab 2007 kann die Sendeadresse, bzw. der Standard-Mail-Account, geändert werden. Aber auch hier ist FROM Pflicht.
"...Wie sage ich dem jetzt nimm das Template nochmal, kopiere Daten und fuege es der bereits existierenden neuen Datei zu?.."
Genauso wie du das erste Attachment verfasst hast.
Das musst du halt bei deiner Programmierung berücksichtigen
Gruss Rainer
Anzeige
AW: auto email 'From'-Feld und Anhaenge
17.03.2010 10:28:26
abu
Hallo Rainer,
danke fuer deine Antwort. Leider bin ich in VBA eine Niete. Koenntst du bitte noch mal helfen:
zu 1. also ich hab ja Outlook2003 also muesste das .SentOnBehalfOf = "Deine Adresse@xyz" doch funktionieren tut es aber nicht. Gibt es noch einen anderen Code um das From-Feld zu befuellen oder was mach ich falsch?
zu 2. habe einfach den Code wo ich sage nimm das Template, kopiere Daten und speicher es noch mal genommen und in eine If abfrage gepackt und einfach noch mal unten angehaengt. Soweit funktionier es auch, zumindest bekomme ich immer zwei Mappen geoeffnet allerdings macht er beim kopieren aerger. Was mach ich da falsch?
If OptionButton1 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
If OptionButton2 = True Then
ActiveWorkbook.Worksheets("Stock check RPS").Copy
Else
If OptionButton3 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
MsgBox ("Please check Storer ID and try again")
Exit Sub
End If
End If
End If
With ActiveSheet
.Cells(4, 5) = Format(Now, "dd.mm.yy hh:mm")
.Cells(7, 3) = "OIL-" & oilref
.Cells(8, 3) = TextBox1.Value
.Cells(9, 3) = TextBox2.Value
.Cells(10, 3) = TextBox45.Value
.Cells(12, 3) = TextBox13.Value
.Cells(13, 3) = TextBox16.Value
If TextBox14 = "" Then
.Cells(12, 6) = TextBox13.Value
.Cells(13, 6) = TextBox17.Value
Else
.Cells(12, 6) = TextBox14.Value
.Cells(13, 6) = TextBox21.Value
End If
.Cells(18, 3) = TextBox22.Value
End With
TextBox101.Value = Format(Now, "dd.mm.yy hh:mm")
ActiveWorkbook.SaveAs "H:\Templates\Stock check request OIL-" & oilref & ".xls"
If TextBox102 "" Then
If OptionButton1 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
If OptionButton2 = True Then
ActiveWorkbook.Worksheets("Stock check RPS").Copy
Else
If OptionButton3 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
MsgBox ("Please check Storer ID and try again")
Exit Sub
End If
End If
End If
With ActiveSheet
.Cells(4, 5) = Format(Now, "dd.mm.yy hh:mm")
.Cells(7, 3) = "OIL-" & oilref
.Cells(8, 3) = TextBox1.Value
.Cells(9, 3) = TextBox2.Value
.Cells(10, 3) = TextBox45.Value
.Cells(12, 3) = TextBox13.Value
.Cells(13, 3) = TextBox16.Value
If TextBox14 = "" Then
.Cells(12, 6) = TextBox13.Value
.Cells(13, 6) = TextBox17.Value
Else
.Cells(12, 6) = TextBox14.Value
.Cells(13, 6) = TextBox21.Value
End If
.Cells(18, 3) = TextBox22.Value
End With
'Hier macht er immer aerger!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ActiveWorkbook.Copy Before:=Workbooks( _
"H:\Templates\Stock check request OIL-" & oilref & ".xls").Sheets(2)
End If
ActiveWorkbook.SaveAs "H:\Templates\Stock check request OIL-" & oilref & ".xls"
ActiveWorkbook.Close
Gruss abu
Anzeige
AW: auto email 'From'-Feld und Anhaenge
17.03.2010 11:09:52
abu
Hallo Rainer,
also das Problem mit dem kopieren habe ich geloest. Untenstehender Code funktioniert.
Leider bringt es mich zum naechsten Problem. Ich speicher die Datei ja nun 2 mal und nun kommt immer die Frage ob die bereits bestehende Datei ersetzt werden soll.
Kann ich es festlegen das er sie automtisch ueberschreibt?
Gruss abu
Private Sub CommandButton2_Click()
Dim outObj As Object
Dim Mail As Object
Dim oilref As String
oilref = TextBox4.Value
If OptionButton1 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
If OptionButton2 = True Then
ActiveWorkbook.Worksheets("Stock check RPS").Copy
Else
If OptionButton3 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
MsgBox ("Please check Storer ID and try again")
Exit Sub
End If
End If
End If
With ActiveSheet
.Cells(4, 5) = Format(Now, "dd.mm.yy hh:mm")
.Cells(7, 3) = "OIL-" & oilref
.Cells(8, 3) = TextBox1.Value
.Cells(9, 3) = TextBox2.Value
.Cells(10, 3) = TextBox45.Value
.Cells(12, 3) = TextBox13.Value
.Cells(13, 3) = TextBox16.Value
If TextBox14 = "" Then
.Cells(12, 6) = TextBox13.Value
.Cells(13, 6) = TextBox17.Value
Else
.Cells(12, 6) = TextBox14.Value
.Cells(13, 6) = TextBox21.Value
End If
.Cells(18, 3) = TextBox22.Value
End With
ActiveWorkbook.SaveAs "H:\Templates\Stock check request OIL-" & oilref & ".xls"
If TextBox102 "" Then
If OptionButton1 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
Else
If OptionButton2 = True Then
ActiveWorkbook.Worksheets("Stock check RPS").Copy
Else
If OptionButton3 = True Then
ActiveWorkbook.Worksheets("Stock check").Copy
End If
End If
End If
With ActiveSheet
.Cells(4, 5) = Format(Now, "dd.mm.yy hh:mm")
.Cells(7, 3) = "OIL-" & oilref
.Cells(8, 3) = TextBox1.Value
.Cells(9, 3) = TextBox2.Value
.Cells(10, 3) = TextBox45.Value
.Cells(12, 3) = TextBox13.Value
.Cells(13, 3) = TextBox16.Value
If TextBox14 = "" Then
.Cells(12, 6) = TextBox13.Value
.Cells(13, 6) = TextBox17.Value
Else
.Cells(12, 6) = TextBox14.Value
.Cells(13, 6) = TextBox21.Value
End If
.Cells(18, 3) = TextBox22.Value
End With
End If
TextBox101.Value = Format(Now, "dd.mm.yy hh:mm")
ActiveSheet.Move After:=Workbooks("Stock check request OIL-" & oilref & ".xls").Sheets(1)
ActiveWorkbook.SaveAs "H:\Templates\Stock check request OIL-" & oilref & ".xls"
ActiveWorkbook.Close
Anzeige
auto email 'From'-Feld
17.03.2010 12:57:17
abu
Hallo Rainer,
neue Wasserstandsmeldung. Die Meldungen werden nicht mehr angezeigt. Habe einfach
Application.DisplayAlerts = False
und
Application.DisplayAlerts = True
dazwischengehauen. Jetzt passts.
Wie ich das aber mit dem From-Feld loese, hab ich immer noch nicht raus. Also wenn du mir vllt. da noch mit helfen koenntest, waere ich sehr dankbar.
Gruss
abu
AW: auto email 'From'-Feld
17.03.2010 21:36:16
Ramses
Hallo
Das ."From" kannst du eigentlich weglassen. Es wird immer der Standard-Email-Account verwendet.
Das ".From" funktioniert erst ab Outlook 2007
Gruss Rainer
'From'-Feld Outllok 2003
18.03.2010 09:16:47
abu
Hallo Rainer,
entschuldige bitte wenn ich nerve aber ich habe Outlook 2003 und wenn ich eine email schreibe und das From-Feld mit der emailaddresse von der ich schreiben moechte befuelle, dann funktioniert das auch.
Und wenn das funktioniert, dann muss es doch auch einen Weg geben das From-Feld automatisch befuellen zu lassen, oder verstehe ich hier irgendwas nicht...?
Grus
abu
Anzeige
AW: 'From'-Feld Outllok 2003
18.03.2010 11:43:55
Ramses
Hallo
Was verstehst du unter "automatisch befüllen" ?
"FROM" und Standard-Email-Account der als Absender auftaucht sind zwei unterschiedliche Sachen.
Gruss Rainer
AW: 'From'-Feld Outllok 2003
19.03.2010 08:49:48
abu
Hallo Rainer,
ich muss diese Mails nicht von meinem eigenen Account verschicken sonder von unsere Gruppenmailaccount und dazu trage ich im From-Feld die Emailadresse der Gruppe ein.
Aber wie ja gestern bereits erwaehnt hast du mich auf einen guten Weg gebracht und dafuer danke ich dir.
Gruss
Rainer
AW: auto email 'From'-Feld
18.03.2010 10:14:05
abu
Hallo Rainer,
das ist auch geschafft. Statt:
.SentOnBehalfOf
mus es:
.SentOnBehalfOfName
heissen.
Danke fuer deine Tips, haben mich alle auf den richtigen Weg gebracht.
Gruss
abu
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige