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

280

    Vastaukset

    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. Eroa Orpo! Orpo eroa!

      Suomen kansa vaatii viimein ottamaan meidät huomioon, eikä vain ulkomaalaisia pääomasijoittajia. Koska täällä Suomessa
      Maailman menoa
      127
      2832
    2. SDP esti Suomen luisumisen kohti 1984 Orwell -yhteiskuntaa

      Äärioikeistohallitus olisi halunnut Stasin tapaan mikrofonit jokaisen kansalaisen kotiin, mutta SDP esti tuon siirtymän
      Maailman menoa
      56
      1855
    3. Odottavan aika on pitkä, Lindtmanin hallitusta tule jo!

      Eilisen perusteella nykyinen hallitus epäonnistui kaikissa vaalilupauksissaan, joten olemme ansainneet uudet eduskuntava
      Maailman menoa
      80
      1795
    4. Naiset ei halua kilttejä miehiä

      Näin se vaan on..jos olet ilman tatskoja, et rähjää, sinulla ei ole rikosrekisteriä, olet liian kiltti, et sano pahasti,
      Ikävä
      297
      1733
    5. Wille Rydman (ps) osoitti olevansa kommunisti

      Hän toistaa Neuvostoliiton virhettä. Haluaa pitää palveula yllä maksoi mitä maksoi, vaikkei ole maksavia asiakkaita. --
      Maailman menoa
      20
      1624
    6. Seiska: Helmi Loukasmäki paljastaa - Näin Danny ja Helmi tapasivat

      Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat seurattuja julkkiksia. Mutta tiesitkö, miten he tapasivat? Lue
      Viihde ja kulttuuri
      29
      1312
    7. Ainoastaan 10 aloitusta ekasivulla yhdeltä henkilöltä

      Kovasti on vaivaa, ei oo muuta tekemistä tällä henkilöllä päivisin ja öisin... Taas märehtimistä ja samaa jankutusta.
      Joensuu
      29
      1299
    8. Menettämisestä

      Ajatteletko, että olet menettänyt mahdollisuutesi häneen? Osaatko sanoa miksi niin tapahtui?
      Ikävä
      111
      1176
    9. Kiinteistökauppoja

      Onko totta ettö haapaveden kaupunki on ostanut vanhan kesoilin kiinteistön? Kuulemma siihen muuttaa autokorjaamo vanhan
      Haapavesi
      41
      1092
    10. RAAMATULLINEN KASTE ON SAPATTI-LAUANTAI, EI SUNNUNTAI

      Aihe, josta ehkä on eniten kiistaa kristillisten seurakuntien piirissä, on kysymys oikeasta raamatullisesta pyhäpäivästä
      Kaste
      404
      1052
    Aihe