Kuvan lisääminen + lähettäminen sähköpostitse

Stina80

Hei,

osaako joku neuvoa kuinka saan makro-koodilla lisättyä kuvan haluttuun soluun? Esim. rivit A50:D65 on alue jolle kuva pitäisi saada sijoitettua.

Toisekseen, kuinka on mahdollista saada kuvat allekkain? Esim. yksi kuva riville 51, toinen 52 jne jne.

Kiitoksia etukäteen!

4

338

    Vastaukset 4

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • moduuliin....
      muuta nimet sopiviksi

      Option Explicit

      Sub Kuvakoe()
      ' solualueelle kuva
      LisääKuva "E:\testi.jpg", Range("A50:D65")
      'yksittäiseen soluun kuva
      'LisääKuva "E:\testi.jpg", Range("A50")
      End Sub

      Sub LisääKuva(Tiedosto As String, Solu As Range)
      Dim p As Object
      Dim ylä As Double
      Dim vasen As Double
      Dim leveys As Double
      Dim korkeus As Double
      Set p = ActiveSheet.Pictures.Insert(Tiedosto)
      With p
      .Top = Solu.Top
      .Left = Solu.Left
      .Width = Solu.Offset(0, Solu.Columns.Count).Left - Solu.Left
      .Height = Solu.Offset(Solu.Rows.Count, 0).Top - Solu.Top
      End With
      Set p = Nothing
      End Sub

      Keep EXCELing
      @Kunde

    • Stina80

      Kiitos, se toimii kyllä. Osaatko vielä neuvoa kuinka kuvia voisi lisätä allekkain? Esim. kuva 1 riville 51, kuva 2 riville 52 jne jne?

      • Sub LisääKuva()
        Dim p As Object
        Dim ylä As Double
        Dim vasen As Double
        Dim leveys As Double
        Dim korkeus As Double
        Dim i As Long
        Dim kuva As String

        'muuta SOLU
        Range("A50").Select
        'muuta SOLUALUE
        'Range("A50:D50").Select
        For i = 1 To 2
        'muuta POLKU JA NIMI
        kuva = "E:\BELL" & i & ".jpg"
        Set p = ActiveSheet.Pictures.Insert(kuva)
        With p
        .Top = Selection.Top
        .Left = Selection.Left
        .Width = Selection.Offset(0, Selection.Columns.Count).Left - Selection.Left
        .Height = Selection.Offset(Selection.Rows.Count, 0).Top - Selection.Top
        End With
        Selection.Offset(1, 0).Select
        Next
        Set p = Nothing
        End Sub


    • Stina80

      Valittaa tästä jotakin
      Set p = ActiveSheet.Pictures.Insert(kuva), runtime error 1004 =(

      Tämä kyseinen "range" jossa kuva on, pitäisi jotenkin saada lähetettyä sähköpostiin.

      Sub Mail_Range()
      'Working in 2000-2010
      Dim Source As Range
      Dim Dest As Workbook
      Dim wb As Workbook
      Dim TempFilePath As String
      Dim TempFileName As String
      Dim FileExtStr As String
      Dim FileFormatNum As Long
      Dim i As Long
      Dim Recipient As String
      Dim r As Range
      Set Source = Nothing
      On Error Resume Next
      Set Source = Range("A28:d65").SpecialCells(xlCellTypeVisible)
      On Error GoTo 0
      If Source Is Nothing Then
      MsgBox "The source is not a range or the sheet is protected, " & _
      "please correct and try again.", vbOKOnly
      Exit Sub
      End If
      On Error Resume Next
      Set r = Application.InputBox("Valitse sähköpostiosoite listalta", Type:=8)
      On Error GoTo 0
      If r Is Nothing Then Exit Sub
      Recipient = r.Value
      With Application
      .ScreenUpdating = False
      .EnableEvents = False
      End With
      Set wb = ActiveWorkbook
      Set Dest = Workbooks.Add(xlWBATWorksheet)
      Source.Copy
      With Dest.Sheets(1)
      .Cells(1).PasteSpecial Paste:=8
      .Cells(1).PasteSpecial Paste:=xlPasteValues
      .Cells(1).PasteSpecial Paste:=xlPasteFormats
      .Cells(1).Select
      Application.CutCopyMode = False
      End With
      TempFilePath = Environ$("temp") & "\"
      TempFileName = "Range of " & wb.Name & " " _
      & Format(Now, "dd-mmm-yy")
      If Val(Application.Version) < 12 Then
      'You use Excel 2000-2003
      FileExtStr = ".xls": FileFormatNum = -4143
      Else
      'You use Excel 2007-2010
      FileExtStr = ".xlsx": FileFormatNum = 51
      End If
      With Dest
      .SaveAs TempFilePath & TempFileName & FileExtStr, _
      FileFormat:=FileFormatNum
      On Error Resume Next
      For i = 1 To 3
      .SendMail Recipient, _
      "Poikkeamaraportti"
      If Err.Number = 0 Then Exit For
      Next i
      On Error GoTo 0
      .Close SaveChanges:=False
      End With
      'Delete the file you have send
      Kill TempFilePath & TempFileName & FileExtStr
      With Application
      .ScreenUpdating = True
      .EnableEvents = True
      End With
      End Sub

      Käytän tätä koodia mutta se ei hyväksy kuvia, tai ei yksinkertaisesti ota niitä mukaan viestiin. Osaatko antaa neuvoa vielä tuohon että kuinka saisin lähetettyä kuvan koodia käyttämällä? Olisi vähän niinkuin pakko-homma käyttää koodia eikä suoraan "lähetä sähköpostiin"-toimintoa.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Viesti sinulle

      Tiedät että tunteet ja ajatukset ja meillä on vahva yhteys mistä molemmat tiedetään. Odotan sinua ☀️
      Ikävä
      48
      1012
    2. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      17
      959
    3. Olen kironnut sinut alimpaan helvettiin

      Hyvää matkaa.
      Ikävä
      82
      831
    4. Mitä sinulle on tapahtunut lapsena

      Kun olet noin sairas päästäsi? Pikkupojalle ( Miehen kehossa)
      Ikävä
      80
      749
    5. Haluan purkaa vielä tuntemuksia

      Tykkään sinusta kovin paljon❤️ olen surullinen tilanteestasi ja siitä mitä me olemme yhdessä joutuneet kokemaan. Tämä ei
      Ikävä
      21
      727
    6. Kyllä tiedän sun

      Likaiset pelit selän takana
      Ikävä
      59
      621
    7. Tunteiden käsittely kertoo ihmisestä.

      Kun puhutaan "tavallisesta" ihmisestä, joka on suht tasapainoinen eläjä, niin puhutaan oikeastaan taitavasta tunteiden k
      Sinkut
      203
      618
    8. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      102
      594
    9. Persujen Puhoksen retki

      Perussuomalaiset olivat tehneet turistibussimatkan Puhokseen. Tosin raukat olivat niin peloissaan, etteivät uskaltaneet
      Perussuomalaiset
      188
      562
    10. Onko tuo joku katkera nainen oikeasti

      Joka sinua syyttää?
      Ikävä
      90
      538
    11. Jopa poliisi nauraa paskaista pelkuripersuille

      Puhoksessa jäi "isänmaantoivot" bussiin vapisemaan :-D https://www.is.fi/politiikka/art-2000012319632.html
      Maailman menoa
      256
      465
    12. Pilkettä sunnuntain silmässä

      😉 Jos tästä ketjusta löytyisi yksi ihminen, joka saisi sut hymyilemään tänään… Millainen hän olisi? Ei tarvitse kerto
      Sinkut
      65
      451
    13. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      85
      432
    14. Aika on tuonut järkeä

      Sä et tiedä musta kaikkea. Jos tietäisit, ymmärtäisit, miksi me ei sovita yhteen. Öljy ja vesi. En mä ole valehdellut,
      Järki ja tunteet
      42
      403
    15. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      36
      398
    16. Persut eivät uskaltaneet tulla ulos

      Bussiin jäivät https://www.iltalehti.fi/politiikka/a/d7f9fc57-dca0-40b8-9cb1-156e5872dba9
      Perussuomalaiset
      142
      376
    17. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      43
      372
    18. 27
      366
    19. Ketkä käy potkimassa ovia öisin?

      Enää ei naurata.
      Haapavesi
      4
      349
    20. Miten viikonloppu meni

      Mielestäsi? Tapasitko kaivatun? Jos, etenivätkö asiat?
      Ikävä
      29
      348
    Aihe