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

267

    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. Riikka ei suostu laskemaan bensan hintaa

      Sanna laski esimerkiksi sähkön arvonlisäveron 10 prosenttiin, jonka Riiikka anosti 25,5 prosenttiin. Sannan aikaan bens
      Maailman menoa
      166
      3792
    2. Maahanmuuttajien vaikutus Suomen valtiontalouteen positiivinen

      Maahanmuuttajat maksavat enemmän tuloveroja kuin saavat tulonsiirtoja. Eroavat persuista tässä suhteessa. Persuista o
      Maailman menoa
      22
      3104
    3. EK: Suomi tarvitsee vuosittain 45 000 maahanmuuttajaa

      Senpä takia Riikkakin laulaa sen lauluja kenen leipää syö. Viime vuonnahan Suomeen muutti 50 tuhatta ulkomaalaista. htt
      Maailman menoa
      227
      2640
    4. Kesäaika on normaaliaika...

      ...siten illalla on valoisaa tunnin pitempään, on sitten kesä tai talvi. Voi nauttia päivän jatkumisesta. Kuka nyt aamul
      Maailman menoa
      245
      2194
    5. Uusin tutkimus: Suomi on maailman toiseksi vähin rasistinen maa

      taakse jää mm. Ruotsi(7) ja Norja(8). Martin Paasi(kok.): Kumoaa vasemmiston väitteet. Kansainvälinen vertailu osoitta
      Maailman menoa
      76
      1923
    6. Ähtärin päättäjät

      Nyt tulee kutsu leivättömän pöydän äärelle. Syytteet nostetaan. https://www.iltalehti.fi/kotimaa/a/cef83309-0a1b-4fcd-9b
      Ähtäri
      53
      1337
    7. Ketkä 8 Ähtärin luottamushenkilöä saivat syytteen virka_aseman väärinkäyttämisestä?

      Nyt näiden valtuutettujen nimet esiin, kiitos! Nämä henkilöt pitää yksinkertaisesti laittaa syrjään Ähtärin kaupunginva
      Ähtäri
      26
      1290
    8. Tulen hulluksi hänestä

      Hän on vanha ja varattu. Mutta olen ihan hulluna häneen. Haluan hänet omakseni. Haluan olla hänen kanssaan ajasta ikuisu
      Ikävä
      70
      1188
    9. Ensimmäinen kuukausi palkatatta

      Siis ei jumankauta näitä kokoomuksen ehdoituksia. Nytkin joku Otto Meri ehdoittaa, että ensimmäinen kuukausi pitäisi ty
      Kansallinen Kokoomus
      94
      1015
    10. Miltä tuntuu kun

      On asioita joita ei rahalla voi ostaa?
      Ikävä
      109
      919
    Aihe