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!
Kuvan lisääminen + lähettäminen sähköpostitse
4
337
Vastaukset
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
Missä kokoomuksen naiset?
Hähmäistä ukkotarinaa kuultu koko viikonloppu. Kukaan ei ole kokoomuksessa edes yrittänyt pitää naisten puolta. Jopa1423840Finland is now Petter place
Audin B-ryhmän ralliautolla saatiin kansa voimaan hyvin. Kiitos kokoomus huumoripläjäyksestä.362474Ilman Stadia Suomessa ei olisi kunnon lihajalosteita
HK, Helsingin makkaratehdas, Votkin, mitä näitä nyt onkaan. Böndellä ei ole kunnollisia jalostajia.1442128Jorma Lind kuollut
Ylen uutisankkurina 40 vuotta toiminut Jorma Lind on kuollut 85-vuotiaana. https://yle.fi/a/74-20230265 ARVl on näet221153Toivon että kuulut elämääni
Mutta aika näyttää miten läheisesti. Lupaan kertoa jossain sivulauseessa, kun muutan paikkaa.711072- 52982
En unohda sua
En vaan unohda sua. Eikä se näköjään ole tarkoituskaan. Rakastan sua sitten omalla tavalla kauempaa kun mikään muu ei on34923Mahdatko ymmärtää sitä
Mä en selviä jollei me jutella kunnolla. Tarvitsen sua siihen. Etkä sä voi sitä tietää kun en ole ilmaissut mutta olen63906- 43820
Kyllä nainenkin voi ottaa yhteyttä
Ja on ihan kiva jos ottaa yhteyttä mieheen. Minä ainakin olisin onnessani jos nainen ottaisi yhteyttä. mies103818