Vba ile excel - google e-tablolar senkronizasyonu (google e-tablolar veri çekme ve veri gönderme)

Katılım
13 Haziran 2006
Mesajlar
49
Excel Vers. ve Dili
excell 2016 türkçe
Altın Üyelik Bitiş Tarihi
09/06/2022
Merhaba,

Bir süredir bilgisayarımdaki excel dosyalarım ile google sheets üzerindeki tabloları senkronize etmek için uğraşıyordum. xlsm dosyasını google sheetse aktarınca vba kodları çalışmadığından bu şekilde bir ihtiyacım doğmuştu.

Buradaki üstadlara kıyasla aşırı kıt bilgimle bir şeyler yapmaya çalıştım, bu akşam olumlu sonuç alınca daha sonra üşenmemek için hemen paylaşma ihtiyacı duydum. Çünkü bu konuda ben Türkçe kaynak bulamadım. Üstadların yaşanacak tüm sorunlarda çok daha iyi çözümler bulacağına eminim.

Öncelikle aşağıda bahsedeceklerimin tamamı alıntıdır. Sadece ben dilimin döndüğünce türkçe tarif etmeye çalışacağım. Orjinal linke aşağıdan ulaşabilirsiniz
(http://ramblings.mcpher.com/Home/excelquirks/exceldocsintegration/excelsheetsv4)

Eğer windows versiyonunuz windows10 ve excel versiyonunuz 2016 değil ise aşağıdaki yöntem yüksek ihtimalle çalışmayacaktır. Çünkü Google Sheets V4 API nin izin alabilmesi için registry de kayıt oluşturması gerekiyor windows7 + ofis 2010 bunu bende sağlayamadı.

Aşağıdaki işlemleri sırasıyla takip edebilirsiniz

1. Orjinal dosya.xlsm dosyasını indiriyoruz.

2. Google spreadsheets üzerinde bir adet dosya oluşturuyoruz. (https://docs.google.com/spreadsheets/u/0/)

3. VBA ekranında "usefulSheetsV4Api" isimli modüle tıklıyoruz

4. Sayfanın üzerinde bulunan getMySheetId = "1V54F5b1e1bbv32OcJXJ_rtMcRkpyJ54gdDx_ndGnjdnbfiZpBeyA4L0" yazan yerde tırnak içindeki alana kendi kullanmak istediğimiz google sheets dosyasının adresini yazıyoruz.

5. Normal şartlarda bu aşamada https://console.developers.google.com üzerinde bir proje yapmanız lazım ancak ben ekteki excel dosyasına ekledim. Dileyen orjinal linkten aşamaları takip ederek bir adet oluşturabilir.

6. Bir defaya mahsus sheetsOnceOff fonksiyonunu çalıştırıyoruz. Bir explorer penceresi açılıyor ve izin istiyor. izinleri verdikten sonra otomatik kapanacak.

Şimdi sayfadaki buttonları kullanarak excel dosyanızdaki verileri gönderebilir veya alabilirsiniz.

Çok acemisi olmakla beraber ilk etapta gördüklerim,

1. Bilgisayarınızdaki excel dosyasındaki sayfa adı ile internetteki dosyanın sayfa adı aynı olmalı.
2. Buttonlara bastığınızda aktif olan sayfadaki veriyi gönderip alıyor
3. Sayfalar boş olunca bazen hata veriyor.
4. Bilgisayardaki dosyayı google dökümanlara yükleyip orada açıp ardından bu senkronizasyonlara başlamak daha faydalı gibi. Bazı hatalar oluyor sebebini çözemedim.
 

Ekli dosyalar

Katılım
6 Kasım 2004
Mesajlar
199
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
25-07-2023
Elinize sağlık. Uğraşıp burada bilgi vermeniz bile yol gösterici olmuş.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Google Sheets'den MS Excel'e veya MS Excel'den Google Sheets'e veri aktarmayla ilgili örnekler için kişisel blog'umu inceleyebilirsiniz....





.
 
Katılım
12 Şubat 2022
Mesajlar
1
Excel Vers. ve Dili
2019 İngilizce
Merhaba,

Bir süredir bilgisayarımdaki excel dosyalarım ile google sheets üzerindeki tabloları senkronize etmek için uğraşıyordum. xlsm dosyasını google sheetse aktarınca vba kodları çalışmadığından bu şekilde bir ihtiyacım doğmuştu.

Buradaki üstadlara kıyasla aşırı kıt bilgimle bir şeyler yapmaya çalıştım, bu akşam olumlu sonuç alınca daha sonra üşenmemek için hemen paylaşma ihtiyacı duydum. Çünkü bu konuda ben Türkçe kaynak bulamadım. Üstadların yaşanacak tüm sorunlarda çok daha iyi çözümler bulacağına eminim.

Öncelikle aşağıda bahsedeceklerimin tamamı alıntıdır. Sadece ben dilimin döndüğünce türkçe tarif etmeye çalışacağım. Orjinal linke aşağıdan ulaşabilirsiniz
(http://ramblings.mcpher.com/Home/excelquirks/exceldocsintegration/excelsheetsv4)

Eğer windows versiyonunuz windows10 ve excel versiyonunuz 2016 değil ise aşağıdaki yöntem yüksek ihtimalle çalışmayacaktır. Çünkü Google Sheets V4 API nin izin alabilmesi için registry de kayıt oluşturması gerekiyor windows7 + ofis 2010 bunu bende sağlayamadı.

Aşağıdaki işlemleri sırasıyla takip edebilirsiniz

1. Orjinal dosya.xlsm dosyasını indiriyoruz.

2. Google spreadsheets üzerinde bir adet dosya oluşturuyoruz. (https://docs.google.com/spreadsheets/u/0/)

3. VBA ekranında "usefulSheetsV4Api" isimli modüle tıklıyoruz

4. Sayfanın üzerinde bulunan getMySheetId = "1V54F5b1e1bbv32OcJXJ_rtMcRkpyJ54gdDx_ndGnjdnbfiZpBeyA4L0" yazan yerde tırnak içindeki alana kendi kullanmak istediğimiz google sheets dosyasının adresini yazıyoruz.

5. Normal şartlarda bu aşamada https://console.developers.google.com üzerinde bir proje yapmanız lazım ancak ben ekteki excel dosyasına ekledim. Dileyen orjinal linkten aşamaları takip ederek bir adet oluşturabilir.

6. Bir defaya mahsus sheetsOnceOff fonksiyonunu çalıştırıyoruz. Bir explorer penceresi açılıyor ve izin istiyor. izinleri verdikten sonra otomatik kapanacak.

Şimdi sayfadaki buttonları kullanarak excel dosyanızdaki verileri gönderebilir veya alabilirsiniz.

Çok acemisi olmakla beraber ilk etapta gördüklerim,

1. Bilgisayarınızdaki excel dosyasındaki sayfa adı ile internetteki dosyanın sayfa adı aynı olmalı.
2. Buttonlara bastığınızda aktif olan sayfadaki veriyi gönderip alıyor
3. Sayfalar boş olunca bazen hata veriyor.
4. Bilgisayardaki dosyayı google dökümanlara yükleyip orada açıp ardından bu senkronizasyonlara başlamak daha faydalı gibi. Bazı hatalar oluyor sebebini çözemedim.
Çok faydalı oldu
 
Üst