Reading hard drive serial number

Av8tordude

Well-known Member
Joined
Oct 13, 2007
Messages
1,074
Office Version
  1. 2019
Platform
  1. Windows
I have a code that inputs the HDD serial number in a text file, however when I run the code below to check if the HDD serial number matches the number in the text file, it gives an incorrect response. When I put the HDD serial number in a cell, the code response is correct. What am i missing?

Code:
        Status = Trim(Split(f, vbCrLf)(2))        
        If Status = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber Then
            Msgbox "Yes"
        Else
            Msgbox "No"
        End If
 
Last edited:

Excel Facts

Control Word Wrap
Press Alt+Enter to move to a new row in a cell. Lets you control where the words wrap.
What is the value of "Status" when you run the code?
 
Upvote 0
But is it actually the number you expect?
 
Upvote 0
I think it can vary. My serial number are numbers, but I'm not sure if other HDD serial numbers may have Alpha-numberic numbers
 
Upvote 0
If you add the msgbox
Code:
        Status = Trim(Split(f, vbCrLf)(2))
       [COLOR=#ff0000] MsgBox Status[/COLOR]
        If Status = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber Then
does it give you the number you are expecting?
 
Upvote 0
Yes...I've tried that and it gives me the number I'm expecting
 
Upvote 0
I did this and it works fine, but when reading the file it doesn't.

Code:
Range("A1") = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber


If Range("A1") = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber Then
    MsgBox "Yes"
Else
    MsgBox "No"
End If



the full code

Code:
    Set fs = CreateObject("Scripting.FileSystemObject")    
    f = fs.OpenTextFile(OPath & Evnt).readall
    PT= Trim(Split(f, vbCrLf)(1))
    CT = Format(Now, "#0.#########0")
    
    If CT > PT Then
        Open OPath & Evnt For Input As [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] 
        ss = ""
        Do While Not EOF(1)
            Line Input [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] , s
            n = n + 1
            If n = 2 Then s = CT
            ss = ss & s & vbCrLf
        Loop
        Close [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] 
        
        Open OPath & Evnt For Output As [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] 
        Print [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] , ss;
        Close [URL="https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=1"]#1[/URL] 
     Status = Trim(Split(f, vbCrLf)(2))        
     
     If Status = CreateObject("Scripting.FileSystemObject").GetDrive("C:").SerialNumber Then
            Msgbox "Yes"
        Else
            Msgbox "No"
        End If
 
Last edited:
Upvote 0
Ok, in that case try
Code:
If Val(Status) = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber Then
 
Upvote 0
It works... Thank you. Can you explain the reason for the Val?
 
Upvote 0

Forum statistics

Threads
1,214,971
Messages
6,122,517
Members
449,088
Latest member
RandomExceller01

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top