• DİKKAT

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

TOOLS-REFERENCES

  • Konbuyu başlatan Konbuyu başlatan Ongun
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Herkese selamlar, bir konuda merak ediyorum.
Lütfen bilgisi olan arkadaşlar bu hususa değinirlerse ve bizlere bilgi verirlerse hepimiz adına sevinirim.
Þöyle ki, örneğin ben excel-2003 kullanıyorum ve buna göre bir proğram hazırladım, ancak bir önceki versiyonlarında çalışmaya biliyor idi. Daha sonra gördümkü VBA`nın TOOLS-REFERENCES bölümünden kullandığınız excele (98,2000, 2003) uygun TOOLS-REFERENCES versiyonunun seçilmesi gerekiyor aksi takdirde istesenizde proğramınız çalışmıyor.

Bu sorunun ortadan kaldırılmasının başka bir yolu varmıdır. Yani excel-2003 kullanıyorsunuz ,makrolarla hazırladığınız proğramı Cd aldınız önceki sürüm excel(98,2000) de herhangi bir müdahalede bulunmadan (TOOLS-REFERENCES bölümüne girip değişiklik yapmadan) proğramın çalışmasını sağlayabilirmiyiz.

Saygılarımla :hey:
 
Merhaba;

Bunun 2 yolu var.

1) Bahsettiğiniz referansları VBA kodlarıyla programın başlangıcında eklemek,

2) Referansların kullanıldığı değişkenleri "Late Binding" olarak tanımlamak. Yani, proje derlenirken değil de çalışırken...

Sizin sorduğunuz, 1nci alternatif. Ã?rneğin, neyin referansını eklemek istiyorsunuz ?

Microsoft Outlook referansı gibi birşey mi ?
 
Sayın Haluk, gösterdiğiniz ilgi için teşekkür ederim. örneğin Microsoft Word 11.0 Object Library excel-2000` de veya daha alt sürümünde Microsoft Word 9.0 Object Library istiyor, dolayısıyla hata veriyor, yani proğramı çalıştıramıyorsunuz.
Bu durumun ortadan kaldırılması mümkünmü yani ne yapmamız lazım. Saygılarımla
 
Belki ne demek istediğinizi tam olarak anlamamış olabilirim ama, aşağıdaki 2 adet prosedürü yeni Excel kitabında deneyin isterseniz.

1ncisi MS Word referansı ekler, 2ncsi bu referansı kaldırır.

Kod:
Sub CreateRef_Word()
    Set ID = ThisWorkbook.VBProject.References
    ' Ufak Major ve Minor reference eklemek, diğer PC'lerde de çalışmasını sağlar
    ID.AddFromGuid "{00020905-0000-0000-C000-000000000046}", 1, 0
End Sub

Sub RemoveRef_Word()
    For Each myRefs In Application.VBE.ActiveVBProject.References
    If myRefs.Name = "Word" Then Application.VBE.ActiveVBProject.References.Remove myRefs
    Next
End Sub
 
Sayın Haluk, haklısınız tam olarak galiba anlatamadım, şöyle izah edeyim. Ben makrolarla bir proğram yaptım, bu proğramı çalıştırdığımda excel sayfası görünmüyor, sadece userform ekrana geliyor, işlemlerimi bunun üzerinde yapıyorum. ancak, bu proğramı excel-2003 (kullandığım versiyon) de yaptım. şimdi bu proğramı başka bir bilgisayarda örneğin windows 98 de çalışmadığını gördüm bunun nedenini araştırdım ve şu sonuca ulaştım.

Proğramı çalıştırmak istediğim bilgisayar üzerinde VBA`nın TOOLS-REFERENCES bölümüne girip gerekli değişikleri yaptığım takdirde (örneğin;Microsoft Word 11.0 Object Library kaldırıp yerine Microsoft Word 9.0 Object Library seçmem gerektiğini veya buna benzer diğer özellikleri ayarlamam gerektiğini farkettim.) proğramın başka bilgisayarda çalıştığını gördüm.

Sorum şöyle, makrolarla yapılan bir proğramı hangi versiyon olursa olsun çalıştırmamızın mümkün olabilmesi için ne yapmamız gerek, yoksa bunun çaresi yokmu?.
Eğer tam olarak anlatmak istediğimi anlatamadıysam lütfen beni uyarım, çünkü bu olay gerçekten sinir bozucu, bir şeyler yapıyorsunuz ve proğramınız uygun versiyon istiyor. Bunun ortadan kaldırılması mümkünmü. Saygılarımla,
 
Verdiğim kodları denediniz mi ?

Sorun çözülür gibi geliyor...
 
Sayın Haluk, evet deneme yaptım maalesef aşağıdaki gibi hata veriyor.

can`t fınd project or libray

