Microsoft Word
Beğen (0)

14 Mayıs 2023 Cumhurbaşkanligi Seçim Sonuçlarını Baklava Grafikle Gösteren Programı Word Programında Yapınız

Uygulamayı buradan indirebilirsiniz.

Bilindiği gibi, Cumhurbaşkanlığı seçimlerinin ilk turu 14 Mayıs'ta, ikinci turu ise 28 Mayıs'ta yapılacaktır. Tüm seçimlerde olduğu gibi bu seçimlerinde sonuçlarının grafiklerle gösterilmesi seçim sonuçlarını anlamamızı kolaylaştırmaktadır. Seçimlerde televizyonların gösterdikleri grafikler bazen beğeni yarışmasına dönüşmektedir. Word programında da Cumhurbaşkanlığı seçim sonuçlarını grafiklerle gösterebilir, görsellik katabilirsiniz.

Vakit kaybetmeden uygulamamıza geçelim. Yeni bir belge açalım. Belgemize aşağıdaki gibi bir tablo ekleyelim.

Burada beşinci satıra grafiğimiz gelecektir. Grafiğimiz tabloya ait olan aday isimleri ve oy oranları ile oluşacaktır. Oy sayıları ise, kullanılan oyun adayların aldığı oy onanına göre dağıtılması sonucu bulunacaktır. Kodlarımızı yazalım.

' ============================================
' TEMİZLE BUTONU
' ============================================
Private Sub cmdTemizle_Click()
    Dim CC As ContentControl
    Dim shp As InlineShape
    Dim hucre As Range
    
    ' 1. Kilidi geçici kaldır
    For Each CC In ActiveDocument.ContentControls
        If CC.Type = wdContentControlText Or CC.Type = wdContentControlNumber Then
            CC.LockContents = False
        End If
    Next CC
    
    ' 2. Tüm ContentControl değerlerini sıfırla
    For Each CC In ActiveDocument.ContentControls
        Select Case CC.Title
            Case "Secmen", "Oy", "Oy1", "Oy2", "Oy3", "Oy4"
                CC.Range.Text = "0"
            Case "Oran", "Oran1", "Oran2", "Oran3", "Oran4"
                CC.Range.Text = "% 0"
        End Select
    Next CC

    ' 3. Grafiği sil
    Set hucre = ActiveDocument.Tables(1).Cell(5, 1).Range
    For Each shp In hucre.InlineShapes
        If shp.HasChart Then shp.Delete
    Next shp
    
    ' 4. Kilitleri tekrar koy
    For Each CC In ActiveDocument.ContentControls
        If CC.Type = wdContentControlText Or CC.Type = wdContentControlNumber Then
            ' Kilidi sadece silinmesini engelle, yazılabilir kalsın
            CC.LockContentControl = True
            CC.LockContents = False
        End If
    Next CC
End Sub

' ============================================
' GRAFİK OLUŞTUR BUTONU
' ============================================
Private Sub CommandButton1_Click()
    Dim nGrafik As Chart
    Dim grafikExcel As Excel.Worksheet

    ActiveDocument.Tables(1).Cell(5, 1).Select
    Set nGrafik = ActiveDocument.InlineShapes.AddChart.Chart
    Set grafikExcel = nGrafik.ChartData.Workbook.Worksheets(1)

    grafikExcel.ListObjects(1).Resize grafikExcel.Range("A1:B5")
    grafikExcel.Range("b1").FormulaR1C1 = "Adaylar"
    grafikExcel.Range("A2").FormulaR1C1 = "A Adayı"
    grafikExcel.Range("A3").FormulaR1C1 = "B Adayı"
    grafikExcel.Range("A4").FormulaR1C1 = "C Adayı"
    grafikExcel.Range("A5").FormulaR1C1 = "D Adayı"
    grafikExcel.Range("B2").FormulaR1C1 = ActiveDocument.ContentControls(4).Range.Text
    grafikExcel.Range("B3").FormulaR1C1 = ActiveDocument.ContentControls(6).Range.Text
    grafikExcel.Range("B4").FormulaR1C1 = ActiveDocument.ContentControls(8).Range.Text
    grafikExcel.Range("B5").FormulaR1C1 = ActiveDocument.ContentControls(10).Range.Text

    nGrafik.ChartData.Workbook.Application.Quit
    nGrafik.Legend.Format.Line.Visible = msoCTrue
    nGrafik.ChartType = xl3DPie
    With nGrafik.ChartArea.Format.Fill
        .Visible = msoTrue
        .Solid
        .ForeColor.ObjectThemeColor = wdThemeColorAccent1
    End With

    nGrafik.HasTitle = True
    With nGrafik.ChartTitle
        .Characters.Font.Italic = True
        .Characters.Font.Size = 18
        .Characters.Font.Color = RGB(0, 0, 100)
        .Text = "Cumhurbaşkanlığı Seçimi İlk Tur Sonuçları"
    End With
End Sub

' ============================================
' CONTENT CONTROL ON EXIT
' ============================================
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
    Dim strTemp As String
    Dim hata1 As Boolean, hata2 As Boolean, hata3 As Boolean
    Dim hata4 As Boolean, hata5 As Boolean, Dogrula As Boolean
    Dim i As Long
    Dim oRng As Word.Range

    strTemp = CC.Range.Text
    Dogrula = False
    If Application.Version < "14.0" Then Main.SetDeveloperTabActive

    Select Case CC.Title
        Case "Secmen"
            If CC.ShowingPlaceholderText = True Or strTemp = "" Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                secmen = Val(ActiveDocument.ContentControls(1).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If oy <> "" Then
                    oran = (oy / secmen) * 100
                    ActiveDocument.ContentControls(3).Range.Text = Format(oran, "% ###")
                End If
            End If
        Case "Oy"
            If CC.ShowingPlaceholderText = True Or Not IsNumeric(strTemp) Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                secmen = Val(ActiveDocument.ContentControls(1).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If secmen <> "" Then
                    oran = (oy / secmen) * 100
                    ActiveDocument.ContentControls(3).Range.Text = Format(oran, "% ###")
                End If
            End If
        Case "Oy1"
            If CC.ShowingPlaceholderText = True Or Not IsNumeric(strTemp) Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                oy1 = Val(ActiveDocument.ContentControls(5).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If oy <> "" Then
                    oran1 = (oy1 / oy) * 100
                    ActiveDocument.ContentControls(4).Range.Text = Format(oran1, "% ###")
                End If
            End If
        Case "Oy2"
            If CC.ShowingPlaceholderText = True Or Not IsNumeric(strTemp) Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                oy2 = Val(ActiveDocument.ContentControls(7).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If oy <> "" Then
                    oran2 = (oy2 / oy) * 100
                    ActiveDocument.ContentControls(6).Range.Text = Format(oran2, "% ###")
                End If
            End If
        Case "Oy3"
            If CC.ShowingPlaceholderText = True Or Not IsNumeric(strTemp) Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                oy3 = Val(ActiveDocument.ContentControls(9).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If oy <> "" Then
                    oran3 = (oy3 / oy) * 100
                    ActiveDocument.ContentControls(8).Range.Text = Format(oran3, "% ###")
                End If
            End If
        Case "Oy4"
            If CC.ShowingPlaceholderText = True Or Not IsNumeric(strTemp) Then
                MsgBox "Bu alan boş geçilemez"
                Cancel = True
            Else
                oy4 = Val(ActiveDocument.ContentControls(11).Range.Text)
                oy = Val(ActiveDocument.ContentControls(2).Range.Text)
                If oy4 <> "" Then
                    oran4 = (oy4 / oy) * 100
                    ActiveDocument.ContentControls(10).Range.Text = Format(oran4, "% ###")
                End If
            End If
    End Select

lbl_Exit:
    Exit Sub
End Sub

' ============================================
' BELGE AÇILDIĞINDA KİLİTLEME
' ============================================
Private Sub Document_Open()
    Dim CC As ContentControl
    For Each CC In ActiveDocument.ContentControls
        If CC.Type = wdContentControlText Or CC.Type = wdContentControlNumber Then
            CC.LockContentControl = True
            CC.LockContents = False
        End If
    Next CC
End Sub

Formda yer alan bilgileri girelim. Şimdi de Oluştur butonuna basarak Cumhurbaşkanlığı seçimi ilk tur sonuçlarını grafikle gösterelim.

Görüldüğü gibi, Word programında hem girişleri hem bu girişlere ait matematiksel işlemleri ve en önemlisi de grafiği dinamik bir şekilde belgemizde oluşturmuş olduk.

Okunma Sayısı: 31

Yorumlar

Yorum Ekle
Kötü
İyi
İlgili Makaleler
14 Mayıs 2023 Cumhurbaşkanligi Seçim Sonuçlarını Baklava Grafikle Gösteren Programı Word Programında Yapınız
Microsoft Word Programında Yer İşareti (BookMarks) Ekleme
Word Programında Filigran ve Arka Plan Eklemek
Microsoft Word Programında Visaul Basic For Application (VBA) Kullanımı
Word Programında Herhangi Bir İle Ait Yerel Seçim Sonuçlarını Grafikle Gösteren Programı Yapınız
Adres Takip ve Telefon Rehberi Programını Word Programında Yapınız
İki Sayının Toplamını Bulan Programı Microsoft Word VBA İle Kodlayınız
Word Programında Belgeyi Sütunlarla Gösterme
Word Programında Hedefe Ok Atışı Oyununu Kodlayınız
Microsoft Word Programında VBA Penceresinde Yeni Form Oluşturma
Word VBA ile Süper Lig Uygulaması – Bölüm 1: Sabit Değerlerle Fikstür ve Puan Hesaplama
Word VBA ile Süper Lig Uygulaması – Bölüm 3: Dinamik Olarak Kuraların Çekilmesi
Word VBA ile Süper Lig Uygulaması – Bölüm 2: Kuraya Katılacak Takımların Rastgele Sıralanması
Word Programında Random (Rastgele Erişimli) Dosyalarda Dosya İşlemleri
Microsoft Word Programında VBA Kodlarının Çalıştırılması
Microsoft Word Programında Yer İşareti İle VBA Kodları Nasıl Kullanılır
Word Programında 3 Sayının Ortalamasını Bulan Programı Kodlayınız
Word Programında Paralelkenarın Alanını Bulan Programı Kodlayınız
Word Programında Puzzle Oyununu Yapan Programı Kodlayınız
Word Programında İki Sayının Okekini Bulan Programı VBA İle Kodlayınız