Telefonszámunk: 1-472-0679

Excel adatok másolása Outlook body-ba

Kezdőlap Fórumok Excel programozás Excel adatok másolása Outlook body-ba

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #9360
    burjanos
    Felhasználó

      Sziasztok!

      Meg tudtam oldani, hogy az excelből egy emailt generálok outlook-ba. Ami nem sikerül: az email body-jába be szeretnék másolni az excelből egy cellatartományt, mint egy táblázatot. Be is másolja, de elveszítem a táblázat formátumát, mivel az outlook body-ja egy string és oda stringként teszi be, azaz az oszlopok elcsúsznak egymástól, nem táblázatszerű lesz. Most odáig jutottam, hogy a kijelölt cellatartományt a clipboard-ra teszem, az emailt létrehozom az outlook-ban, de nem küldöm el, hanem átlépek az outlook-ba a legenerált email-hez és ott ctrl+v-vel bemásolom a clipboard-ról a táblázatot, amit az outlook szépen, táblázatosan elhelyez az email-ben. Ezt a manuális műveletet szeretném programból megvalósítani, mert akkor nem kéne az outlook-ban megállnom, egyből mehetne az email.

      A segítséget és az ötleteket előre is köszönöm.

      A vágólapra másolás (ami az email generálás előtt van futtatva):

      Range(„A1:B2”).Select
      Selection.Copy

      Az email generáló eljárásom:

      Sub Email_kuld(ByVal Email_cim As Variant, ByVal Targy As String, ByVal Body As String)

      ‘ Az Email_cim tömbben megadott címekre elkészíti az emailt, de nem küldi el, csak megmutatja.

      Dim i As Integer
      Dim OutlookApp As Outlook.Application
      Dim OutlookEmail As Outlook.MailItem
      Dim MyRecepient As Outlook.Recipient

      Set OutlookApp = CreateObject(„Outlook.Application”)
      Set OutlookEmail = OutlookApp.CreateItem(olMailItem)

      On Error GoTo hiba
      With OutlookEmail
      For i = 0 To UBound(Email_cim)
      If Email_cim(i) <> „” Then
      .Recipients.Add (Email_cim(i))
      End If
      Next i

      .Subject = Targy
      .Body = Body

      .Display

      End With

      Exit Sub

      hiba:
      valasz = MsgBox(„Nem sikerült az email elküldése!”, vbOKOnly Or vbCritical, „”)

      End Sub

      #9364
      horvimi
      Adminisztrátor

        Szia!

        Most vettem észre ezt a kérdést. Ha még nem találtál megoldást

        A sima szöveg helyett (Body) formázott szöveget kel betenni ilyenkor, ami ráadásul HTML.
        Ezért HTML kódot kell generálni VBA-bana tábla addataiból.

        Előny, ha értesz egy kicsit a HTML-hez, hogy a táblázat milyen leíró TAG-ekkel van jelölve.

        A neten elég sok megoldás van erre.
        Pl.:
        https://stackoverflow.com/questions/48496195/sending-excel-table-in-mailbody

        A formátumot nem őrzi meg, csak az értékekekt, de táblázat lesz.
        ha formátumot is akarsz (más színű fejléc, vagy ilyesmi), akkor még az is feladat.

        Van itt egy másik megoldás, ami lehet, hogy megőrzi a formátumot, de nem próbáltam, csak ismerem ezt a holland fószert, elég jó kódokat tett közzé:
        https://rondebruin.nl/win/s1/outlook/bmail2.htm

        Imre

        • A hozzászólás módosításra került: 2 years, 1 month telt el-horvimi.
        • A hozzászólás módosításra került: 2 years, 1 month telt el-horvimi.
        #9420
        burjanos
        Felhasználó

          Köszönöm, utánajárok és próbálkozom.

          Burjanos

        3 bejegyzés megtekintése - 1-3 / 3
        • Be kell jelentkezni a hozzászóláshoz.