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

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")
 
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
Ş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.
 
Katılım
31 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
2000 tr
Ö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
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
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.
 
Katılım
26 Kasım 2007
Mesajlar
308
Excel Vers. ve Dili
Excel 2003
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....
 
Üst