automatisch checken, abfragen und auswählen, outlook oder express/web mail
#11
Sry das ich nochmal störe...doch brauche noch ein bisschen Hilfe Angel
 
 
Es funktioniert tatenlos der Code, doch es fügt die aktuelle Arbeitsmappe nicht in der E-Mail.
Ob Outlook oder Express, live egal in welcher Form es fügt die aktive Arbeitsmappe nicht hinzu.
 
Habe es versucht in dem ich diesen Code Schnipsel hinzugefügt habe, doch ohne Erfolg.

Code:
Dim AWS As String
AWS = ThisWorkbook.FullName
  .Attachments.Add AWS

 Dein Super Code:
Code:
Sub Email_senden()
'Variablendeklarationen
Dim strEMAddr$, strCc$, strSubj$, strBody$
'E-Mail
strEMAddr = "er.bekommts@irgendwo.de"
strCc = "er.bekommts.auch@irgendwo.de"
strSubj = "das hast du davon"
strBody = "Am 31.8.4500 ist der Weltuntergang. Da endet der Outlook-Kalender"
'E-Mail per hyperlink aufrufen. Es kommt ggf. die Frage nach der App
ActiveWorkbook.FollowHyperlink Address:="mailto:" & _
  strEMAddr & "?subject=" & strSubj & "&cc=" & strCc & "&body=" & strBody
End Sub

Der Code so wie du Ihn hast mit den Zusatz dass es die aktive Arbeitsmappe hinzufügt, wäre mir sehr geholfen.
 
Danke,
Niko :78:
Top
#12
Hallöchen,

das geht meines Wissens nicht mit FollowHyperlink. Du könntest höchstens die Datei irgendwo im Netz parken und den Link zur Datei im Body einfügen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#13
Könnte ich bei meinen Code die Frage nach der App einbauen bevor es zum Outlook geht?
So wäre die Abfrage wenigstens am Anfang getan und wenn es ein Outlook Konto ist kann es wie im Code die aktive Arbeitsmappe einfügen
und wenn es nicht im Outlook ist bzw. nicht Outlook ausgewählt wurde dann eben manuelle einfügen.

Wäre dieser Gedanke in den beigefügten Code möglich am Anfang einzubauen?



Mein erster Code:
Code:
Sub Excel_Workbook_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Dim GruppenName, KasseMonat As String
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = ThisWorkbook.FullName
GruppenName = ThisWorkbook.Sheets("Menu").Range("B7")

KasseMonat = MonthName(Month(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))) & " / " & Year(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))

Set Nachricht = OutApp.CreateItem(0)
With Nachricht
         .To = "fant@lino.de"
         .Subject = "Meine Montage Spesenabrechnung - Gruppe: " & GruppenName & " - Abrechnungsmonat: " & KasseMonat & " - Gesendet am: " & Date & " - " & Time
         .Attachments.Add AWS
         .Body = "Grüße aus " & GruppenName & "," & vbCrLf & vbCrLf & "Anbei die mappe voll mit Daten " & KasseMonat & "." & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Vielen Dank." & vbCrLf & GruppenName & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "* Mit Drücken auf Senden wird die Linofant mappe wegfliegen!"
         
         .Display
         
End With

Set OutApp = Nothing
Set Nachricht = Nothing
MsgBox "NICHT VERGESSEN!!!" & vbNewLine & "Haben Sie alle Daten gut in der mappe gepackt?", vbInformation, "Linofant"
End Sub

Danke für deine Zeit und mühe

Niko :78:
Top
#14
Hallöchen,

so wollte ich ja vor einigen Antworten auch anfangen. Hier zieht sich der code Outlook. Wenn es keins gibt, ist OutApp Nothing. Darauf prüfst Du und entscheidest, ob es mit Outlook oder der WebApp weiter geht.


Code:
Set OutApp = CreateObject("Outlook.Application")

If OutApp = Nothing then
  'hier das WebApp-Makro aufrufen oder den Code einfuegen
Else
  'hier mit Outlook weiter
End If
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#15
Hallo nochmal Angel 

Also egal wie ich es zusammen bastele kommt kein Ergebnis raus.

Kommt immer Fehler beim Kompilieren: Unzulässige Verwendung eines Objektes
If OutApp = Nothing Then….  Nothing wird blau.

 
Wäre es möglich von deiner Seite aus diesem Code geschnipselt von mir so zusammen zu bauen das auch funktioniert?
…bin glaube ich VBA Blind

Im Grunde:
.xlsm   Kopie von Mail_Choice-1.xlsm (Größe: 20,15 KB / Downloads: 1)     Xmas07

die Frage nach der App einbauen bevor es zum Outlook oder Express, Live etc.  geht (Benutzer auswählt).
Wenn Outlook, einfach denn vorgegebenen Code denn ich in den Dateien und im Forum habe, abspielen.
Wenn es zum Express, Live etc. geht(Benutzer auswählt) einfach deinen super Code abspielen.

