- Katılım
- 31 Aralık 2005
- Mesajlar
- 4,389
- Excel Vers. ve Dili
- Office 365 (64 bit) - Türkçe
.
Ekteki dosya da seçili hücre aralığını duvar kağıdı yapmak isteyen üyelerimiz için.
.
Ekteki dosya da seçili hücre aralığını duvar kağıdı yapmak isteyen üyelerimiz için.
.
Kod:
Private Declare Function DuvarKagidi Lib "user32" Alias _
"SystemParametersInfoA" ( _
ByVal A As Long, _
ByVal B As Long, _
ByVal C As Any, _
ByVal D As Long) As Long
Private Enum RESIM_STILI
Dose = 0
Ortala = 1
Uzat = 2
End Enum
Sub test()
Call Hucreden_DuvarKagidina(Selection, "C:\", Uzat)
End Sub
Private Sub Hucreden_DuvarKagidina(hucre As Range, _
Hedef_Konum As String, _
Optional Stil As RESIM_STILI = 1)
Const OPERATION As Long = 20 'WallPaper
Const UPDATEINIFILE As Long = 1 'Ya da 0
Const JPG As String = "tmp.jpg"
Const BMP As String = "tmp.bmp"
Dim graf As Chart
Dim pic As IPictureDisp
hucre.CopyPicture
Set graf = ActiveSheet.ChartObjects.Add( _
1, 1, hucre.Width, hucre.Height).Chart
With graf
.Paste
.Export Hedef_Konum & JPG
.Parent.Delete
End With
Set pic = LoadPicture(Hedef_Konum & JPG)
SavePicture pic, Hedef_Konum & BMP
Kill Hedef_Konum & JPG
Set Wsh = CreateObject("WScript.Shell")
Select Case Stil
Case 0
Wsh.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", "0", "REG_SZ"
Wsh.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", "1", "REG_SZ"
Case 1
Wsh.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", "0", "REG_SZ"
Wsh.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", "0", "REG_SZ"
Case 2
Wsh.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", "2", "REG_SZ"
Wsh.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", "0", "REG_SZ"
End Select
Call DuvarKagidi(OPERATION, 0, Hedef_Konum & BMP, UPDATEINIFILE)
End Sub
Ekli dosyalar
-
257.3 KB Görüntüleme: 44