Autor Thema: Mail via Excel verschicken  (Gelesen 6070 mal)

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Mail via Excel verschicken
« am: 08.06.16 - 15:41:44 »
Hallo Leute,

ich habe ein Problem dabei, die Mail bearbeiten zu können.
Wenn ich das Makro ausführe, dann öffnet sich auch wie gewollt Lotus Notes, allerdings beinhaltet es nur den Email-Adressen sowie den Betreff. Wohin ist der Bodytext verschwunden?? Denn wenn ich das Makro so abändere, dass die Email automatisch abgeschickt wird, dann ist die Mail inkl. Inhalt.
Bitte um Hilfe!!

Beiliegend ist mein Code.


Sub SendNotesMail2()

Dim UserName As String
Dim MailDbName As String
Dim Recipient As Variant
Dim Maildb As Object
Dim MailDoc As Object
Dim session As Object
Dim stSignature As String


With Application
.ScreenUpdating = False
.DisplayAlerts = False


AWS = ActiveWorkbook.FullName
Set Worksheet = Application.ActiveWorkbook.Worksheets.Item(1)
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
Set MailDoc = Maildb.createdocument
MailDoc.Form = "Memo"
Set Workspace = CreateObject("Notes.NOTESUIWORKSPACE")
stSignature = Maildb.GetProfileDocument("CalendarProfile").GetItemValue("Signature")(0)
Recipient = "Testgruppe"
MailDoc.display = "Testgruppe"
MailDoc.sendto = "Testgruppe"
MailDoc.copyto = ""
MailDoc.subject = "prices"
MailDoc.SAVEMESSAGEONSEND = saveit
Set ritem = MailDoc.CREATERICHTEXTITEM("Body")
For i = 2 To 2
With ritem
        .appendtext ("Please find below the updated prices:")
        .addnewline (3)
End With
Next
For i = 2 To 37

With ritem
        .appendtext ("")
        .appendtext (Cells(i, 2).Value & vbTab & Cells(i, 3).Value & vbTab & Cells(i, 4).Value & vbTab & Cells(i, 5).Value & vbTab)
        .addnewline (1)
End With

 Next
For i = 2 To 2
With ritem
        .appendtext ("" & vbCrLf & vbCrLf & stSignature)
End With
Next



Danke!!!

Offline Bastel123

  • Senior Mitglied
  • ****
  • Beiträge: 355
  • Geschlecht: Männlich
Re: Mail via Excel verschicken
« Antwort #1 am: 08.06.16 - 17:03:07 »
Ein bischen Suche im Forum führt einen zu diesem Tread:

http://atnotes.de/index.php/topic,59825.80.html

Da wurde alles durchgekaut.

Sebastian
Gruß Sebastian
-----------------------------------------------------
Kaum macht man's richtig, schon funktioniert's.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mail via Excel verschicken
« Antwort #2 am: 08.06.16 - 17:03:50 »
Also erstmal fehlt natürlich in Deinem Beispielcode die Stelle, wo Du das Ganze zum bearbeiten öffnest, das macht es etwas schwieriger, das zu analysieren.
Ausserdem wäre es schön, wenn Du code auch in CODE- Tags einfasst, das macht das Ganze wesentlich besser lesbar.

Nun aber zum Problem: Richtext- operationen werden gecached, und erst "tatsächlich" ins Dokument geschrieben, wenn man entweder das Dokument speichert, oder aber das Richtext- Item updated.

Probiere mal ganz am Ende, nach der Schleife die Zeile:
Code
rtitem.Update
, das sollte schon reichen. Wenn nicht, dann füge noch ein
Code
rtitem.Compact
ein, das sollte auf jeden Fall reichen.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #3 am: 13.06.16 - 10:41:47 »
Hallo Tode :D

Erst mal danke für den simplen aber sehr erfolgreichen Tipp. Hat super funktioniert.
Allerdings steht jetzt meine Signatur (so wie es sein soll) ganz am Ende, aber auch ganz am Anfang der Mail. Der generierte Inhalt wird also erst unterhalb der Signatur eingefügt.
Vielleicht hast du ja noch eine Idee wie ich die Signatur oberhalb ausblenden lassen kann oder so ähnlich?

