Hallo VBA-Gemeinde,
folgendes Problem, ich möchte ein Excel-tool das auch auf MAC-Systemen eingesetzt werden soll, mit einem "einfachen" Schutz versehen, derart dass das tool nur in Verbindung mit einer verschlüsselten rechnerspezifischen "key2"-txt-Datei, wo unter anderem die Festplatten-SerialNr des Kundenrechners drin steht, funktioniert. Diese SerialNr wird vorab vom Kunden per VBA in die "key1"-txt-Datei ausgelesen und mir zugeschickt, ich erweitere sie per VBA und mach daraus die erwähnte key2-Datei, schicke sie zurück und dann kann der Kunde das tool laufen lassen. Unter Windows funktioniert das super. :-) Ist bestimmt kein 100%-Schutz, weiß ich, reicht aber.
Das funktioniert aber leider nicht auf einem MAC... Ich habe schon recherchiert und auch chatGPT bemüht, finde aber keine funktionierende Lösung.
Also ich muss lediglich etwas Rechner-spezifisches (z.B. die FestplattenSerialNr) per VBA in einen string einlesen.
Weiß jemand was funktionieren könnte auf einem MAC?
Die folgenden Codeauszüge habe ich bereits ausprobiert, sie liefern aber immer Fehler. :-\
strCommand = "system_profiler SPStorageDataType | grep 'Serial Number' | awk '{print $NF}'"
strSerialNumber = MacScript(strCommand) ' liefert Fehlermeldung
oder so:
strScript = "do shell script ""diskutil info / | grep 'Serial Number' | awk '{print $3}'"""
strSerialNumber = AppleScriptTask(strScript, "") ' liefert Fehlermeldung
'oder auch:
strSerialNumber = AppleScriptTask(strScript, "", "-psn") ' liefert Fehlermeldung
'oder auch:
strSerialNumber = Trim(AppleScriptTask(strScript, "", "-psn")) ' liefert Fehlermeldung
oder so:
Dim lPSN As LongPtr
strScript = "do shell script ""diskutil info / | grep 'Serial Number' | awk '{print $3}'"""
lPSN = CLngPtr(Application.Windows(ThisWorkbook.Name).Hwnd)
strSerialNumber = AppleScriptTask(strScript, "Serial Number", lPSN) ' liefert Fehlermeldung
Vielen lieben Dank schonmal fürs Überlegen !!