• DİKKAT

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

DtPicker ve İe Timer ocx yoksa kopyala

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhaba başak bilgisayarlarda da kulanılacak bir vba projesi hazırlıyorum (desteğinizle, her takıldığımda soruyorum çünkü) bu projede Dtpicker ve Timer Object (http://www.excel.web.tr/showthread.php?t=17097) kullanıyorum...
Şimdi sorum şu
Çalışma kitabı açılırken bu iki objebin kullandığı ocx dosyasını kuracağım makinede var mı yokmu kontrol etsin?

ben size eniyisi türkçe vba olarak anlatayım, siz aslına uyarlayın

Kod:
if Dtpicker = "" Then
  Cevap = Msgbox "Obje yok kopyalamak istermisiniz, VbYesNo, " yoksa çalışmaz")
    if Cevap = vbyes Then 
        Dosyanın olduğu yolu sorsun 
        gösterdikten sonra olması gerek n c:\windows\system32
    altına kopyalasın
    Else
    EndİF
End if

Mümkünmü
 
Dosyasıda kontrol edilebilir ancak referansı kontrol ettirmek daha mantıklı, bununla ilgili olarak aşağıdaki linki inceleyin.

References Kontrolü
 
peki referans yok ve seçilemiyorsa nasıl olalı hocam, başşka bir konuyda daldık burayı boşladık... kusura bakmayın
 
peki referans yok ve seçilemiyorsa nasıl olalı hocam, başşka bir konuyda daldık burayı boşladık... kusura bakmayın

Yoksa gerekli referansı içeren dosyaları ilgili klasöre kopyalayacaksınız demektir.
 
şunu demek istiyorum Çalışma kitabuının olduğ u klasörün altında ocx klasörümüz var diyelim (thisworkbook.path & "\ocx") buradca dosyanın olduğunu biliyoruz. system 32 ye buradan kopyalama nasıl olmalı diye soruyorum.
 
Kod:
Sub Test()
    Dim objShell As Object, MyFolder As Object, SysFolder As Object
    Dim FSO As Object
    Dim Sys32Path As String, MyOcx As String
    Set objShell = CreateObject("Shell.Application")
    Set MyFolder = objShell.Namespace(&H25&)
    Set SysFolder = MyFolder.Self
    Sys32Path = SysFolder.Path & Application.PathSeparator
    MyOcx = ThisWorkbook.Path & "\Ocx\Test.ocx"
    If Dir(MyOcx) = Empty Then
        MsgBox MyOcx & " bulunamadı, kontrol edin !"
        Exit Sub
    End If
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.CopyFile MyOcx, Sys32Path
    Set FSO = Nothing
    Set SysFolder = Nothing
    Set MyFolder = Nothing
    Set objShell = Nothing
End Sub
 
teşekkür ederim sayın hocam
 
Son düzenleme:
Geri
Üst