So würden alle bei und die auf Montage sind die ganze Woche, einfach auf ein Button drücken und die Wochenabrechnung einfach zur Firma senden,
Ohne viel Zeit vom Wochenende zu verlieren.
Mehr Zeit für Familie Xmas11


Danke,

Niko  :78:
Top
#16
Hallöchen,

ich hab mal was in Deinem weiter oben geposteten Code geändert. Wie ich weiter oben richtigerweise schrieb, läuft die Codezeile

auf einen Fehler. Später war ich dann wohl gedanklich etwas auf Abwegen in Nothing Hill oder wo auch immer Sad Du tust im Fehlerfall mit einer Fehlerroutine weitermachen, die z.B. in Deinem Fall das App-Makro starten könnte. Das hab ich in dem geposteten Code drin.

Code:
Option Explicit

Sub Excel_Workbook_via_Outlook_Senden()
Dim Nachricht As Object, OutApp  As Object
Dim GruppenName, KasseMonat As String

On Error GoTo errorhandler
Set OutApp = CreateObject("Outlook.Application")
On Error Goto 0

Dim AWS As String
AWS = ThisWorkbook.FullName
GruppenName = ThisWorkbook.Sheets("Menu").Range("B7")

KasseMonat = MonthName(Month(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))) & " / " & Year(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))

Set Nachricht = OutApp.CreateItem(0)
With Nachricht
        .To = "fant@lino.de"
        .Subject = "Meine Montage Spesenabrechnung - Gruppe: " & GruppenName & " - Abrechnungsmonat: " & KasseMonat & " - Gesendet am: " & Date & " - " & Time
        .Attachments.Add AWS
        .Body = "Grüße aus " & GruppenName & "," & vbCrLf & vbCrLf & "Anbei die mappe voll mit Daten " & KasseMonat & "." & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Vielen Dank." & vbCrLf & GruppenName & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "* Mit Drücken auf Senden wird die Linofant mappe wegfliegen!"
       
        .Display
       
End With

Set OutApp = Nothing
Set Nachricht = Nothing
MsgBox "NICHT VERGESSEN!!!" & vbNewLine & "Haben Sie alle Daten gut in der mappe gepackt?", vbInformation, "Linofant"

Exit Sub

errorhandler:
'hier die web-app aufrufen
End Sub

Du könntest statt der Fehlerbehandlung auch eine Fallunterscheidung anhand des Err - Zustandes programmieren. Hier mal der Anfang dazu. Generell würde ich empfehlen, dass Du die verschiedenen Strings und Parameter vor der Fallunterscheidung festlegst damit DU das nicht doppelt machen musst. Ich hab hier mal schon 3 hochgezogen.

Sub Excel_Workbook_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Dim GruppenName, KasseMonat As String, AWS As String

AWS = ThisWorkbook.FullName
GruppenName = ThisWorkbook.Sheets("Menu").Range("B7")
KasseMonat = MonthName(Month(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))) & " / " & Year(CDate(ThisWorkbook.Sheets("Menu").Range("A3")))

On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
If Err Then
'Web-App-Code
Else
'Dein code
'...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#17
Habe beide Varianten mit eigepackt in der Datei.

 

Die Frage nach welcher app wird bei beiden Varianten nicht gestellt und gehen nur auf Outlook.


Habe es auf Rechner probiert ohne Outlook und hat am Ende Microsoft Visual Basic for Application gezeigt als Fehler.



Hier die Datei mit beiden Varianten mit Button

.xlsm   LINOFANT.xlsm (Größe: 26,15 KB / Downloads: 4)

 Wie gesagt:
Es soll zuerst die app Auswahl zeigen
Dann nach der Auswahl entweder den vorhandenen Outlook Code abspielen (wenn Outlook gewählt wird)
Oder Ihren ausgefeinten Code für Express, Live etc.
Wenn nichts geht soll einfach eine Message sagen dass es keine Möglichkeit gibt eine e-mail aus diesen Rechner zu senden, anstatt diesen Visual Basic Error.
 
Danke…hoffe ich gehe Ihnen nicht al zu sehr auf die Nerven mit mein Anliegen.


Thx again,

Niko :78:
Top
#18
Hallöchen,

in DieseArbeitsmappe gehört der Code nicht. Man kann z.B. ein weiteres Modul einfügen und den Code dort rein packen.
im anderen Code fehlt ein End If. Der kann so gar nicht gegangen sein.
die Buttons gehen beide auf den code in DieseArbeitsmappe.

Also, das End If an passende Stelle einfügen und die Buttons korrekt zuweisen, und dann nochmal testen Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#19
Kriege weder das „End If“ oder sonst noch was hin in VBA
...wie auch immer ich bin sehr genervt mit den ganzen
...kriege es einfach nicht hin...mein Kopf ist zu gedröhnt wie sonst.

ich schmeiße es hin...was Solls

Danke die für deine Mühe und Zeit

Niko :78:
Top
#20
Hallöchen,
Du hast doch oben geschrieben dass Du den code gebastelt hast..
Schreib das End If doch einfach über End Sub. Dann kannst Du zumindest erst mal testen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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