Всем добрый день. У меня вопрос. есть макрос получения полного имени пользователя в Windows. Так вот как оказалось что не везде он работает и выдаёт вот такую ошибку: Run Time error "94" invalid use off null. Подскажите как это исправить и что можно с этим сделать? Спасибо.
Код
Public Function GetDiskInfo()
Dim pWMI As Object, pDisks As Object, pDisk As Object
Dim res As String, s As String
Set pWMI = GetObject("winmgmts:\\")
Set pDisks = pWMI.ExecQuery("Select * from Win32_DiskDrive Where BytesPerSector Is Not Null", , 48)
For Each pDisk In pDisks
s = TrimAll(pDisk.SerialNumber)
If Len(s) Then res = res & "-" & s
Next
GetDiskInfo = Mid(res, 2)
End Function
После срабатывания макроса должна выходить форма с номером После ошибки ругается на user form
Jungl, я не разбираюсь особо в макросах. просто вышел на связь человек. который этот макрос мне делал. что то там исправил, и я да же не знаю что. и всё заработало
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Option Explicit
Public Function GetDiskInfo() As String
Dim pWMI As Object, pDisks As Object, pDisk As Object
Dim res As String, s As String
Set pWMI = GetObject("winmgmts:\\")
If pWMI Is Nothing Then Exit Function
Set pDisks = pWMI.ExecQuery("Select * from Win32_DiskDrive Where BytesPerSector Is Not Null", , 48)
If pDisks Is Nothing Then Exit Function
For Each pDisk In pDisks
s = TrimAll(pDisk.SerialNumber & "")
If Len(s) Then res = res & "-" & s
Next
GetDiskInfo = Mid(res, 2)
End Function
Function TrimAll(ByVal s As String)
s = Replace(s, vbCrLf, " ")
s = Replace(s, vbLf, " ")
s = Replace(s, Chr(10), " ")
s = Replace(s, vbNewLine, " ")
s = Replace(s, vbTab, " ")
s = Replace(s, " ", "")
TrimAll = s
End Function
ВОТ РЕШЕНИЕ ПРОБЛЕММЫ, КТО ПОНИМАЕТ, ТОТ РАЗБЕРЁТСЯ. ЛИЧНО ДЛЯ МЕНЯ НИЧЕГО НЕ ПОНЯТНО. МЕНЯ ВОЛНОВАЛ КОНЕЧНЫЙ РЕЗУЛЬТАТ
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)