Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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

copy/paste blockieren

copy/paste blockieren
26.03.2013 16:24:40
Sascha
Hallo allerseits
In einer Excel 2010 Datei soll Copy/Paste blockiert werden.
Die Datei ist freigegeben damit sie mehrere User gleichzeitig bearbeiten können, sie ist auch mit einem Kennwort geschützt damit die vielen benutzerdefinierten Formatierungen nicht geändert werden.
Die Tastenkombinationen "ctrl + c, x, v" konnte ich mit dem folgenden Code zum Teil ausschalten:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=373
...und mit eigener Fehlermeldung ergänzen.
Wenn man aber mit dem Rechtsklick eine Zelle anklickt, sind "Ausschneiden" und "Kopieren" zwar ausgeblendet, "Einfügen" (als Text) aber eingeblendet.
Auch die Buttons im Menüband Start sind eingeblendet (Einfügen, Ausschneiden, kopieren). Kann man irgendwie das alles in einer bestimmten Datei ausschalten?
freundlich grüsst
Sascha

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: copy/paste blockieren
26.03.2013 16:58:32
Hajo_Zi
Hallo Sascha,
falls es nur um die Datei geht, lösche bei Zellauswahl den Zwischenspeicher.
Application.DataEntryMode = False
vielleicht reich das.

AW: copy/paste blockieren
26.03.2013 17:23:09
Sascha
Hallo Hajo
Vielen Dank für die schnelle Antwort. Jedoch, entweder habe ich dein Vorschlag falsch verstanden oder es funktioniert nicht.
Folgendes habe ich versucht:
In VBA der gewünschten Datei, zunächst Mal im VBAProjekt "DieseArbeitsmappe" doppelklickt und dann den vorhandenen Code:
'*** In the ThisWorkbook Module ***
Option Explicit
Private Sub Workbook_Activate()
Call ToggleCutCopyAndPaste(False)
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ToggleCutCopyAndPaste(True)
End Sub
Private Sub Workbook_Deactivate()
Call ToggleCutCopyAndPaste(True)
End Sub
Private Sub Workbook_Open()
Call ToggleCutCopyAndPaste(False)
End Sub
am Schluss mit dem folgenden ergänzt:
'*** Zwischenspeicher bei Zellauswahl löschen ***
Private Sub Test1()
Application.DataEntryMode = False
End Sub

VBA geschlossen, Datei gespeichert und neu gestartet. Das funktionierte aber nicht, daher wieder gelöscht.
Dann habe ich auch im "Modul1" versucht, jedoch den Code am Anfang gesetzt:
'*** In a standard module ***
Option Explicit
'*** Zwischenspeicher bei Zellauswahl löschen ***
Sub Test1()
Application.DataEntryMode = False
End Sub
Sub ToggleCutCopyAndPaste(Allow As Boolean)
'Activate/deactivate cut, copy, paste and pastespecial menu items
Call EnableMenuItem(21, Allow) ' cut
Call EnableMenuItem(19, Allow) ' copy
Call EnableMenuItem(22, Allow) ' paste
Call EnableMenuItem(755, Allow) ' pastespecial
'Activate/deactivate drag and drop ability
Application.CellDragAndDrop = Allow
'Activate/deactivate cut, copy, paste and pastespecial shortcut keys
With Application
Select Case Allow
Case Is = False
.OnKey "^c", "CutCopyPasteDisabled"
.OnKey "^v", "CutCopyPasteDisabled"
.OnKey "^x", "CutCopyPasteDisabled"
.OnKey "+{DEL}", "CutCopyPasteDisabled"
.OnKey "^{INSERT}", "CutCopyPasteDisabled"
Case Is = True
.OnKey "^c"
.OnKey "^v"
.OnKey "^x"
.OnKey "+{DEL}"
.OnKey "^{INSERT}"
End Select
End With
End Sub
Sub EnableMenuItem(ctlId As Integer, Enabled As Boolean)
'Activate/Deactivate specific menu item
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl
For Each cBar In Application.CommandBars
If cBar.Name  "Clipboard" Then
Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True)
If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled
End If
Next
End Sub
Sub CutCopyPasteDisabled()
'Inform user that the functions have been disabled
MsgBox "Sorry!  Ausschneiden, kopieren und einfügen sind in dieser Tabelle ausgeschaltet!"
End Sub
Auch das hat leider nicht funktioniert.
gruss
Sascha

Anzeige
AW: copy/paste blockieren
26.03.2013 17:28:06
Hajo_Zi
Hallo Sascha,
ich hatte die falsche Zeile.
Application.CutCopyMode = False
ich sehe bei Dir kein Ereignis Selection.
Gruß Hajo

AW: copy/paste blockieren
26.03.2013 17:51:40
Sascha
Hallo Hajo
Sorry, da muss ich wohl aufgeben. Offenbar ist mein VBA-Level noch kleiner als bescheiden und ich habe versucht so genau wie möglich mein Problem zu beschreiben, aber deine Lösungsvorschläge sind mir einfach zu hoch. Oder ich setze sie falsch um.
Danke trotzdem
Gruss
Sascha

AW: copy/paste blockieren
26.03.2013 19:09:00
Hajo_Zi
Halo Sascha,
benutze unter DieseArbeitsmappe.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Gruß Hajo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige