• DİKKAT

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

Computer Name & User Name bulma ??

Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Merhaba arkadaşlar,

forumlarda aradım ama bulamadım,
Computer Name ve User Name'i bir query içine yada tablo içerisine nasıl yazdırabiliriz?
 
Sayın arnavut,

Bilgisayar adını aşağıdaki fonksiyonla öğrenebilirsiniz:

Kod:
Private Declare Function GetComputerName Lib "kernel32" _
    Alias "GetComputerNameA" _
    (ByVal lpBuffer As String, nSize As Long) As Long


Function ReturnComputerName() As String
Dim rString As String * 255, sLen As Long, tString As String
    tString = ""
    On Error Resume Next
    sLen = GetComputerName(rString, 255)
    sLen = InStr(1, rString, Chr(0))
    If sLen > 0 Then
        tString = Left(rString, sLen - 1)
    Else
        tString = rString
    End If
    On Error GoTo 0
    ReturnComputerName = UCase(Trim(tString))
End Function

Kullanıcı adını ise

Kod:
Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function ReturnUserName() As String
' returns the NT Domain User Name
Dim rString As String * 255, sLen As Long, tString As String
    tString = ""
    On Error Resume Next
    sLen = GetUserName(rString, 255)
    sLen = InStr(1, rString, Chr(0))
    If sLen > 0 Then
        tString = Left(rString, sLen - 1)
    Else
        tString = rString
    End If
    On Error GoTo 0
    ReturnUserName = UCase(Trim(tString))
End Function

fonksiyonuyla bulabilirsiniz.

Eğer access in sahibini arıyorsanız:

Kod:
ActiveUserName = Application.UserName

ile bulabilirsiniz.

İyi çalışmalar:)
 
Sayın modalı teşekkür ederim.
Ben bunları denedim.Exceldede kullanabiliyorum.
iyi çalışmalar.:)
 
WScript ile almak daha kolaydır.

Bakınız:WScript.Network & WScript.Shell Metot ve Özellikleri

Kod:
[LEFT][FONT=Verdana]Sub Comp_Domain_User()[/FONT]
[FONT=Verdana]Dim Wsh As WshNetwork[/FONT]
[FONT=Verdana]Dim a As String, b As String, c As String[/FONT]

[COLOR=DarkGreen]'Set Wsh = CreateObject("WScript.Network")[/COLOR] 
[FONT=Verdana]Set Wsh = New WshNetwork[/FONT]
 
[FONT=Verdana]'Bilgisayar Adı[/FONT]
[FONT=Verdana]a = Wsh.ComputerName[/FONT]
 
[FONT=Verdana]'Domain Adı[/FONT]
[FONT=Verdana]b = Wsh.UserDomain[/FONT]
 
[FONT=Verdana]'Kullanıcı Adı[/FONT]
[FONT=Verdana]c = Wsh.UserName[/FONT]
 
[FONT=Verdana]MsgBox "Bilgisayar Adı :  " & a & Chr(10) & _[/FONT]
[FONT=Verdana]   "Domain    Adı :  " & b & Chr(10) & _[/FONT]
[FONT=Verdana]   "Kullanıcı   Adı  : " & c[/FONT]
[FONT=Verdana]End Sub[/FONT][/LEFT]
 
Son düzenleme:
Zeki bey excelde çalıştıramadım.Hata verdi.
vbs dosya şeklinde denedim gene hata verdi.
 
Kod:
Dim Wsh As WshNetwork
Dim a As String, b As String, c As String

[COLOR=DarkGreen] 'Set Wsh = CreateObject("WScript.Network")[/COLOR] 
Set Wsh = New WshNetwork

satırlarını,

Kod:
Dim Wsh As object
Dim a As String, b As String, c As String

[COLOR=Black] Set Wsh = CreateObject("WScript.Network")[/COLOR]

olark değiştirin. (Ayrıca yeşil satıra açıklma tırnağı eklemeyi unutmuştum, düzelttim.)
[FONT=Verdana,mon] [/FONT]
 
Merhaba;
Office-2007( Ms Access ) Ben de alttaki gibi de çalışıyor, Zeki Bey'in verdiği ilk kodda hiçbir değişiklik yapmadan da çalışıyor. Sadece referansı eklemek gerekiyor.. "Windows host script object model"

Kod:
Dim a As String, b As String, c As String


Set Wsh = New WshNetwork
 
'Bilgisayar Adı
a = Wsh.ComputerName
 
'Domain Adı
b = Wsh.UserDomain
 
'Kullanıcı Adı
c = Wsh.UserName
 
MsgBox "Bilgisayar Adı :  " & a & Chr(10) & _
   "Domain    Adı :  " & b & Chr(10) & _
   "Kullanıcı   Adı  : " & c
 
Zeki bey teşekkürler.Şimdi çalışıyor.:)
 
degerli hocalarım bu kodları access üzerinde örnekle gösterebilirmisiniz rica etsem butondamı kullanılacak güncelleştirmedemi açılıştamı bilgilendirirsenin çok makbule gecer teşekkür eder beni anlayacagınızı umarım saygılar
 
ilginiz için çok teşekkür ederim,
iyiki varsınız değerli hocalarımız.
 
degerli hocalarım bu kodları access üzerinde örnekle gösterebilirmisiniz rica etsem butondamı kullanılacak güncelleştirmedemi açılıştamı bilgilendirirsenin çok makbule gecer teşekkür eder beni anlayacagınızı umarım saygılar

İki türlü kullanım (Referans - Create) ekledim. Hangisi hoşunuza giderse onu kullanırsınız.
 
Peki environ fonksiyonu kullanılamazmı?

Kod:
Environ("computername")
 
Environ("username")
 
Sayın, Zeki Gürsoy
Bilgisayar, Kullanıcı ve domain adlarını bir mesaj kutusunda değilde tablo yada query'e yazdırmamız mümkün mü?
 
Merhaba Sayın modalı,
yazmış olduğunuz fonksiyonu nereye ynasıl yazacağımı tam anlayamadım.
Açıklayabilirseniz çok sevinirim
teşekkürler
 
levent bey sizin kod daha kısa ama çalışmıyor sorun nerde?
 
Sayın arnavut,

Projede kullanılacak fonksiyonlar modüle yazılırlar. Ondan sonra istenilen yerlerde çağırılarak kullanılırlar. Fonksiyonların değişkenleri olmadığından direkt olarak çağırılarak kullanılırlar.

İlişkisiz bir metin kutusunun veri kısmında

Kod:
=ReturnComputerName()

Bir sorgunun deyim olarak kullanılmış alanında:

Kod:
BilgisayarAdı:ReturnComputerName()

veya kodlar arasında bir değişkene atıyarak:

Kod:
Dim strBilgisayarAdı As String
strBilgisayarAdı=ReturnComputerName()

veya daha bir çok kullanım çeşitleri vardır.


İyi çalışmalar
 
Son düzenleme:
Sayın Modalı
Açıklamalarınız için çok teşekkür ederim. Şimdi denedim ve oldu
Çok sağolun.
iyi çalışmalar.
 
Merhaba arkadaşlar. Computer name, user name, Last Saved Date gibi bilgileri fonksiyon ile bulma imkanı var mı ?
 
Geri
Üst