DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
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
Merhaba Bedri Bey,
Projenizi bitirdikten sonra kullandığınız referansları kaldırmanız gerekiyor. Daha sonra bu haliyle dosyanızı farklı kullanıcılara göndermeniz gerekiyor. Yani referans kullanılmamış halini paylaşmanız gerekiyor. Karşı taraftaki kullanıcı programı açtığında dosyanın açılışına yazacağınız kod ile ilgili referanslar otomatik olarak eklenerek programın hata vermesi önlenecektir.
Fakat Haluk beyin verdiği linkte alt ve üst versiyon probleminden de bahsedilmiş.
Ayrıca bu kodların çalışması için karşı tarafın bilgisayarında excel güvenlik ayarlarına müdahale etmeniz gerekiyor. Aşağıdaki ayarın yapılması gerekiyor.
Excel-Seçenekler-Güven Merkezi-Güven Merkezi Ayarları-Makro Ayarları bölümünden
"VBA projesi nesne modeli erişimine güven" seçeneğinin işaretlenmesi gerekiyor.
Bunu bir script ile halledebilirsiniz.
Bende böyle bir sıkıntıyı bir çalışmamda yaşamıştım. Benzer kodları kullanıyorum. Fakat sonuç alamamıştım. Sanırım versiyon problemi yaşadım. Ya da uygulamayı doğru yapamadım. Ek bilgi olarak belirtmek istedim.
Alternatif irdelenecek linkler mevcut
Aşağıdaki linknkde kodlar mevcut ve örnek bir adet (Book11.xls) dosyada var
https://www.experts-exchange.com/qu...ove-a-reference-to-a-missing-activex-dll.html
aşağıdaki linkde de (RemoveRef.zip 10.49KB ) bu dosya var
http://www.vbaexpress.com/kb/getarticle.php?kb_id=272
diğer alternatif linkler
https://www.mrexcel.com/forum/excel-questions/937599-remove-missing-references-vba7.html
https://answers.microsoft.com/en-us...0/6cbabf2a-272c-4e3c-8b05-227d1608f2d3?auth=1
Not kodları ben kendi bilgisayarımda denedim ama her seferinde hata verdi.
Option Explicit
Sub References_RemoveMissing()
'Macro purpose: To remove missing references from the VBE
Dim theRef As Variant, i As Long
On Error Resume Next
For i = ThisWorkbook.VBProject.References.Count To 1 Step -1
Set theRef = ThisWorkbook.VBProject.References.Item(i)
If theRef.isbroken = True Then
ThisWorkbook.VBProject.References.Remove theRef
End If
Next i
If Err <> 0 Then
MsgBox "A missing reference has been encountered!" & vbCrLf _
& "You will need to remove the reference manually." & vbCrLf _
& "Error " & Err.Number & " -" & Err.Description, _
vbCritical, "Unable To Remove Missing Reference"
End If
On Error GoTo 0
End Sub
Korhan Bey ekran görüntülerini ekliyorum ayrıca ilgili sitedeki dosyayı da ekliyorum.
Merhaba;
Özel işlerimden dolayı bu başlıktaki mesajları izleyememiştim. Esasen konu, yukarıda arkadaşlar tarafından irdelenmiş olmakla birlikte, ben 1-2 şey belirtmek istedim.
.
Bedri Bey, projenizde kullanmadığınız referansları kaldırmanız yeterli olacaktır.
Selamlar,
.