• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kapalı ve Şifreli Bir Excel Dosyasına Veri Aktarmak

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Arkadaşlar,
kapalı ve şifreli bir excel dosyasına veri aktarmak istiyorum.
Yardımcı olur musunuz?

Aşağıdaki kodlar ile veri aktarma yapabiliyorum. Ancak, dosyayı açıyorum, son boş satıra veriyi yazıp, kaydedip kapatıyorum. Ben bu işlemi dosya açıp kapanmadan yapılsın istiyorum.

ExecuteExcel4Macro metodunu araştırdım, ancak, kapalı dosyadan veri alıp, veri aktarılamıyormuş.

Kod:
Sub kapali_sifreli_ornek()

Workbooks.Open Filename:="C:\servisler\örnek.xls", Password:="1234"

Windows("örnek.xls").Activate
    
    Dim fo As Worksheet
    Set fo = Sheets("kullanıcı")
    son_sat = fo.Range("A65536").End(3).Row
   
    fo.Cells(son_sat + 1, "A") = Environ("username")
    fo.Cells(son_sat + 1, "B") = Now
    fo.Cells(son_sat + 1, "C") = ThisWorkbook.Name
    fo.Cells(son_sat + 1, "D") = ThisWorkbook.Path
    fo.Cells(son_sat + 1, "E") = "test1"
    fo.Cells(son_sat + 1, "F") = "test2"
    fo.Cells(son_sat + 1, "G") = "test3"
    fo.Cells(son_sat + 1, "H") = "test4"
    
    Windows("örnek.xls").Close True

End Sub
 
Merhaba,

Kapalı bir dosyaya veri aktarabilmek için ADO/DAO gibi yöntem kullanmanız gerekir ki, şifreli dosyaya direkt uygulayamazsınız. Şifreli dosyayı gizli modda (ekranda görünmesini istemezseniz) "workbooks.open" ile açarak ADO/DAO bağlantısı yapabilirsiniz. Buna da gerçek olarak dosyayı açmak denir; aradığınız çözüm bu olmasa gerek...
 
Merhaba,

Kapalı bir dosyaya veri aktarabilmek için ADO/DAO gibi yöntem kullanmanız gerekir ki, şifreli dosyaya direkt uygulayamazsınız. Şifreli dosyayı gizli modda (ekranda görünmesini istemezseniz) "workbooks.open" ile açarak ADO/DAO bağlantısı yapabilirsiniz. Buna da gerçek olarak dosyayı açmak denir; aradığınız çözüm bu olmasa gerek...
Çok teşekkür ederim. Benim çalışmamda excel sayfaları makrolar etkin değilken gizli olup, Makrolar etkinleştirilince ana userform açılıyor ve ekranı kaplıyor. arkadaki excel sayfaları görünmüyor. Bu esnada ağ üzerinde şifreli başka bir dosya açılıyor. gerekli oturum bilgileri kayıtları yapıp kapatıyor. bu esnada şifreli dosya görünmüyor ama userform 2 kere kapanıp açılıyor. hoş bir görüntü olmuyor. Bir de dosyayı açan kişinin son açılan dosyalarında şifreli özel dosyanın adı görünüyor. Bu da gereksiz oluyor. Kullandığım kodlar aşağıdaki gibidir.

Application.Visible ve Application.ScreenUpdating kullansam mı kullanmasam mı? başka metotlar mı kullansam? ne yapsam bilemiyorum.
Kod:
Application.Visible = False
    Application.ScreenUpdating = False
    
    On Error Resume Next
    For j = 1 To Workbooks.Count
    If Workbooks(j).Name = "ozel.xls" Then GoTo atla1
    Next
     
    Workbooks.Open Filename:="\\10.34.32.21\servisler\ozel.xls", Password:="1234"
atla1:
Windows("ozel.xls").Activate
    Dim fo As Worksheet
    Set fo = Sheets("kullanıcı")
    son_sat = fo.Range("A65536").End(3).Row
   
    fo.Cells(son_sat + 1, "A") = Environ("username")
    fo.Cells(son_sat + 1, "B") = Now
    fo.Cells(son_sat + 1, "C") = ThisWorkbook.Name
    fo.Cells(son_sat + 1, "D") = ThisWorkbook.Path
    fo.Cells(son_sat + 1, "E") = oturum_kaydet_notu
    fo.Cells(son_sat + 1, "F") = Environ("LOGONSERVER")
    fo.Cells(son_sat + 1, "G") = Environ("USERDNSDOMAIN")
    fo.Cells(son_sat + 1, "H") = Environ("USERDOMAIN")
    
    Windows("ozel.xls").Close True
    Application.ScreenUpdating = True
    Application.Visible = True
 
application.screenupdating=false kullanmadan bir çözümü olduğunu zannemiyorum.

çekinceniz ne ki ?

visible özelliği ile işlem yapmanıza bence gerek yok...
 
işte bunu kullandığınız zaman flaşör gibi gidip gelmeyecek ya ekran ?
 
Geri
Üst