Weiß nicht ob der Betreff richtig ist, Ich habe diesen Code:
Option Explicit
Declare
Function GetVolumeInformationA Lib "kernel32" _
(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
Sub Festplatte_und_UserName_speichern() 'speichern unter Workbook BeforeClose
Dim SerialNumber As Long
Dim Username As String
GetVolumeInformationA "C:\", vbNullString, 0, SerialNumber, _
0, 0, vbNullString, 0
Sheets("Daten").Range("B2") = SerialNumber 'ließt Festplattennummer aus
Sheets("Daten").Range("C2") = Application.Username ' ließt Username aus
End Sub
Sub Festplatte_und_UserName_lesen() 'speichern unter Workbook Open
Dim SerialNumber As Long
Dim Username As String
Dim Text As String
Dim A As String
GetVolumeInformationA "C:\", vbNullString, 0, SerialNumber, _
0, 0, vbNullString, 0
Sheets("Daten").Range("D2") = SerialNumber 'ließt Festplattennummer aus
Sheets("Daten").Range("E2") = Application.Username ' ließt Username aus
If Sheets("Daten").Range("B2") = Sheets("Daten").Range("D2") And Sheets("Daten").Range("C2") = Sheets("Daten").Range("E2") Then
Sheets("Daten").Range("D2,E2").Delete
Else
Text = "Du versuchst diese Tabelle auf einem anderen Rechner zu öffnen!!!"
Text = Text & vbCrLf & "Dieses geht NICHT!!!"
Text = Text & vbCrLf & ""
Text = Text & "Diese Tabelle kann nur da geöffnet werden wo sie das erste mal geöffnet wurde."
Text = Text & vbCrLf & vbCrLf & "Diese Tabelle wird nun geschlossen."
A = MsgBox(Text, vbOKOnly + vbExclamation)
'ThisWorkbook.Close
End If
End Sub
Nun wollte ich mit diesem Code erreichen das der Username und die Festplattennummer gespeichert wird dieses geht ja auch. Wenn mann nun die Tabelle schließt
(hier z.B. wird mein Name und meine Nummer) gespeichert,öffne ich nun die Tabelle auf einem anderen Rechner kommt natürlich die Fehlermeldung und die Tabelle wird geschlossen
(ist aber noch aus) so soll es ja auch sein.Öffnet man aber nun diese Tabelle ein zweites mal schreibt es natürlich die neue Nummer und den Namen rein und mann kann wieder mit arbeiten.
Wie bekomme ich das nun hin das man die Tabelle nur jeweils einmal öffnen kann (auf ca.15 Rechnern)?
Der Username und Nummer schreibt sich dabei ein,kann es sein das man die Tabelle nur einmal speichern darf oder die Daten beim schließen wieder löschen muß?
Ich hoffe das ihr verstanden habt wie ich es meine.
Gruß Rene