Excel’deki verileri Telegram’dan mesaj olarak göndermek

Basri Ayaz
3 min readApr 21, 2022

--

Excel ile yapılabileceklerin bir sınırı olmadığını yine bu makalede göstermeye çalışacağım. Bunun için telegramın bize sunduğu api hizmetinden faydalanacağız. “Excel’deki verileri niye telegrama gönderelim?” diyecek olursanız; Şirket çalışanlarının günlük performansını, performans grafiklerini, tarihi yaklaşan etkinlikleri ve Excel’de depoladığınız ve işlediğiniz her bilgiyi ortak kaynaklara tek bir tuşla eriştirmek hayatınızı büyük ölçüde kolaylaştırabilir.

Bu özellikten faydalanmamız için öncelikle Excel’deki geliştirici sekmesinin açık olması ve gerekli kütüphanelerin eklenmesi gerekiyor.

Yukarıdaki talimatları izleyerek geliştirici sekmesini aktif hale getirebilirsiniz.

Geliştirici sekmesini aktif ettikten sonra, gerekli kütüphaneleri eklemek için yukarıdaki adımları izlemeniz gerekiyor.

Gerekli Kütüphaneler

Yukarıdaki resimdeki seçili kütüphanelerin bir kaç tanesi yüksek ihtimalle sizde de mevcuttur. Sizde görünmeyen kütüphaneleri alt kısımlardan bulup eklemeniz gerekiyor(Selenium Type Library kütüphanesini eklemenize gerek yok. Onun için ayrı bir makale yazacağım)

  • Microsoft HTML Object Library
  • Microsoft Internet Controls
  • Microsoft WinHTTP Services
  • Microsoft XML, v6.0

Kütüphanelerini eklemeniz yeterli olacaktır.

Kütüphanelerimizi ekleyip OK tuşuna bastıktan sonra Insert>Module diyerek bir modul oluşturalım. Ve artık kodlarımızı yazmaya başlayabiliriz

Sub telegram()
Dim objRequest As Object
Dim strChatId, strChatIds As String
Dim strMessage, botKey As String
Dim strPostData, strPostDatas As String
Dim strResponse As String
Dim telegramAPI As String
Dim URL As String
Dim JSONString As String
Dim xml As Object
Set xml = CreateObject(“MSXML2.XMLHTTP.6.0”)

‘Yukarıda Gerekli tanımlamaları yaptık

botKey = “Telegramın verdiği api adresi buraya yazılacak”
telegramAPI = “https://api.telegram.org/" & botKey & “/sendMessage?”
strChatId = “botu ekleyeceğiniz grubun chat idsi buraya yazılacak”
strMessage = “Excelden Telegrama Mesaj Gönderdim”

‘ %E2%9A%A1 soldaki gibi, emojileri hex kodlarına dönüştürerek emoji de gönderebilirsiniz
strPostData = “chat_id=” & strChatId & “&text=” & strMessage & “&parse_mode=Markdown”
Set objRequest = CreateObject(“MSXML2.XMLHTTP”)

With objRequest
.Open “POST”, telegramAPI, False
.setRequestHeader “Content-Type”, “application/x-www-form-urlencoded”
.Send (strPostData)
End With

End Sub

Yukarıdaki kodu çalıştırarak artık telegrama mesaj gönderebilirsiniz ancak öncelikli olarak telegramdan BotFather yardımıyla bir bot oluşturup apisini buraya eklememiz gerekiyor

Botfather

Arama bölümüne @botfather yazdıktan sonra bota /newbot mesajını gönderiyoruz

Gerekli talimatları izledikten sonra botumuz oluşacak ve BotFather bize bir api adresi verecek

Botumuzun verdiği api adresi

Bu bilgiyi de girdikten sonra oluşturduğumuz botu bir gruba yönetici olarak eklememiz gerekiyor. (Eklediğimiz grubun chat idsini aşağıdaki linke giderek görebilirsiniz

https://api.telegram.org/BOTUNUZUN APISI/getupdates?

Tüm bilgileri girdikten sonra kodu çalıştırarak botun mesaj göndermesini sağlayabilirsiniz

İyi günlerde kullanın…

--

--