Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler VB Script

Fehler VB Script
05.10.2016 16:51:02
hermann
Hallo Specialists,
ich habe ein Problem beim Aufbereiten von Excelsheets aus unserem ERP. Die Daten werden per VBS Script importiert und aufbereitet. So weit, so gut.
Nun möchte ich das Sheet mit einem Passwortschutz versehen das mir beim besten Willen nicht gelingen will. Der User soll das Sheet nicht verändern dürfen (außer bestimmte Bereiche).
Mein Script sieht mit den entsprechenden Anweisungen so aus:
.
Set objWb = objXL.ActiveWorkBook.WorkSheets(1)
.
objWb.Sheets(1).Protect password:="password"
.
Beim Aufruf erscheint dann die Fehlermeldung: "Anweisung erwartet!"
Was mache ich im Script falsch? Wie bringe ich das Script richtig zum Laufen?
Danke im Voraus
Hermann

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler VB Script
05.10.2016 17:10:49
Nepumuk
Hallo,
so, denn objWb ist ja die Tabelle und in VBS darfst du keine benannten Parameter benutzen:
objWb.Protect "password"
Gruß
Nepumuk
AW: Fehler VB Script
05.10.2016 17:11:09
PeTeR
Hi Hermann,
mus der Befehl nicht objWb.Protect password:="password" lauten?
Das WorkSheet(1) ist ja schon inder Objektvariablen definiert worden.
Viel Erfolg
PeTeR
AW: Fehler VB Script
06.10.2016 07:31:31
hermann
Vielen Dank für die raschen Antworten!
Ich habe natürlich beide Varianten sofort ausprobiert!
ad Nepumuk) die Scriptzeile objwb.protect Password:="Password" liefert die Meldung: "Anweisung erwartet" und funktioniert leider nicht
ad PeTeR) die Scriptzeile objwb.protect "Password" hat funktioniert!!!! Wie kann ich aber die verschiedenen Parameter mitgeben? Ich denke an DrawingObjects:=True, Contens:=True, Scenarios:=True, etc. Der User soll nur die "nicht gesperrten" Zellen auswählen und bearbeiten können!
Danke im Voraus
Hermann
Anzeige
AW: Fehler VB Script
06.10.2016 08:33:07
Nepumuk
Hallo,
du musst einfach die Kommata zählen du einsetzen.
expression .Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
In deinem Fall also:
objWb.Protect "password", True, True, True ...
Für ausgelassene Parameter musst du ein Komma einsetzen.
Gruß
Nepumuk
AW: Fehler VB Script
06.10.2016 10:46:23
hermann
Hallo Nepumuk!
Ich habe im Script jetzt eingebaut objwb.protect "Password",,True
Vorab: das Script läuft dank deiner Hilfe jetzt durch. Leider funktioniert nur der Passwortschutz. Der User kann aber noch immer auf gesperrte Zellen klicken. Ich habe angeführte Kombinationen versucht mit folgenden Ergebnis:
1) objwb.protect "Password"
Zugriff möglich - Dateninhalt ändern gesperrt
2) objwb.protect "Password", True, True, True
Zugriff möglich - Dateninhalt ändern gesperrt
3) objwb.Protect "Password", False, False, False
Sheet ist nicht Passwort geschützt
4) objwb.Protect "Password",,True
Zugriff möglich - Dateninhalt ändern möglich
Ein aufgezeichnetes Macro mit dem gewünschten Ergebnis lautet:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Dies würde meiner Meinung nach dem Pkt. 2) entsprechen - leider ohne Erfolg!
Kannst du mir bitte noch einmal zur Hand gehen?
Danke
Hermann
Anzeige
AW: Fehler VB Script
06.10.2016 12:12:52
Nepumuk
Hallo,
teste mal:
With objwb
.Protect "Password"
.EnableSelection = 1
End With

Gruß
Nepumuk
AW: nur so neben bei:..
06.10.2016 12:19:20
Daniel
Wenn du eine Worksheet-Variabel erstellst, sollest du im Namen nicht "wb" als Prä-, Postfix oder sonstiges Kürzel verwenden, weil "wb" normalerweise für ein Workbook (Mappe) steht.
also wenn dann "objws" oder "objwsh" oder "objsh"
gruß Daniel
AW: nur so neben bei:..
06.10.2016 14:51:30
hermann
Hallo Nepumuk!
.EnableSelection = 1 hat das Problem gelöst. Jetzt funktioniert das Script wunderbar.
Vielen Dank für deine Unterstützung
Hermann

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige