ChatGPT kullanımları

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,734
Excel Vers. ve Dili
Excel 2019 Türkçe
Ben kesinlikle teknolojinin gerisinde kalalım demiyorum. Ama kendimde bu eksikliği hissettim. Önceden bir konu hakkında kafa yorarken şimdi ne düşünüyorumki yapay zekaya sorayım gitsin diyorum. Umarım beni yanıltır.
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
480
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Merhaba,

Aktif olarak kullandığınız diğer yapay zekalar hangileri?
Ben de bunu soracaktım. Excelde makroları chatgpt başarılı şekilde yazıyor. Diğer denediklerim maalesef pek başarılı olamadı. Önereceğiniz başka hangileri var?
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,420
Excel Vers. ve Dili
Office 2013
Ben oldukça fazla kullanıyorum ama vba için değil. Şimdi hemen excel için 5 dk de yaptığım örnek: IMDB ve yıl sütunlarını kendisi eklemiş. Tek seferde çalışan kod.. Test edin ;) Vba için harika bir sonuç

@https://www.hdfilmcehennemi.nl/
bu sitedeki film isimlerini, afiş resimlerini alan excel için vba kodunu yaz. Film isimleri sütunlara yazılsın ve yanındaki sütunda poster resimleri olsun. satır genişlikleri sabit olsun 80 px gibi. film isimleri dikey ortalı olsun. modern ve şık bir tasarım yap.
Cevabı:

Bu kodu kullanmak için:


  • Excel'de Visual Basic Editor'ü açın (Alt + F11)


  • Yeni bir modül ekleyin (Insert > Module)


  • Yukarıdaki kodu yapıştırın


  • Gerekli referansları ekleyin:


  • Tools > References


  • "Microsoft HTML Object Library"yi seçin


  • "Microsoft XML"i seçin


  • Kodu çalıştırın (F5)


Kod şunları yapacak:


  • Web sitesinden film verilerini çeker


  • Her film için:


  • Film adını


  • Poster URL'sini


  • IMDB puanını


  • Yılını alır


  • Verileri Excel'e yazar


  • Poster resimlerini indirir ve Excel'e ekler


Notlar:

  • İnternet bağlantınızın olması gerekir


  • Sitenin yapısı değişirse kod güncellenmelidir


  • Bazı güvenlik ayarları nedeniyle resim indirme işlemi çalışmayabilir


Güvenlik uyarısı:


Bu tür web scraping işlemleri için sitenin kullanım koşullarını kontrol etmeniz ve yasal sınırlar içinde kalmanız önemlidir.
Kod:
Sub FilmleriCek()
    Dim xhr As Object
    Dim html As Object
    Dim filmElements As Object
    Dim film As Object
    Dim row As Long
    Dim ws As Worksheet
   
    ' Excel sayfasını ayarla
    Set ws = ThisWorkbook.ActiveSheet
    ws.Cells.Clear
   
    ' Sayfa arka plan rengini ayarla
    ws.Cells.Interior.Color = RGB(245, 245, 245)
   
    ' Başlıkları ekle
    ws.Cells(1, 1) = "Film Adı"
    ws.Cells(1, 2) = "Poster"
    ws.Cells(1, 3) = "IMDB"
    ws.Cells(1, 4) = "Yıl"
   
    ' Başlıkları formatla
    With ws.Range("A1:D1")
        .Font.Bold = True
        .Font.Size = 12
        .Font.Name = "Calibri"
        .Interior.Color = RGB(51, 51, 51)
        .Font.Color = RGB(255, 255, 255)
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .RowHeight = 30
    End With
   
    ' Sütun genişliklerini ayarla
    ws.Columns("A").ColumnWidth = 40
    ws.Columns("B").ColumnWidth = 12
    ws.Columns("C").ColumnWidth = 10
    ws.Columns("D").ColumnWidth = 10
   
    ' XMLHTTP nesnesi oluştur
    Set xhr = CreateObject("MSXML2.XMLHTTP")
   
    ' Web sitesine istek gönder
    With xhr
        .Open "GET", "https://www.hdfilmcehennemi.nl/", False
        .setRequestHeader "User-Agent", "Mozilla/5.0"
        .send
    End With
   
    ' HTML parser oluştur
    Set html = CreateObject("htmlfile")
    html.body.innerHTML = xhr.responseText
   
    ' Film elementlerini seç
    Set filmElements = html.getElementsByClassName("poster")
   
    ' Başlangıç satırı
    row = 2
   
    ' Her film için döngü
    For Each film In filmElements
        Dim filmAdi As String
        Dim posterURL As String
        Dim imdbPuan As String
        Dim filmYil As String
       
        ' Film adını al
        On Error Resume Next
        filmAdi = film.getAttribute("title")
       
        ' Poster URL'sini al
        Dim imgElement As Object
        Set imgElement = film.getElementsByTagName("img")(0)
        If Not imgElement Is Nothing Then
            posterURL = imgElement.getAttribute("data-src")
            If posterURL = "" Then
                posterURL = imgElement.getAttribute("src")
            End If
        End If
       
        ' IMDB puanını al
        Dim imdbSpan As Object
        Set imdbSpan = film.getElementsByClassName("imdb")(0)
        If Not imdbSpan Is Nothing Then
            imdbPuan = Replace(imdbSpan.innerText, "IMDB:", "")
        End If
       
        ' Yılı al
        Dim metaDiv As Object
        Set metaDiv = film.getElementsByClassName("poster-meta")(0)
        If Not metaDiv Is Nothing Then
            For Each span In metaDiv.getElementsByTagName("span")
                If IsNumeric(span.innerText) Then
                    filmYil = span.innerText
                    Exit For
                End If
            Next span
        End If
       
        ' Verileri Excel'e yaz
        If filmAdi <> "" Then
            ' Film adını yaz ve formatla
            With ws.Cells(row, 1)
                .Value = filmAdi
                .Font.Name = "Calibri"
                .Font.Size = 11
                .VerticalAlignment = xlCenter
                .Interior.Color = RGB(255, 255, 255)
            End With
           
            ' IMDB puanını yaz
            With ws.Cells(row, 3)
                .Value = imdbPuan
                .Font.Name = "Calibri"
                .Font.Size = 11
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .Interior.Color = RGB(255, 255, 255)
            End With
           
            ' Yılı yaz
            With ws.Cells(row, 4)
                .Value = filmYil
                .Font.Name = "Calibri"
                .Font.Size = 11
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .Interior.Color = RGB(255, 255, 255)
            End With
           
            ' Poster resmini ekle
            If posterURL <> "" Then
                On Error Resume Next
                With ws.Shapes.AddPicture( _
                    DownloadImage(posterURL), _
                    False, True, _
                    ws.Cells(row, 2).Left + 5, _
                    ws.Cells(row, 2).Top + 5, _
                    80, 100)
                End With
                On Error GoTo 0
            End If
           
            ' Satır yüksekliğini ayarla
            ws.Rows(row).RowHeight = 80
           
            ' Hücre çerçevelerini ayarla
            ws.Range(ws.Cells(row, 1), ws.Cells(row, 4)).Borders.LineStyle = xlContinuous
            ws.Range(ws.Cells(row, 1), ws.Cells(row, 4)).Borders.Color = RGB(200, 200, 200)
           
            row = row + 1
        End If
    Next film
   
    ' Alternatif satır renklendirmesi
    For i = 2 To row - 1 Step 2
        ws.Range(ws.Cells(i, 1), ws.Cells(i, 4)).Interior.Color = RGB(250, 250, 250)
    Next i
   
    MsgBox "Film verileri başarıyla çekildi!", vbInformation
End Sub

Private Function DownloadImage(ByVal imageUrl As String) As String
    ' Resmi geçici klasöre indir
    Dim tempPath As String
    tempPath = Environ$("TEMP") & "\" & CreateGuid() & ".jpg"
   
    Dim xhr As Object
    Set xhr = CreateObject("MSXML2.XMLHTTP")
   
    With xhr
        .Open "GET", imageUrl, False
        .send
    End With
   
    If xhr.Status = 200 Then
        Dim stream As Object
        Set stream = CreateObject("ADODB.Stream")
       
        With stream
            .Type = 1 'Binary
            .Open
            .Write xhr.responseBody
            .SaveToFile tempPath, 2 'Overwrite
            .Close
        End With
    End If
   
    DownloadImage = tempPath
End Function

Private Function CreateGuid() As String
    CreateGuid = Format(Now, "yyyymmddhhnnss") & "-" & Int(Rnd * 1000000)
End Function
 
Üst