• DİKKAT

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

Başka dosyadan o dosyayı açmadan veri alma

  • Konbuyu başlatan Konbuyu başlatan Amaxx
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Merhaba arkadaşlar, ben daha önce yaptığım bir programda bazı sheetleri ayırıp başka klasörlere yerleştirdim ve tabi ki programım oradan veri almadı, yani çalışmıyor şimdi

Programımı bu şekilde yani.... ayırdığım sheetler başka bir kitap olarak başka klasörde saklı ve sürekli kapalı duracak. Ben ana dosyada formumu açıp listbozdan bir satır tıkladığımda o saklı klasörlerideki bilgiler hesaplanacak. Bunun nasıl bir yol izlemeliyim

Private Sub CHesapla_Click()
Sheets("veri").Range("b3") = TTeklifNo.Value
Sheets("veri").Range("b4") = TTeklifNo.Value
Sheets("veri").Range("b8") = ComEn.Text
Sheets("veri").Range("b9") = TBoy.Value
Sheets("veri").Range("b10") = ComYuk.Text
Sheets("veri").Range("b11") = TKolon.Value
MsgBox ("Tüm Maliyetler Hesaplanmıştır")
 
Şimdi denedim de diğer dosyalar aynı klasördeyken ve dosyalar açıkken Ana programım çalışıyor. Ama başka klasördeyken ve açıkken çalışmıyor. Ben diğer dosyaların
1. Başka klasörde
2. Kapalı
3. Şifreli olmasını istiyorum

Sitedeki benzer konulara gözattım ama diğerleri farklı geldi benimkine uyarlayamadım.
 
Öncelikle sadece makroyu calıstırmak yeterli olur gibi duruyo anlattıklarınızdan.

Private Sub Command1_Click()
Dim wb As Object
Set xls = CreateObject("Excel.Application")
Set wb = xls.Workbooks.Open("C:\Documents and Settings\***\Desktop\*.xls")
xls.Application.Run "CHesapla" ' CHesapla makrosunu çalistirir. Makro adını yazın
wb.Save
wb.Close
Set wb = Nothing
xls.Quit
Set xls = Nothing
End Sub
 
Kapalı dosyadan veri almada bilinen şu yolları vardır.


- Formül ile,
- ExecuteExcel4Macro metodu,
- ADO ile,
- Dosyayı makro ile açarak/kapatarak.

İlk üçü için dosyanın şifreli olması sorun çıkarabilir. Tercih size ait.
 
Böyle birşey yapmamın amacı oldukça uzun bir liste ve bu formüllü listemi ana dosyadan ayırmak ve gizlemek....ancak bu şekilde programımın başka bilgisayarda çalışmasını engelleyebilirim. bildiğiniz gibi makro güvenlik ayarı yapmadan program başka bilgisayarda açılıyor... yani modüller çalışmıyor böyle durumda

yukarıda yazdığım Chesapla kodları sadece kendi başına çok uzun bir liste, örnek olsun diye kısalttım ...bunun gibi birçok komut var kullandığım....
 
Geri
Üst