Cho em hỏi làm sao chạy được Function này! (1 người xem)

Người dùng đang xem chủ đề này

alibaba2209

Thành viên thường trực
Tham gia
4/12/10
Bài viết
283
Được thích
13
Em có đoạn code này làm sao lấy được mã máy ở trong Autocad ở code này ạ!
Mã:
Public Function Processor() As StringDim GetSN As Variant
Dim SubGetSN As Variant
Dim wmi As Variant
Dim str1 As String
Dim str3() As String
Dim str4 As String
Dim str5 As String
Dim va As Variant
Dim i As Integer
Dim j As Integer
    On Error Resume Next
    ' Get the Windows Management Instrumentation object.
    Set wmi = GetObject("WinMgmts:")


    ' Get the "base SubGetSNs" (mother SubGetSNs).
    Set GetSN = wmi.InstancesOf("Win32_ComputerSystemProduct")
    For Each SubGetSN In GetSN
        
        str1 = str1 & SubGetSN.UUID
     
    Next SubGetSN
    If Err <> 0 Then
    Err.Clear
    Processor = "390394398402"
    Else
    
    If Len(str1) > 0 Then str1 = _
        Trim$(str1)
    str3 = Split(str1, "-")


    For Each va In str3
    str4 = str4 & va
    Next


    j = Len(str4) \ 8
    For i = 1 To j * 8 Step 8
    str5 = str5 & Asc(Mid(str4, i, 1)) + Asc(Mid(str4, i + 1, 1)) + 1 + Asc(Mid(str4, i + 2, 1)) _
    + Asc(Mid(str4, i + 3, 1)) - 1 + Asc(Mid(str4, i + 4, 1)) + Asc(Mid(str4, i + 5, 1)) + 1 + Asc(Mid(str4, i + 6, 1)) _
    + Asc(Mid(str4, i + 7, 1))
    Next
    
    Processor = str5
    End If
End Function
 
Bạn chuyển thành vầy cho dễ nhồm & chạy trong CS Immediate

PHP:
Public Function Processor() As String

 Dim GetSN As Variant, SubGetSN As Variant, wmi As Variant
 Dim str3() As String
 Dim str1 As String, str4 As String, str5 As String
 Dim va As Variant
 Dim i As Integer, j As Integer
 On Error Resume Next
    ' Get the Windows Management Instrumentation object.'
    Set wmi = GetObject("WinMgmts:")
    ' Get the "base SubGetSNs" (mother SubGetSNs).'
    Set GetSN = wmi.InstancesOf("Win32_ComputerSystemProduct")
    For Each SubGetSN In GetSN
        str1 = str1 & SubGetSN.UUID
    Next SubGetSN
    If Err <> 0 Then
        Err.Clear
        Processor = "390394398402"
    Else
        If Len(str1) > 0 Then str1 = Trim$(str1)
        str3 = Split(str1, "-")
        For Each va In str3
            str4 = str4 & va
        Next
        j = Len(str4) \ 8
        For i = 1 To j * 8 Step 8
            str5 = str5 & Asc(Mid(str4, i, 1)) + Asc(Mid(str4, i + 1, 1)) + 1 + _
                Asc(Mid(str4, i + 2, 1)) + Asc(Mid(str4, i + 3, 1)) - 1 + _
                    Asc(Mid(str4, i + 4, 1)) + Asc(Mid(str4, i + 5, 1)) + 1 + _
                        Asc(Mid(str4, i + 6, 1)) + Asc(Mid(str4, i + 7, 1))
        Next
        Processor = str5
    End If
End Function

Với máy của mình ra kết quả là:
Mã:
?Processor
385385406499
 
Em có đoạn code này làm sao lấy được mã máy ở trong Autocad ở code này ạ!
Mã:
Public Function Processor() As StringDim GetSN As Variant
Dim SubGetSN As Variant
Dim wmi As Variant
Dim str1 As String
Dim str3() As String
Dim str4 As String
Dim str5 As String
Dim va As Variant
Dim i As Integer
Dim j As Integer
    On Error Resume Next
    ' Get the Windows Management Instrumentation object.
    Set wmi = GetObject("WinMgmts:")


    ' Get the "base SubGetSNs" (mother SubGetSNs).
    Set GetSN = wmi.InstancesOf("Win32_ComputerSystemProduct")
    For Each SubGetSN In GetSN
        
        str1 = str1 & SubGetSN.UUID
     
    Next SubGetSN
    If Err <> 0 Then
    Err.Clear
    Processor = "390394398402"
    Else
    
    If Len(str1) > 0 Then str1 = _
        Trim$(str1)
    str3 = Split(str1, "-")


    For Each va In str3
    str4 = str4 & va
    Next


    j = Len(str4) \ 8
    For i = 1 To j * 8 Step 8
    str5 = str5 & Asc(Mid(str4, i, 1)) + Asc(Mid(str4, i + 1, 1)) + 1 + Asc(Mid(str4, i + 2, 1)) _
    + Asc(Mid(str4, i + 3, 1)) - 1 + Asc(Mid(str4, i + 4, 1)) + Asc(Mid(str4, i + 5, 1)) + 1 + Asc(Mid(str4, i + 6, 1)) _
    + Asc(Mid(str4, i + 7, 1))
    Next
    
    Processor = str5
    End If
End Function
trong Autocad mình chạy. Trong excel thì bạn gõ như gõ công thức. = Processor()
 
PHP:
Public Function Processor() As String

 Dim GetSN As Variant, SubGetSN As Variant, wmi As Variant
 Dim str3() As String
 Dim str1 As String, str4 As String, str5 As String
 Dim va As Variant
 Dim i As Integer, j As Integer
 On Error Resume Next
    ' Get the Windows Management Instrumentation object.'
    Set wmi = GetObject("WinMgmts:")
    ' Get the "base SubGetSNs" (mother SubGetSNs).'
    Set GetSN = wmi.InstancesOf("Win32_ComputerSystemProduct")
    For Each SubGetSN In GetSN
        str1 = str1 & SubGetSN.UUID
    Next SubGetSN
    If Err <> 0 Then
        Err.Clear
        Processor = "390394398402"
    Else
        If Len(str1) > 0 Then str1 = Trim$(str1)
        str3 = Split(str1, "-")
        For Each va In str3
            str4 = str4 & va
        Next
        j = Len(str4) \ 8
        For i = 1 To j * 8 Step 8
            str5 = str5 & Asc(Mid(str4, i, 1)) + Asc(Mid(str4, i + 1, 1)) + 1 + _
                Asc(Mid(str4, i + 2, 1)) + Asc(Mid(str4, i + 3, 1)) - 1 + _
                    Asc(Mid(str4, i + 4, 1)) + Asc(Mid(str4, i + 5, 1)) + 1 + _
                        Asc(Mid(str4, i + 6, 1)) + Asc(Mid(str4, i + 7, 1))
        Next
        Processor = str5
    End If
End Function

Với máy của mình ra kết quả là:
Mã:
?Processor
385385406499
Em điền mã rồi nó vẫn đòi cái ji nữa anh nhỉ.. xem dùm em với ạ http://www.mediafire.com/file/somgsb6jbvwg79g/Desktop.rar mk: 0706976699
 
Lần chỉnh sửa cuối:

Bài viết mới nhất

Back
Top Bottom