• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Web den İndirilen Resimi Boyutlandırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ömer2134

Yeni Üye
Katılım
10 Kas 2022
Mesajlar
2
Aldığı beğeni
0
Excel V
Office 2016 TR
Herkese merhaba

Aşağıdaki gibi bir kodum bulunmakta. Belirtilen linkten görsel indirilmesini sağlıyor. Fakat indirilen bu görselin benim belirlediğim ölçülerde indirsin yada kırpsın istiyorum
Kod:
   Public Cell            As Range
  Public Folder          As String


  Sub DownloadAndSave()


  Folder = "C:\Users\Görsel"

  For Each Cell In Range("a2:A61")


    Call DownloadURLtoFile(Cell, Folder, Cell.Offset(0, 2))
   
  Next Cell

  MsgBox "Done...", 64
End Sub

Option Explicit

'Written:  October 26, 2016
'Author:   Leith Ross
'Summary:  Function Downloads A Web Site Resource To A Local Disk File

Private Const E_OUTOFMEMORY As Long = &H8007000E
Private Const INET_E_DOWNLOAD_FAILURE As Long = &H800C0008

Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon.dll" Alias _
  "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
  ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

    Function DownloadURLtoFile(ByVal URL As String, ByVal vFolder As Variant, ByVal FileName As String) As Boolean
    Dim Msg As String
  Dim oFolder         As Object

With CreateObject("Shell.Application")
    Set oFolder = .Namespace(vFolder)
  End With

  If oFolder Is Nothing Then
    MsgBox "Folder '" & vFolder & "' Not Found.", vbExclamation
    Exit Function
  End If


    URL = "https://www.log.com.tr/wp-content/uploads/2018/04/xiaominin-destekledigi-black-shark-oyuncu-telefonundan-ilk-gorsel-1.jpg"

    Select Case URLDownloadToFile(0&, URL, vFolder & FileName, 0&, 0&)
    Case 0: GoTo Cikis
   
    Cikis:
DownloadURLtoFile = True
Cell.Offset(0, 1) = "ok"

End Select

  If Not DownloadURLtoFile Then Cell.Offset(0, 1) = "No"
End Function

Teşekkürler herkese.
 
Çözüm
Aşağıdaki kod webdeki resmi ilk önce excele alıyor, boyutlandırıp, kırpıp, dışarı resim dosyası olarak çıkarıyor.
Kod:
Sub Makro1()
    ActiveSheet.Pictures.Insert("https://www.log.com.tr/wp-content/uploads/2018/04/xiaominin-destekledigi-black-shark-oyuncu-telefonundan-ilk-gorsel-1.jpg").Select
    With Selection.ShapeRange
    .Top = 0
    .Left = 0
    .ScaleWidth 0.5242424242, msoFalse, msoScaleFromTopLeft
    .ScaleHeight 0.5242424886, msoFalse, msoScaleFromTopLeft
    .LockAspectRatio = msoFalse
    .ScaleWidth 0.7832369942, msoFalse, msoScaleFromTopLeft
    .PictureFormat.Crop.PictureWidth = 259
    .PictureFormat.Crop.PictureHeight = 145
    .PictureFormat.Crop.PictureOffsetX = 28
    .PictureFormat.Crop.PictureOffsetY = 0
    End...
Webden, resmi indirirken bu işlemlerin Excelden yapılabileceği konusunda bilgim yok.
Buna benzer bir işle uğraşmıştım, direkt Excelden bir sonuca ulaşamamıştım.
Manüel olarak, bir Powerpoint dosyası oluşturdum ( ww.pptx ), Excelden kod ile resimleri bir klasörden Powerpoint'te aldırıyorum
Orada küçültme ve kırpma işlemi yaptırıyorum.
O hali ile başka bir klasöre resim olarak, aktırıyorum
Resimler standarttı, 3/1 oranında küçültüp sağından, solundan kırptırıyorum.
İlk önce resimleri bir klasöre indirin.
Kodlar aşağıda Klasör ve dosya adları ile boyutlandırma ve kırpma işlemlerini kendinize göre uyarlayın.
Kod:
Sub b()
On Error Resume Next
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
i = 1
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.CreateFolder "C:\Users\user\OneDrive\Desktop\kucuk"
Set oFolder = oFSO.GetFolder("C:\Users\user\OneDrive\Resimler\Ekran Görüntüleri\")
Dim ppt As PowerPoint.Application
Set ppt = New PowerPoint.Application
ppt.Activate
ppt.Presentations.Open ("C:\Users\user\OneDrive\Desktop\ww.pptx")
ppt.WindowState = ppWindowMinimized
For Each oFile In oFolder.Files
ppt.Presentations(1).Slides(1).Shapes.AddPicture( _
   FileName:="C:\Users\user\OneDrive\Resimler\Ekran Görüntüleri\" & oFile.Name, _
   LinkToFile:=msoFalse, _
   SaveWithDocument:=msoTrue, Left:=0, Top:=0, _
   Width:=1366 / 3, Height:=768 / 3).Select
   With ppt.Presentations(1).Slides(1).Shapes(1)
  .PictureFormat.CropTop = 25
  .PictureFormat.CropBottom = 85
  Call .Export("C:\Users\user\OneDrive\Desktop\Kucuk\" & i & ".png", ppShapeFormatPNG)
  End With
    i = i + 1
ppt.Presentations(1).Slides(1).Shapes(1).Delete
Next
ppt.Presentations(1).Close
ppt.Quit
Set ppt = Nothing
End Sub
 
Aşağıdaki kod webdeki resmi ilk önce excele alıyor, boyutlandırıp, kırpıp, dışarı resim dosyası olarak çıkarıyor.
Kod:
Sub Makro1()
    ActiveSheet.Pictures.Insert("https://www.log.com.tr/wp-content/uploads/2018/04/xiaominin-destekledigi-black-shark-oyuncu-telefonundan-ilk-gorsel-1.jpg").Select
    With Selection.ShapeRange
    .Top = 0
    .Left = 0
    .ScaleWidth 0.5242424242, msoFalse, msoScaleFromTopLeft
    .ScaleHeight 0.5242424886, msoFalse, msoScaleFromTopLeft
    .LockAspectRatio = msoFalse
    .ScaleWidth 0.7832369942, msoFalse, msoScaleFromTopLeft
    .PictureFormat.Crop.PictureWidth = 259
    .PictureFormat.Crop.PictureHeight = 145
    .PictureFormat.Crop.PictureOffsetX = 28
    .PictureFormat.Crop.PictureOffsetY = 0
    End With
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa1"
Set chrt = ActiveSheet.ChartObjects(1)
With ActiveSheet.Shapes(1)
chrt.Width = .Width
chrt.Height = .Height
.Cut
End With
ActiveChart.Paste
chrt.Chart.Export Filename:=ThisWorkbook.Path & "\" & Selection.Name & ".jpg"
   ActiveChart.Parent.Delete
End Sub
Not: ActiveSheet.Pictures.Insert işlemi 2007 Excelde çalışmıyor
 
Son düzenleme:
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst