vba kodunu google e tabloya çevirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Selamınaleyküm.
Excel de hazırlamış olduğum bir VBA yı Google E-Tabloda Kullanmak istiyorum ama çalışmıyor. kod Şöyle Çalışıyor. Masa üstü PC de "Puantaj.jpg" adında bir dosyam var Bu Dosyanın içerisinde Personel resimleri bulunmakta. Excel de ilgili Hücreye Personelin adını Soyadı yazdığımda Personelin resmi gelmekte. Dışarıda tutmamın sebebi exceli kasmaması için. Gayet Güzel çalışıyor.

Ben İstedim ki bunu Google E-Tabloda Kullanayım ama javascript dili bilmediğim için uğraşıp araştırsam da yapamadım.
Drive ımda. Yeni Bir Klasör açtım içinde resimler olan bir doysa buradan çekmesini için ( Excel VBA da böyle yaptığım için )
Sizden Aşağıya ekleyeceğim VBA kodunu Google E-Tabloda çalışacak şekilde ayarlayabilirmisiniz. Eminim bu konuda bilgisi olan arkadaşlar vardır. İlginiz ve emeğiniz için Allah sizi Sevsin bu Siteden çok şey öğrendim.

VBA kodu

Private Sub Worksheet_Change(ByVal Target As Range)
Dim res As String
Dim a As Shape
Dim AV6 As Range
If Target = "" Or Target.Address <> "$AV$6" Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set AU2 = Range("AU2")
For Each a In Shapes
a.Delete
Next a
AU2.ClearContents
res = "C:\Users\Serhat\Desktop\18.01.2017\Puntaj.jpeg\" & Target & ".jpg"
If Dir(res) = "" Then
AU2 = "RESİM YOK"
Else
With ActiveSheet.Pictures.Insert(res)
.Left = AU2.Left
.Top = AU2.Top
.Height = AU2.Height
.Width = AU2.Width
End With
End If
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Eğer önemli olan Google Drive üzerinde seçilen bir resmi Google Sheet üzerinde görüntülemekse, o zaman script'e gerek yok bence.

Google Sheet'in formülleri ve Data Validation (Veri Doğrulama) ile yapılabilir....

Aşağıdaki animasyonda görüldüğü gibi, B4 hücresindeki "Veri Doğrulama" ile yapılmış açılır kutudan seçilen personele ait resim B5 hücresinde görüntülenebilir.

Bu yöntem işinize yararsa, anlatmaya devam edebilirim, yoksa uzatmaya gerek yok...

.



.
 
Son düzenleme:
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Eğer önemli olan Google Drive üzerinde seçilen bir resmi Google Sheet üzerinde görüntülemekse, o zaman script'e gerek yok bence.

Google Sheet'in formülleri ve Data Validation (Veri Doğrulama) ile yapılabilir....

Aşağıdaki resimde görüldüğü gibi, B4 hücresindeki "Veri Doğrulama" ile yapılmış açılır kutudan seçilen personele ait resim B5 hücresinde görüntülenebilir.

Bu yöntem işinize yararsa, anlatmaya devam edebilirim, yoksa uzatmaya gerek yok...

.



.
Haluk Bey Cevabınız için teşekkür ederim. Veri doğrulamayı biliyorum fakat resim Getirdiğini bilmiyordum.
Ben Dirve da Bir klasör oluşturdum içinde resimler var. İlgili Resmi Drive daki klasörün içinden e-tabloda nasıl göstereceğimi anlatabilirmisiniz. ve önemli olan e-tabloyu paylaştığım kiiler yine aynı sonucu alabileceklermi
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
En son sorunuzla başlayayım ..... uygulamayı doğru bir şekilde yaptığınızda, link (paylaşım adresi) verdiğiniz kişiler uygulamadaki resimleri de görebilecekler....

Bunun için yapmanız gerekenler;

1) Öncelikle, aşağıdaki resimde görüldüğü gibi Sheet1 sayfasında D6:E9 hücre aralığında yer aldığı gibi kendi Google Drive'ınızda yer alan resimlere ait
bir tablo yapın. Tablonun E7:E9 hücrelerine söz konusu resimlerin linklerini yapıştırın. D7-D9 hücrelerine ise, daha sonra B4 hücresine yerleştireceğimiz Data Validation (Veri Doğrulama) açılır listesinde görülecek isimleri yazın. Bu tabloda satır sayısı, sizdeki resim sayısına göre değişecek tabii....


Tablo.PNG

2) Daha sonra, uygulama B4 hücresini seçin. Daha sonra menü çubuğunda Data (Veri) menüsünü tıklayın, Data validation (Veri doğrulama) seçin.
Ekrana gelen pencerede, aşağıdaki resimde belirtildiği gibi veri alınacak alanı belirtip, kaydedin.


DataValidation.PNG


3) Son olarak, resimlerin görüleceği B5 hücresini seçin ve aşağıdaki formülü yazın;

Kod:
=IMAGE("http://drive.google.com/uc?export=view&id=" & SUBSTITUTE(SUBSTITUTE(VLOOKUP(B4,D7:E9,2,0),"https://drive.google.com/file/d/",""),"/view?usp=sharing",""))
.
 
Son düzenleme:

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,635
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Google E-Tablolarla ilgili ayrı bir bölüm olsa daha iyi olur gibi. Son günlerde çok fazla soru gelmeye başladı.
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
En son sorunuzla başlayayım ..... uygulamayı doğru bir şekilde yaptığınızda, link (paylaşım adresi) verdiğiniz kişiler uygulamadaki resimleri de görebilecekler....

Bunun için yapmanız gerekenler;

1) Öncelikle, aşağıdaki resimde görüldüğü gibi Sheet1 sayfasında D6:E9 hücre aralığında yer aldığı gibi kendi Google Drive'ınızda yer alan resimlere ait
bir tablo yapın. Tablonun E7:E9 hücrelerine söz konusu resimlerin linklerini yapıştırın. D7-D9 hücrelerine ise, daha sonra B4 hücresine yerleştireceğimiz Data Validation (Veri Doğrulama) açılır listesinde görülecek isimleri yazın. Bu tabloda satır sayısı, sizdeki resim sayısına göre değişecek tabii....


Ekli dosyayı görüntüle 222733

2) Daha sonra, uygulama B4 hücresini seçin. Daha sonra menü çubuğunda Data (Veri) menüsünü tıklayın, Data validation (Veri doğrulama) seçin.
Ekrana gelen pencerede, aşağıdaki resimde belirtildiği gibi veri alınacak alanı belirtip, kaydedin.


Ekli dosyayı görüntüle 222734


3) Son olarak, resimlerin görüleceği B5 hücresini seçin ve aşağıdaki formülü yazın;

Kod:
=IMAGE("http://drive.google.com/uc?export=view&id=" & SUBSTITUTE(SUBSTITUTE(VLOOKUP(B4,D7:E9,2,0),"https://drive.google.com/file/d/",""),"/view?usp=sharing",""))
.
Haluk Bey b5 Veri doğrulamayı yaptım fakat B5 hücresindeki sütün satır hücrelerini kendime uyarlamama rağmen formül ayrıştırma hatası veriyor.
Ben direv a resimleri bir klasörde tutuyorum. linki normal olarak klasör linki veriyor
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Google E-Tablolarla ilgili ayrı bir bölüm olsa daha iyi olur gibi. Son günlerde çok fazla soru gelmeye başladı.

İyi Günler Bu sorunum hakkında bir çözümünüz varmıdır.
Dirve da resimler klasör halinde 1500 gibi bir resim var. . Ben E-tabloda bir hücreye açılır pencere ile isim seçtiğimde seçilen ismin ilgili hücreye gelmesini istiyorum yardımcı olurmusunuz rica etsem.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Resimlerin linkini ayrı ayrı alacaksanız....

.
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Resimlerin linkini ayrı ayrı alacaksanız....

.

Evet Fark ettim ama Klasör içinde olduğu için Resmi açsam da her resim aynı link. Browser deki. Sağ tıklatıp bağlatı al diyor ama bu bir link midir
ve B teki formül hata veriyor benim uyarladığım formül

=IMAGE("http://drive.google.com/uc?export=view&id=" & SUBSTITUTE(SUBSTITUTE(VLOOKUP(C6,U:U,2,0),"https://drive.google.com/file/d/",""),"/view?usp=sharing",""))

formül ayrıştırma hatası veriyor
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Evet Fark ettim ama Klasör içinde olduğu için Resmi açsam da her resim aynı link. Browser deki. Sağ tıklatıp bağlatı al diyor ama bu bir link midir
ve B teki formül hata veriyor benim uyarladığım formül

=IMAGE("http://drive.google.com/uc?export=view&id=" & SUBSTITUTE(SUBSTITUTE(VLOOKUP(C6,U:U,2,0),"https://drive.google.com/file/d/",""),"/view?usp=sharing",""))

formül ayrıştırma hatası veriyor

dÜZELTİYORUM B5 E UYARLADIĞIM FORMÜL AŞAĞIDAKİ GİBİDİR.

=IMAGE("http://drive.google.com/uc?export=view&id=" & SUBSTITUTE(SUBSTITUTE(VLOOKUP(C6,U4:V1998,2,0),"https://drive.google.com/file/d/",""),"/view?usp=sharing",""))
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Öncelikle bir test yapmakta fayda var..... Aşağıdaki linke tıkladığınızda resimleri görüyor musunuz?


.
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Öncelikle bir test yapmakta fayda var..... Aşağıdaki linke tıkladığınızda resimleri görüyor musunuz?


.
Resimlerin linkini alamıyorum sorun ora belki.. Drive da açtığım bir klasöre resimleri yükledim.. broeserdeki her resim linki dosya linki nasıl alabilirim bu resimlerin linklerini 1500 üzeri resim var. tek tekse tek tek alacağım. şu sorunu çözemedim bir türlü
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Siz benim eklediğim linki açtığınızda, eklediğim resimleri görebildiniz mi? Onu soruyorum.....

Sizdeki 1500 adet resmin linkini almak ayrı bir script hazırlayacağım....

.
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Siz benim eklediğim linki açtığınızda, eklediğim resimleri görebildiniz mi? Onu soruyorum.....

Sizdeki 1500 adet resmin linkini almak ayrı bir script hazırlayacağım....

.

Evet görebiliyorum bayan ve erkek karakalem çalışmaları var
Çok Sevinirim :) Süper olur
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tamam..... o zaman sizin Google Drive'da resimlerin olduğu klasörden dosya adlarını ve linkleri almak için yapacaklarınız;

1) Yeni bir Google Sheet açın,

2) Aşağıdaki script'i yerleştirin, koddaki 9. satırda myImages yerine kendi klasör adınızı yazın. (Bendeki klasörün adı myImages)

3) Kodu çalıştırın......İşlem bittiğinde sayfada dosya adları ve linkleri yer alacak.

4) Bu işi yaptığınızda haber verin, daha sonra yapacaklarınızı bilahare anlatacağım.

JavaScript:
// Haluk - 18/11/2020
// sa4truss@gmail.com
// Google Drive'da bir klasor icindeki dosyaların isimleri ve linklerini sayfaya yazan script
//

function getLinks() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var myFolder = DriveApp.getFoldersByName('myImages')
  var xFolder = myFolder.next();
  var arrFiles = xFolder.getFiles();
  var file, fileName, fileLink;
  var i=0;

  sheet.appendRow( ['Dosya', 'Link'] );

  while(arrFiles.hasNext()) {
    file = arrFiles.next();
    fileName = file.getName();
    fileLink = file.getUrl();
    sheet.appendRow( [fileName, fileLink] );
    i++
  }
Browser.msgBox('Kullanıcının dikkatine:\\nToplam '+i+' adet dosya adı ve link alındı!');
};
.
 
Son düzenleme:
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Tamam..... o zaman sizin Google Drive'da resimlerin olduğu klasörden dosya adlarını ve linkleri almak için yapacaklarınız;

1) Yeni bir Google Sheet açın,

2) Aşağıdaki script'i yerleştirin, koddaki 9. satırda myImages yerine kendi klasör adınızı yazın. (Bendeki klasörün adı myImages)

3) İşlem bittiğinde sayfada dosya adları ve linkleri yer alacak.

4) Bu işi yaptığınızda haber verin, daha sonra yapacaklarınızı bilahare anlatacağım.

JavaScript:
// Haluk - 18/11/2020
// sa4truss@gmail.com
// Google Drive'da bir klasor icindeki dosyaların isimleri ve linklerini sayfaya yazan script
//

function getLinks() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var myFolder = DriveApp.getFoldersByName('myImages')
  var xFolder = myFolder.next();
  var arrFiles = xFolder.getFiles();
  var file, fileName, fileLink;
  var i=0;
 
  sheet.appendRow( ['Dosya', 'Link'] );
 
  while(arrFiles.hasNext()) {
    file = arrFiles.next();
    fileName = file.getName();
    fileLink = file.getUrl();
    sheet.appendRow( [fileName, fileLink] );
    i++
  }
 Browser.msgBox('Kullanıcının dikkatine:\\nToplam '+i+' adet dosya adı ve link alındı!');
};
.

Tamam yaptım. Sheet actım ve göndermiş olduğunuz kodu.
Araçlar sekmesinden Kod düzenleyiciye yapıştırıp klasör ismini değiştireim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kodu çalıştırdınız mı? Sonuç ne oldu?

Eğer sonuç başarılı olduysa, linklerin olduğu hücreleri kopyalayıp diğer dosyadaki tabloya yapıştırın.

Daha sonra, resimlerin görüleceği hücredeki formüllerin sonundaki sharing ifadesini drivesdk ile değiştirin.


.
 
Son düzenleme:
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Sonuç Yok Play çalıştır düğmesi bile pasif halde
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Script'i önce kaydetmeniz lazım .... yaptınız mı?

.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst