• DİKKAT

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

Makro referanslarını otomatik girme

  • Konbuyu başlatan Konbuyu başlatan leumruk
  • Başlangıç tarihi Başlangıç tarihi

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Bilindiği gibi makro kodlarının bazılarının çalışabilmesi için, ona uygun referansların seçili olması gerekiyor. Dosyayı kendi bilgisayarımızda çalıştırdığımızda bir sorun olmuyor; ancak başka bilgisayarlarda kullanmak istendiğinde bazen bu referansların yeniden seçilmesi gerekebiliyor.
Sorum şu: Seçtiğimiz referansları dosya açılışında eğer aktif değilse aktifleştirmek mümkün mü?
Ya da: Bir exe dosyası oluşturarak tüm referansları sıfırlayıp, sonrasında kendi istediğmiz referansların aktifleştirilmesini sağlayacak bir program yapılabilir mi?
 
Levent Bey, teşekkür ederim, aradığım çözüm bu; ancak şöyle bir sorun var bu kodla sadece Outlook referansını işaretleyebiliyoruz. Örneğin word yazdığımda yine outlooku işaretliyor. Anladığım kadarıyla kodların içerisinde geçen numara ile alakalı. Her referansın ayrı bir kodu mu var? Eğer öyle ise bu kodlara nasıl ulaşabilirim?

Kodla kastettiğim aşağıdaki kırmızı alan...

Kod:
Sub referanskontrol()
On Error GoTo 10
For a = 1 To ThisWorkbook.VBProject.References.Count
aranan = ThisWorkbook.VBProject.References.Item(a).Name
If aranan = "Outlook" Then
MsgBox "ARANAN REFERANS İŞARETLİDİR"
Exit Sub
End If
Next
sor = MsgBox("REFERANS BULUNARAK İŞARETLENSİN Mİ?", vbYesNo)
If sor = vbYes Then ThisWorkbook.VBProject.References.AddFromGuid [COLOR="Red"]"{00062FFF-0000-0000-C000-000000000046}", 1, 0[/COLOR]
MsgBox "REFERANS İŞARETLENDİ"
Exit Sub
10 MsgBox "REFERANS MEVCUT DEĞİL"
End Sub
 
Aşağıdaki kod ile işaretli olan tüm referansların ilgili bilgilerine ulaşabilirsiniz. Dolayısıyla kodu çalıştırmadan önce kullanacağınız referansları işaretlemeniz gerekecektir.

Kod:
Sub referanslistesi()
For Each referans In ActiveWorkbook.VBProject.References
c = c + 1
Cells(c, "a") = referans.Name
Cells(c, "b") = referans.Description
Cells(c, "c") = referans.GUID
Cells(c, "d") = referans.Major
Cells(c, "e") = referans.Minor
Cells(c, "f") = referans.fullpath
Next
End Sub
 
Levent Bey,
Öncelikle teşekkür ederim, benim için çok önemli bir bilgiydi.
Sayın hocam, bu işlemin tersini yapmak mümkün mü? Yani işaretli olan referansların işaretini kaldırabilir miyiz?
 
İşareti kaldırmak içinde aşağıdaki gibi bir kod kullanabilirsiniz.

Kod:
ThisWorkbook.VBProject.References.Remove ThisWorkbook.VBProject.References.Item("Outlook")
 
Geri
Üst