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
161
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
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht1492852Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava3652030- 401757
Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii351698Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua321401Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em941213- 541173
Muutama kysymys ja huomio hindulaisesta kulttuurista.
Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul327949Jumala puhui minulle
Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles110938Annan meille mahdollisuuden
Olen avoimin mielin ja katson miten asiat etenevät. Mutta tällä kertaa sun on tehtävä eka siirto.Sen jälkeen olen täysil53782