bu hataya gidermek için VBA`nın TOOLS-REFERENCES bölümüne giriyorum burada gördügüm MISSING:Microsoft Word 11.0 Object Library seçili olanı kaldırıp bunun yerine Microsoft Word 9.0 Object Library seçtiğim takdirde hata giderilmiş oluyor ve bilgisayar proğramı kabul ediyor.

Benimde sormak istediğim bu bunu her bilgisayar için tanıtacak yani otamatik olarak yapabilecek bir kod veya başka bir çözüm yolu varmıdır.

Gerçekten önemli bir konu.
Saygılarımla
 
Þimdi anladığım kadarıyla, siz kodu tam kullanamamışınız.

Ben size ekte bir dosya gönderiyorum. Orjinalinde, MS Word'e herhangibir referans eklemedim ama, siz dosyayı açınca o kodlarla otomatik olarak Word'e referans verilecek.

Yani siz ekli dosyadakine benzer şekilde kodları kullanıp, programınız bittiğinde Word'e verdiğiniz referansı kaldıracaksınız ki .... dosya, başka bir PC'de açıldığında otomatik olarak o PC'deki Word versiyonuna uygun referans size önerdiğim kodlarla kendiliğinden eklensin.

Bunu bir deneyin bence... (Sorun çıktığını belirttiğiniz PC'lerde de deneyin !)
 
Sayın Haluk, haklısınız dediğiniz gibi yaptım ve mükemmel çalıştı. Ellerinize sağlık süpersiniz. Çok teşekkür ederim.

Bu konu gerçekten sinir bozuyordu, yani bir şeyler hazırlıyorsunuz ama bilgisayar farklılığı o kadar emeğinizi yok sayıyor. Artık hangi bilgisayar olursa olsun proğramlar çalışabilecek bu çok güzel bir çalışma, tekrar teşekkür eder. Başarılarınızın devamını dilerim. Saygılarımla.
 
İşinize yaradığına sevindim, kolay gelsin ... :keyif:
 
Sayın Haluk, bu defa başka bir sorun çıktı. proğramın VBA`nın TOOLS-REFERENCES bölümünden Microsoft Word 11.0 Object Library kaldırdım ve OK deyip proğramı kapattım, bu şekildi başka bir bilgisarda çalıştırdığımda sorun olmuyor dediğiniz gibi o bilgisayarın Word`ünü otomatik olarak ekliyor. Buraya kadar sorun yok ama kendi bilgisayarımda yani Microsoft Word 11.0 Object Library in otomatik olarak seçilmediğini gördüm. Acaba bunun sebebi ne olabilir. Saygılarımla
 
Merhaba;

Eğer yukarıda benim verdiğim örnek dosyayı çalıştırdığınızda, sizin PC'de Word referansı otomatik olarak ekleniyorsa.....bir problem olmaması gerekir.

Dosyanızı kapatıp, tekrar açmayı deneyin.
 
Selam, benim PC de Word referansı otomatik olarak eklenmiyor, ama başka bir bilgisayarda otomatik olarak ekleniyor, sadece bu sorun kaldı. Dosyayı kapatıp tekrar açtım ama yine olmadı.
 
Dosyanızı bana gönderirmisiniz ?

Size Ã?.M. ile e-mail adresimi vereyim...
 
Sayın Haluk,
sizin gönderdiğiniz dosya üzerinde deniyorum yine olmuyor. Galiba sorun excel`in üst versiyonu ile alt versiyonu farkı. Tespitime göre benim PC excel-2003 diğer bilgisayar Excel-2000, diğer bilgisayarda otomatik olarak referansı algılıyor ama benim bilgisarda otomatik olarak referansı oluşturmuyor. Sizin gönderdiğiniz örnek dosyada çalışsa o zaman diyeceğim bir yerlerde hata yaptım.
Kusura bakmayın zamanınızı alıyorum. Saygılarımla,
 
Merhaba,

Bende 2003 olmadığı için deneme şansım yok tabii....

2003 kullanıp da, buraya yorum yazan birisi de olmadığına göre, işimiz biraz zor .... :mrgreen:

İsterseniz aşağıdaki satırda kırmızı ile yapılan değişikliği deneyin. Buradaki değerler ile oynayarak, diğer bilgisayarlardaki duruma bir bakın....

[vb:1:da9ae301d8] ID.AddFromGuid "{00020905-0000-0000-C000-000000000046}", 1, 1[/vb:1:da9ae301d8]
 
Sayin Haluk ve Leventm,

bu tip referanslarin kod ile aktive edilebilmesi icin:
makro güvenlik ayarlarında,
"visual basic project erişime güven" kutusunun isaretli olmasi gerekiyor.
object library leri otomatik eklemek icin bu gerekli. kullanicinin yapmasina gerek kalmadan kod ile yapilabilirmi?
tesekkurler.
 
Þimdi anladığım kadarıyla, siz kodu tam kullanamamışınız.

Ben size ekte bir dosya gönderiyorum. Orjinalinde, MS Word'e herhangibir referans eklemedim ama, siz dosyayı açınca o kodlarla otomatik olarak Word'e referans verilecek.

Yani siz ekli dosyadakine benzer şekilde kodları kullanıp, programınız bittiğinde Word'e verdiğiniz referansı kaldıracaksınız ki .... dosya, başka bir PC'de açıldığında otomatik olarak o PC'deki Word versiyonuna uygun referans size önerdiğim kodlarla kendiliğinden eklensin.

Bunu bir deneyin bence... (Sorun çıktığını belirttiğiniz PC'lerde de deneyin !)

yukarıda bahsettiğiniz eklentiyi banada gönderebilirmisiniz.
 
Geri
Üst