A atual Suite Office instalada pela TI aqui na empresa, é de 64 Bits.
e me disseram que é este o motivo do erro na planilha; erros de compilação.
"Erro de compilação em módulo oculto: GET COMPUTER NAME"
o código é esse ; como faço pra resolver?
Option Private Module
Option Explicit
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) As Long
Sub Get_Computer_Name()
Dim linha As Long
Dim XCar1 As Byte
Dim XCar11 As Byte
Dim XCar2 As Byte
Dim XCar3 As Byte
Dim XDay As Long
Dim XWeekday As Long
Dim XSenha As Long
Dim XNum As Long
Dim XMaq As Long
Dim Usuario As String
Dim Maquina As String
Dim Comp_Name_B As String * 255
Dim Comp_Name As String
GetComputerName Comp_Name_B, Len(Comp_Name_B)
Comp_Name = Left(Comp_Name_B, InStr(Comp_Name_B, Chr(0)))
Dim lpBuff As String * 25
Dim ret As Long, UserName As String
ret = GetUserName(lpBuff, 25)
XDay = Day(Now)
XWeekday = Weekday(Now, vbSunday)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
Desprot2
Plan5.Visible = xlSheetVisible
Plan5.Select
Plan5.Range("A1").Select
Desprot
Plan5.Range("CA65000").End(xlUp).Offset(1, 0).Value = Int(Now)
Plan5.Range("CA65000").End(xlUp).Offset(0, 1).Value = UCase(UserName)
Plan5.Range("CA65000").End(xlUp).Offset(0, 2).Value = Comp_Name
' Acha a ultima linha vazia
linha = Plan5.Range("CD65000").End(xlUp).Row + 1
' Pega o Nome do Usuário na Coluna B+Linha
Usuario = UCase$(Range("CB" & linha)) 'Coluna onde entra o usuario
Maquina = UCase$(Range("CC" & linha)) 'Coluna onde entra a maquina
' Pega o terceiro caracter para ver se é um número
XCar1 = Asc(Mid$(Usuario, 3, 1))
' Pega o sexto caracter do nome da maquina para ver se é um número
XCar11 = Asc(Mid$(Maquina, 10, 1))
' Compara se o Usuário começa com C ou E e se o 3º caracter é um número (se não for número, então é um Usuario normal)
If (Left$(Usuario, 1) = "C" And XCar1 < 65) Or (Left$(Usuario, 1) = "E" And XCar1 < 65) Then
XNum = Int(Val(Right$(Usuario, 5)) / 2)
XMaq = Int(Val(Right$(Maquina, 4)) / 35)
XSenha = XNum + Int(Now) + Int(XDay * XWeekday) + XMaq
GoTo NumSenha
End If
' Pega o valor ASC do primeiro caracter do Nome do Usuário
XCar1 = Asc(Left$((Usuario), 1))
' Pega o valor ASC do segundo caracter do Nome do Usuário
XCar2 = Asc(Mid$((Usuario), 2, 1))
' Pega o valor ASC do terceiro caracter do Nome do Usuário
XCar3 = Asc(Mid$((Usuario), 3, 1))
' Forma a "SENHA" pela soma dos códigos ASC do Nome do Usuário mais a data atual
XSenha = XCar1 + XCar2 + XCar3 + Int(Now) + Int(XDay * XWeekday) + XMaq
' Coloca a "SENHA" na célula CD+Linha
NumSenha:
Plan5.Range("CA65000").End(xlUp).Offset(0, 3) = XSenha
Plan1.Visible = xlSheetVisible
Plan1.Select
Desprot
Plan1.Range("B3").Value = XSenha + (XWeekday * 7000)
Prot
'With Selection.Font
'.Color = -16711681
' .TintAndShade = 0
' End With
Plan1.Visible = xlSheetVeryHidden
Prot2
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 26/04/2013 6:36 am