• DİKKAT

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

ip Adresi Tanımlamak vba kod hakkında yardım istiyorum

Katılım
27 Ekim 2019
Mesajlar
6
Excel Vers. ve Dili
yok
Yazdığım yazılarda harf hatası yaptıysam özür dilerim.
01.04.2019 tarihinde beyin ameliyatı oldum ve görme alanı kaybım var .

Yardım almak istediğim konu şu

Bana ait olan excel çalışmalarını sadece 1 bilgisayarda çalışmasını istiyorum .
Bunun için ip adresi tanımlama yapılabileceğini öğrendim .
Vba da Şu kod dizilimini yapıyorum . kendi ip numaramı yazdığımda hara veriyor .
----------------------------------------------------------------------------------------------
Dim myWMI As Object, myobj As Object, itm
Set myWMI = GetObject("winmgmts:\\.\root\cimv2")
Set myobj = myWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each itm In myobj
getmyip = itm.IPAddress(0)
Next

if getmyip<>192.198.0.0 then
ActiveWorkbook.Close SaveChanges:=False
End if
-----------------------------------------------------------------------------------------
Bunu Yazmadan önce (This workbook alanına)
kodu yapıştırıyorum.

(General)......................................................................................(Declarations)

Yukarıdaki kodu yapıştırıyorum.

Aldığım ilk hata = if getmyip<>192.198.0.0 then
yerinde oluyor. ve (.121 seçili şekilde "compilete error: Expected : Then or Go to )

tama deyip kaydediyorum . Bu sefer de aldığım 2 hata ise
Set myWMI = GetObject("winmgmts:\\.\root\cimv2")
yerinde ise ( Set Secili olarak " compilete error:Invalid outside procedure ")



Benim yadım almak istediğim şey ip tanımlaması yaparken nerede hata yapıyorum . yardımlarınız için şimdiden teşekkür ederim.
 
Merhaba ip adresi değiştirilebildiği için bunu yerine Hard Disk seri numara kontrolü yapabilirsiniz.

Kod:
Function SeriNo() As String
    Dim S, Disk
    Set S = GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
    For Each Disk In S
        SeriNo = Disk.SerialNumber
        Exit Function
    Next Disk
End Function

Sub Test()
    MsgBox SeriNo
End Sub

Kendi kodlarınızı kullanmak istiyorsanız, kodlarınızı aşağıdaki şekilde değiştirmelisiniz.

Kod:
if getmyip(0)<>"192.198.0.0" then
    ActiveWorkbook.Close SaveChanges:=False
End if
 
Sayın dalgalikur ;

yardımınız ve ilginiz için öncelikle teşekkür ederim.

Hard Disk seri numara kontrolü yapabilirsiniz deiştiniz

Bilgisayarım / cmd / vol C: / enter - yazarak
Hard Disk numaramı aldım örnek olarak (3156-X5AS)

Bundan sonraki aşamada Sizin yazmış olduğunuz kodu
Excel VBA da Bu Çalışma kitabı Sayfasındaki yere yapıştırdım .

Sorum şu : ben Hard Disk numarasını nereye yazmam lazım bir kaç deneme yaptım ama başarı sağlayamadım .
 
Önce Hard Disk Seri nosunu öğrenmek lazım.
Kod:
Function SeriNo() As String
    Dim S, Disk
    Set S = GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
    For Each Disk In S
        SeriNo = Disk.SerialNumber
        Exit Function
    Next Disk
End Function

Sub Test()
    Range("A1") = SeriNo
End Sub

Yukarıdaki kodu çalıştırın A1 hücresine Seri No yu yazsın.

A1 hücresinden seri noyu kopyalayıp aşağıdaki kodun gerekli yerine yapıştırın.
Kendi uygulamanızda aşağıdaki kodları kullanın.

Kod:
Function SeriNo() As String
    Dim S, Disk
    Set S = GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
    For Each Disk In S
        SeriNo = Disk.SerialNumber
        Exit Function
    Next Disk
End Function

Sub Test()
    If SeriNo = "KendiSeriNoyuBurayaYapıştırın" Then
        'Seri no doğruysa buradaki kodlar çalışır.
        MsgBox "Seri no doğru."
    Else
        'Seri No doğru değilse buradaki kodlar çalışır.
        MsgBox "Seri no yanlış."
    End If
End Sub
 
Geri
Üst