Codigo Vba project en excel
Quisiera me ayudarn a traducir lo siguiente:
Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Sub Workbook_Open()
Dim unidad As String
'Variable que retorna el Numero de serie del volumen
Dim Nserie, NserieNuevo, ClaveAutorizada, ClaveUsuario As String
'Para almacenar el sistema de archivos
Dim sistemaArchivos As String
'Para retornar el nombre del volumen
Dim volumen As String
'Para saber si funcionó o no la llamada a la función Api
Dim retorno As Long
volumen = String$(255, Chr$(0))
sistemaArchivos = String$(255, Chr$(0))
unidad = "C:\"
'Llamamos a la función, pasandole las variables
retorno = GetVolumeInformation(unidad, volumen, Len(volumen), Nserie, 0, 0, sistemaArchivos, Len(sistemaArchivos))
NserieNuevo = Val(Nserie) * 17 + 3571
Hoja1.Cells(6, 10) = NserieNuevo
ClaveAutorizada = Int(NserieNuevo / 23) - 51327
If Hoja1.Cells(7, 10) <> ClaveAutorizada Then
ClaveUsuario = Val(InputBox("No de Serie: " & NserieNuevo & " Escriba la clave autorizada"))
If ClaveUsuario = ClaveAutorizada Then
MsgBox ("Sistema Activado")
Hoja1.Cells(7, 10) = ClaveAutorizada
ThisWorkbook.Save
Else:
MsgBox ("Incorrecta contactar a: Supervisor")
ThisWorkbook.Save
ThisWorkbook.Close
End If
End If
Range("Z1").Select
ActiveCell.FormulaR1C1 = "Paquete"
Range("Z2").Select
ActiveCell.FormulaR1C1 = " "
Range("D5").Select
End Sub