66. Daten kopieren fast unmöglich

Aufgabenstellung:

Für diese Beispieldatei war die Aufgabenstellung, möglichst viele Funktionen, mit denen Daten in oder aus einer Datei kopiert werden können zu deaktivieren.

Diese Beispiele stehen auch als
Beispieldatei zum Download zur Verfügung.


Realisiert wurde das durch eine VBA-Lösung.

!!! Achtung !!!
Beim Deaktivieren der Funktionen muss vor dem Beenden von Excel das Makro zum wieder Aktivieren der Funktionen ausgeführt werden (z.B. durch ein Workbook_BeforeClose-Ereignis), da die Funktionen sich beim Beenden nicht von alleine wieder aktivieren und somit deaktiviert bleiben würden.

Der Code ist in ein StandardModul einzufügen

Option Explicit

Sub Funktionen_aktivieren()
With Application
    'Das RollUp Menü, was beim Betätigen der rechten Maustaste erscheint wird aktiviert
    .CommandBars("Toolbar List").Enabled = True
    'Die Funktion "Anpassen" Im Menüpunkt "Extras" wird aktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Extras").Controls("Anpassen...").Enabled = True
    'Die Funktion "Makro" Im Menüpunkt "Extras" wird aktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Extras").Controls("Makro").Enabled = True
    'Die Funktion "Datei" Im Menüpunkt "Speichern unter..." wird aktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Datei").Controls("Speichern unter...").Enabled = True
End With

'Tastenkombinationen einschalten
Application.OnKey "^x"
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"

'Drag & Drop wieder erlauben
Application.CellDragAndDrop = True

'Schaltflächen in Menüleiste => Bearbeiten aktivieren
'Ausschneiden
procControlEnableDisable 21, True
'Kopieren
procControlEnableDisable 19, True
'Einfügen
procControlEnableDisable 22, True
'Inhalte einfügen
procControlEnableDisable 755, True
'Office-&Zwischenablage
procControlEnableDisable 809, True
End Sub

Sub Funktionen_deaktivieren()
With Application
    'Das RollUp Menü, was beim Betätigen der rechten Maustaste erscheint wird deaktiviert
    .CommandBars("Toolbar List").Enabled = False
    'Die Funktion "Anpassen" Im Menüpunkt "Extras" wird deaktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Extras").Controls("Anpassen...").Enabled = False
    'Die Funktion "Makro" Im Menüpunkt "Extras" wird deaktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Extras").Controls("Makro").Enabled = False
    'Die Funktion "Makro" Im Menüpunkt "Extras" wird deaktiviert
    .CommandBars("Worksheet Menu Bar"). _
     Controls("Datei").Controls("Speichern unter...").Enabled = False
End With

'Tastenkombinationen deaktivieren
Application.OnKey "^x", ""
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""

'Drag & Drop ausschalten
Application.CellDragAndDrop = False

'Schaltflächen in Menüleiste => Bearbeiten aktivieren
'Ausschneiden
procControlEnableDisable 21, False
'Kopieren
procControlEnableDisable 19, False
'Einfügen
procControlEnableDisable 22, False
'Inhalte einfügen
procControlEnableDisable 755, False
'Office-&Zwischenablage
procControlEnableDisable 809, False
End Sub

Sub procControlEnableDisable(intId As Integer, _
bolStatus As Boolean)

Dim cmbSuche As CommandBar
Dim cmbcSteuerelement As CommandBarControl

On Error Resume Next

For Each cmbSuche In Application.CommandBars
Set cmbcSteuerelement = _
cmbSuche.FindControl(ID:=intId, recursive:=True)

If Not cmbcSteuerelement Is Nothing Then
cmbcSteuerelement.Enabled = bolStatus
End If
Next

End Sub

 


Dieses Beispiel wurde unter den in der Tabelle aufgeführten Versionen getestet.

  A B C D E
1        

2

 

Excel - Version

Getestet

 
3      
4   Excel 2007 12.0 a  
5   Excel 2003 11.0 a  
6   Excel 2002 10.0 a  
7   Excel 2000 9.0 a  
8   Excel 97 8.0    
9          
10   Anzahl der Downloads:

 
11          
12   Dieses Beispiel wurde bereits  x aufgerufen.  
13    
14          

 


> Beispieldatei herunterladen <

  Sollten beim Ausführen der Beispieldatei Fehler auftreten, bitte ich darum, mir eine Mail mit der Fehlerbeschreibung an fehler@excelbeispiele.de zu schicken.
Danke!

 Möchten Sie www.excelbeispiele.de in Ihre Favoriten aufnehmen? Dann Klicken Sie hier.
 

Kontakt:

letzte Aktualisierung am 06.01.2008

© 2004 - Copyright Oliver Scheckelhoff , All Rights Reserved