Pozdravljeni
V VBA pod določenimi pogoji na delovni list naložim sliko ozadja. Moti me, ker moram sliko imeti naloženo na disku. (Ko prenašam zvezek, moram vedno prenesti tudi sliko)
Sliko bi rad naložil nekam v Excel zvezek ( npr. na skrit list) in jo po potrebi uporabil za ozadje.
Prosim za nasvet.
Lep pozdrav,
Drago
BackgroundPicture
Re: BackgroundPicture
Pozdravljeni,
Da sliko nekako vstavite v Excel jo seveda morate naložiti iz diska. Ko pa jo imate enkrat v delovnem zvezku pa lahko z njo počnete karkoli želite. Lahko jo premikate, povečujete, kopirate, spreminjate barve...
Recimo tale koda bi sliko z imenom 'Morje' prekopirala iz lista 1 na list 2:
Da sliko nekako vstavite v Excel jo seveda morate naložiti iz diska. Ko pa jo imate enkrat v delovnem zvezku pa lahko z njo počnete karkoli želite. Lahko jo premikate, povečujete, kopirate, spreminjate barve...
Recimo tale koda bi sliko z imenom 'Morje' prekopirala iz lista 1 na list 2:
Koda: Izberi vse
Sub KopirajSlikoNaList2()
Dim slika: Set slika = Sheets("List1").Shapes("Morje")
slika.Copy
Sheets("List2").Paste
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: BackgroundPicture
Pozdravljeni
Naložiti in kopirati sliko sem uspel. Pri ukazu "Sheets("List1").SetBackgroundPicture Filename:= "c:\..." pa zahteva ime datoteke in si s sliko ne morem pomagati.
Kako bi pa to sliko shranil na disk v začasno datoteko? Potem bi jo lahko uporabil pri SetBackgroundPicture in po uporabi brisal.
Na ta način bi zvezek sliko nosil s seboj.
Lep pozdrav,
Drago
Naložiti in kopirati sliko sem uspel. Pri ukazu "Sheets("List1").SetBackgroundPicture Filename:= "c:\..." pa zahteva ime datoteke in si s sliko ne morem pomagati.
Kako bi pa to sliko shranil na disk v začasno datoteko? Potem bi jo lahko uporabil pri SetBackgroundPicture in po uporabi brisal.
Na ta način bi zvezek sliko nosil s seboj.
Lep pozdrav,
Drago
Re: BackgroundPicture
![Smile :)](./images/smilies/icon_smile.gif)
Sem vam priredil kodo s spleta in vam napisal primer uporabe:
Koda: Izberi vse
Sub test()
ShraniSliko Sheets("List1").Shapes(1), "c:\moja_slika.png"
End Sub
' Prirejena koda s spletne strani https://www.thespreadsheetguru.com/blog/vba-save-as-picture-file-excel
Sub ShraniSliko(slika As Shape, imeDatoteke As String)
Dim cht As ChartObject
Set cht = ActiveSheet.ChartObjects.Add(Left:=ActiveCell.Left, Width:=slika.Width, Top:=ActiveCell.Top, Height:=slika.Height)
cht.ShapeRange.Fill.Visible = msoFalse
cht.ShapeRange.Line.Visible = msoFalse
slika.Copy
cht.Activate
ActiveChart.Paste
cht.Chart.Export imeDatoteke
cht.Delete
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: BackgroundPicture
Hvala. Že uporabljam,
Lep pozdrav,
Drago
Lep pozdrav,
Drago