Vielen Dank im Voraus!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mail via Excel verschicken
« Antwort #4 am: 13.06.16 - 10:57:55 »
Das Problem ist: Du fügst die Signatur manuell im Code ein, aber in dem Moment, wo Du das Dokument zum Bearbeiten ins Frontend bringst, wird durch die Option "Signatur automatisch hinzufügen" die Signatur nochmal automatisch hinzugefügt.

Das zu verhindern ist nicht trivial, und es gibt verschiedene Ansätze, das zu tun. Die hier alle darzulegen / durchzuprobieren geht aber ins Consulting... und damit verdiene ich mein Geld.

Sorry, da musst Du selbst recherchieren, möglicherweise reicht es, im Kalenderprofil temporär die Option für das automatische einfügen der Signatur zu deaktivieren:
Code
Set docProfile = Maildb.GetProfileDocument( "CalendarProfile" )
Call docProfile.ReplaceItemValue( "FeldFürAutomatischeSignatur", "" )
Call docProfile.Save( True, True, True)

Nicht vergessen, den Status zu merken, und nachher wieder zurückzusetzen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #5 am: 13.06.16 - 11:02:51 »
ok ja gut kann ich verstehen. Ich werde es dann wohl einfach temporär ausblenden lassen :)

Da fällt mir ein, dass ich noch ein "Problem" damit habe. Und zwar einen kleinen Schönheitsfehler.
Wie schaffe ich es, dass bestimmte Zellen als fett markiert werden, damit es in der Mail anschaulicher und übersichtlicher wird?

Vielen Dank im Voraus.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mail via Excel verschicken
« Antwort #6 am: 13.06.16 - 11:26:59 »
Für Formatierungen musst Du Dich mit NotesRichTextStyle und AppendStyle auseinandersetzen.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #7 am: 13.06.16 - 11:58:38 »
ok alles klar.

Kannst du mir denn dabei helfen das jeweils aktuelle Datum ans Ende der Betreffzeile einzufügen?
Ich weiß nicht genau, wie ich das machen soll. Also ob es dafür auch einen Code gibt oder ob man vielleicht die Betreffzeile mit einer Zelle aus Excel verknüpfen kann?

Danke!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail via Excel verschicken
« Antwort #8 am: 13.06.16 - 12:22:13 »
Das ist aber VBA-Code, in Notes würde ich das so schreiben, ob VBA ein Now kennt, weiß ich nicht, oder ob das formatiert werden kann oder muss.

Code
MailDoc.subject = "prices " & Now

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #9 am: 13.06.16 - 13:10:47 »
ja hat geklappt :) Vielen Dank.

Ist jetzt nur noch ein Schönheitsfehler, aber es wird das Datum inkl. der Uhrzeit angezeigt. Die Uhrzeit brauch ich allerdings nicht. Kann man das umändern?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail via Excel verschicken
« Antwort #10 am: 13.06.16 - 13:17:41 »
Today

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #11 am: 13.06.16 - 13:20:04 »
Funktioniert leider nicht :(

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail via Excel verschicken
« Antwort #12 am: 13.06.16 - 13:31:05 »
An sich sollte Today () in Excel tun (in anderen Office-Programmen nicht). Alternative: Date ().
Eine Typwandlung mit Cstr sei dringend empfohlen.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail via Excel verschicken
« Antwort #13 am: 13.06.16 - 13:32:30 »
Hat Excel keine Hilfe?

Format funktioniert in Excel, wie in Notes (gerade getestet)

Code
Format (Now, "dd.mm.yyyy")

Offline Fabidi

  • Frischling
  • *
  • Beiträge: 11
Re: Mail via Excel verschicken
« Antwort #14 am: 13.06.16 - 13:43:32 »
Schlussendlich hat "Date" funktioniert.

Vielen Dank !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz