Yakup_Sasmaz
Yeni Üye
- Katılım
- 17 Mar 2021
- Mesajlar
- 38
- Çözümler
- 1
- Aldığı beğeni
- 8
- Excel V
- Office 2019 TR
Merhabalar, pc deki dosyamdan butonla Google e sheets veri aktarımı yapılabiliyor mu?
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.
Ben userform üzerinden bunu yapmıştım.Merhabalar, pc deki dosyamdan butonla Google e sheets veri aktarımı yapılabiliyor mu?
Bende dosyası var ama şuan site xlsb formatını desteklemiyor.Merhabalar, ilk video işlemleri aynı sanırım. Bende deneyeceğim. Yardımlarınız için teşekkür ederim.
Merhabalar, pc deki dosyamdan butonla Google e sheets veri aktarımı yapılabiliyor mu?
Yani mantık güzel. Bu sayede direk Driver e aktarmış olur.Dosyayı DRIVE içine attığınız zaman. DRIVE'da sağ tıkladığınız zaman "OPEN WITH GOOGLE SHEETS" diye seçenek var.
İşinizi görür mü acaba.
Emre sizin dosyayı kullanıp kendime uyarlamaya çalışıyorum. Türkçe karakter hatası alıyorum. Sizde de olmuşmuydu.
Ekli dosyayı görüntüle 150
Sub SendToGoogle()
Dim URL_First As String
Dim URL_Last As String
Dim Form_URL As String
Dim HeaderName As String
Dim SendID As String
Dim EmpID As String
Dim EmpName As String
Dim Gender As String
Dim Designation As String
Dim Address As String
Set a = Sheets("google").Range("A2")
Set b = Sheets("google").Range("B2")
Set c = Sheets("google").Range("C2")
Set d = Sheets("google").Range("D2")
Set e = Sheets("google").Range("E2")
Dim TicketInfo As MSXML2.ServerXMLHTTP60
HeaderName = "Content-Type" '
SendID = "application/x-www-form-urlencoded; charset= utf-8"
URL_First = ""Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
URL_Last = "usp=pp_url&entry.1578623695=" & a.Value & "&entry.329853574=" & b.Value & "&entry.300436266=" & c.Value & "&entry.1140690133=" & d.Value & "&entry.1268640971=" & e.Value & "&submit = Submit"
Form_URL = URL_First & URL_Last
Set TicketInfo = New ServerXMLHTTP60
TicketInfpen "POST", Form_URL, False
TicketInfo.setRequestHeader HeaderName, SendID
TicketInfo.send
If TicketInfo.statusText = "OK" Then
Call Reset
MsgBox "Veri Aktarma İşlemi Başarılı!"
Else
MsgBox "Bir Problem Var."
End If
End Sub
Private Sub CommandButton1_Click()
Dim i As VbMsgBoxResult
i = MsgBox("Bilgiler Aktarılsın mı?", vbYesNo + vbQuestion, "Transfer")
If i = vbNo Then Exit Sub
Call SendToGoogle
End Sub
Emre bey, makro ya çok hakim değilim, bunu kendi kodumun bulunduğu yerde mi yapacam yoksa Google e sheet te karakter bozukluğu olan hücrelerime mi uygulamam lazım.Bu kod fonksiyonu ile göndermek istediğiniz metinleri URL için uygun hale getirebilirsiniz.
HTML:
Emre Bey, başka bir siteye de yazmıştım. Alttaki kod ile çözdüm.İstediğin şeyi elde ettiğin zaman soruyu çözüldü olarak değiştirebilirsiniz.
Bu ayrı bir makro. Bir modüle koyup veriyi aktarırken başka bir kod dizisi içinde çalıştırabilirsiniz.Emre bey, makro ya çok hakim değilim, bunu kendi kodumun bulunduğu yerde mi yapacam yoksa Google e sheet te karakter bozukluğu olan hücrelerime mi uygulamam lazım.
Tamamdır kolay gelsin.Emre Bey, başka bir siteye de yazmıştım. Alttaki kod ile çözdüm.
Veri aktarırken benim gördüğü dikkat etmek gereken şeyler: Excel formunuzda "saat" ve "tarih" varsa google forma "saat" veya "tarih" diye soru oluşturmayın. Veriyi aktarmıyor. Ben "kısa metin" olarak ayarlayıp durumu çözdüm. Ayrıca Excel formunuzdaki "saat" ve "tarih" kısmını da metin olarak ayarlamanız gerekiyor. Excel ve form verilerini dikkatli yapmak gerekiyor. E tablo da neler yapılabiliyor daha bakamadım. Fakat çok başarılı bir içeriği olduğunu gördüm. Sorunlar çıktıkça sizlerle de paylaşırım. Tekrar herkese teşekkür ederim.
Dim TicketInfo As MSXML2.ServerXMLHTTP60
With CreateObject("htmlfile")
.parentWindow.execScript "function encode(s) {return encodeURIComponent(s);}", "jscript"
a = .parentWindow.encode(Sheets("google").Range("A2").Value)
b = .parentWindow.encode(Sheets("google").Range("B2").Value)
c = .parentWindow.encode(Sheets("google").Range("C2").Value)
d = .parentWindow.encode(Sheets("google").Range("D2").Value)
e = .parentWindow.encode(Sheets("google").Range("E2").Value)
End With
Boşluk ALT TİRE boşluk ENTER şeklinde yapınız.Merhabalar, bir çözüm buldum gibi. Fakat kod tek satırda çok uzun oldu. Alt satırlara nasıl bölebilirim.
Kod:
HTML: