Hallo,
mit dem Makro:
++++++++++++++++++++++++++++++++++++++
Sub Schutz_Tabellenblatt
Dim objDatei As Object
Dim objBlaetter As Object
Dim objBlatt As Object
objDatei = ThisComponent
objBlaetter = objDatei.Sheets
objBlatt = objDatei.Sheets(0)
If objBlatt.isProtected() = True Then
objBlatt.unprotect("")
MsgBox "Schutz auf"
Else
objBlatt.protect("")
MsgBox "Schutz zu"
End If
End Sub
++++++++++++++++++++++++++++
schütze ich ein Tabellenblatt bzw. heben den Schutz auf.
Wie ändere ich das Makro ab, damit (alle) Tabellenblätter geschützt sind.
mfg
mike6
Alle Tabellenblätter schützen
Moderator: Moderatoren
In dem Du eine Schleife über alle Tabellenblätter machst und jedes einzeln schützt.
mfg
Michael
Code: Alles auswählen
myDoc = thisComponent
Anzahl=myDoc.Sheets.count
For i=0 to Anzahl-1
objBlatt = myDoc.Sheets(i)
If objBlatt.isProtected() = True Then
objBlatt.unprotect("")
MsgBox "Schutz auf"
Else
objBlatt.protect("")
MsgBox "Schutz zu"
End If
Next i
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
FAQ zu Starbasic -> http://www.starbasicfaq.de
Hallo,
das nachfolgende makro schützt alle Tabellenblätter.
++++++++++++++++++++++++++++++++++++
Sub Schutz_Tabellenblatt
Dim objDatei As Object
Dim objBlaetter As Object
Dim objBlatt As Object
myDoc = thisComponent
Anzahl=myDoc.Sheets.count
For i=0 to Anzahl-1
objBlatt = myDoc.Sheets(i)
If objBlatt.isProtected() = True Then
objBlatt.unprotect("")
MsgBox "Schutz auf"
Else
objBlatt.protect("")
MsgBox "Schutz zu"
End If
Next i
End Sub
++++++++++++++++++++++++++++++++++++
Leider hat es noch einen kleinen Fehler.
Wenn ich 40 Tabellenblätter damit schütze, kommt 40 x
die MsgBox "Schutz zu ".
Wie kann ich das noch abstellen?
mfg
mike6
das nachfolgende makro schützt alle Tabellenblätter.
++++++++++++++++++++++++++++++++++++
Sub Schutz_Tabellenblatt
Dim objDatei As Object
Dim objBlaetter As Object
Dim objBlatt As Object
myDoc = thisComponent
Anzahl=myDoc.Sheets.count
For i=0 to Anzahl-1
objBlatt = myDoc.Sheets(i)
If objBlatt.isProtected() = True Then
objBlatt.unprotect("")
MsgBox "Schutz auf"
Else
objBlatt.protect("")
MsgBox "Schutz zu"
End If
Next i
End Sub
++++++++++++++++++++++++++++++++++++
Leider hat es noch einen kleinen Fehler.
Wenn ich 40 Tabellenblätter damit schütze, kommt 40 x
die MsgBox "Schutz zu ".
Wie kann ich das noch abstellen?
mfg
mike6
Wir kennen Deine Anforderungen ja garnicht. Es könnte sein das bestimmte Einzelblätter unter bestimmten Bedingungen gemeldet werden sollen.
Ohne Rücksicht darauf brauchst Du doch lediglich die Anzeige nach der Schleife erfolgen zu lassen. Meinethalben so:
keine Ahnung ob das für Dich zweckmäßig ist.
Gruß
Stephan
Ohne Rücksicht darauf brauchst Du doch lediglich die Anzeige nach der Schleife erfolgen zu lassen. Meinethalben so:
Code: Alles auswählen
Sub Schutz_Tabellenblatt
Dim objDatei As Object
Dim objBlaetter As Object
Dim objBlatt As Object
myDoc = thisComponent
Anzahl=myDoc.Sheets.count
For i=0 to Anzahl-1
objBlatt = myDoc.Sheets(i)
If objBlatt.isProtected() = True Then
objBlatt.unprotect("")
zustand = "auf"
Else
objBlatt.protect("")
zustand = "zu"
End If
Next i
MsgBox "Schutz " & zustand
End Sub
Gruß
Stephan