gpt4 book ai didi

excel - 多平台Windows和MAC电脑识别

转载 作者:行者123 更新时间:2023-12-04 19:50:24 25 4
gpt4 key购买 nike

是否有任何多平台方法来识别用户帐户、系统或整个计算机?像这样的东西:

CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber

它可能会使用一些用户名和其他变量的组合来构建(非常)唯一的 ID 文本/数字。也许我应该使用 Environ?但是我在哪里可以找到完整的多平台 Environ 工作变量列表?它还可以使用操作系统标识。

编辑一些起始代码来澄清我的问题

Sub GenerateID()

#If Mac Then
'------- Mac ---------------
MsgBox MacIdNumber
#Else
'------- Windows -----------
MsgBox WindowsIdNumber
#End If
End Sub

Function MacIdNumber() As Long

Dim str1, str2, str3 ' str4, str5...
str1 = VBA.Environ$("USER")
str2 = Application.Version
str3 = Application.OperatingSystem
' and here I am looking for another ideas
' str4 = ...???
MacIdNumber = CreateUniqueId(str1, str2, str3)
End Function

Function WindowsIdNumber() As Long

Dim str1, str2, str3, str4 ', str5...
str1 = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber
str2 = VBA.Environ$("USERNAME")
str3 = Application.Version
str4 = Application.OperatingSystem
' and here I am looking for another ideas
' str5 = ...???
' but maybe for Windows disc SerialNumber is enough
WindowsIdNumber = CreateUniqueId(str1, str2, str3, str4)
End Function

Function CreateUniqueId(ParamArray str() As Variant) As Long

' here I'll make checksum
' some calculations...
End Function

我正在尝试获得尽可能唯一的 ID 字符串(但我知道它可能不会 100% 唯一)。

对于 MAC 2016 及更高版本以及 Windows 版本,它必须以可靠的方式工作。所以如果你用苹果脚本给出一个想法——我必须确保不会发生无限循环/错误。

我是 Windows 用户,我现在无法在 MAC 上测试它。

最佳答案

这是您正在尝试的吗?在 Excel 2016 (Mac/Windows) 上测试它

Option Explicit

Sub GenerateID()
#If Mac Then
'------- Mac ---------------
MsgBox GetUniqueID("Mac")
#Else
'------- Windows -----------
MsgBox GetUniqueID("Win")
#End If
End Sub

Private Function GetUniqueID(sys As String) As String
Select Case sys
Case "Mac"
'~~> Ref: http://www.rondebruin.nl/mac/mac003.htm
Dim AppleScript As String
AppleScript = "set uuid to do shell script ""system_profiler SPHardwareDataType" & _
" | awk '/Hardware UUID:/ {print $NF}'"""

On Error Resume Next
GetUniqueID = MacScript(AppleScript)
On Error GoTo 0
Case "Win"
GetUniqueID = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber
End Select
End Function

截图

enter image description here

关于excel - 多平台Windows和MAC电脑识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63636678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com