Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makros aktivieren/deaktivieren

Makros aktivieren/deaktivieren
11.05.2006 08:27:08
Harald G.
Hallo zusammen.
Ich habe eine Datei (mit Makros) die von vielen Anwendern benutzt wird.
Voraussetzung für die fehlerfreie Nutzung der Datei ist, dass beim Öffnen auf "Makros aktivieren" geklickt wird.
Gibt es eine Möglichkeit, dass die Datei nur mit aktivierten Makros geöffnet werden kann.
Wenn nicht:
Gibt es einen VBA-Code, der bei deaktivierten Makros ein Infofenster öffnet ? (Beispiel: Achtung, Makros müssen aktiviert werden um diese Datei nutzen zu können !"
Hinweis: Die Standardeinstellung in unserer Firma ist "Makrosicherheit mittel" und kann nicht geändert werden.
Vielen Dank im voraus.
Gruß, Harald.

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

Betreff
Datum
Anwender
Anzeige
AW: Makros aktivieren/deaktivieren
11.05.2006 08:46:12
Harald E
Moin Harald,
eine Möglichkeit wäre beim Schließen der Datei Workbook_BeforeClose-Ereignis
- ein Tabellenblatt mit dem Hinweis "Makros müssen aktiviert sein" einblenden
Sheets("Hinweis").Visible = True
- die relevanten Blätter ausblenden
Sheets("Tabelle2").Visible = xlVeryHidden
Sheets("Tabelle3").Visible = xlVeryHidden
daraus folgen 2 Möglichkeiten beim Öffnen:
mit aktivierten Makros per Workbook_Open-Ereignis
- die relevanten Blätter beim Öffnen einblenden
Sheets("Tabelle2").Visible = True
- das Hinweisblatt ausblenden
Sheets("Hinweis").Visible = xlVeryHidden
mit nicht aktivierten Makros
-relevante Blätter bleiben unsichtbar
- Hinweisblatt bleibt sichtbar
Gruss Harald
Anzeige
AW: Makros aktivieren/deaktivieren
11.05.2006 09:50:00
Matthias G
Hallo Haralds,
eine Möglichkeit zur Umsetzung von Harald Es Vorschlag:
in DieseArbeitsmappe:

Option Explicit
Const OhneMakros = "Warnung" 'Name des Blattes mit der Info
Const pwWarnung = "12345" 'Kennwort des Blattes mit der Info
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.Saved = False Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Me.Name & "' gespeichert werden?", vbYesNoCancel + vbExclamation)
Case vbYes
Speichern
Case vbNo
Me.Saved = True
Case vbCancel
Cancel = True
End Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
If SaveAsUI Then
MsgBox "Speichern unter... nicht möglich!" 'müsste falls erforderlich noch erweitert werden
Else
Speichern
End If
End Sub
Private Sub Workbook_Open()
AllesEinblenden
On Error Resume Next
'beim Speichern gemerktes aktives Blatt anzeigen:
Sheets(Sheets(OhneMakros).Cells(Rows.Count, Columns.Count).Value).Activate
Me.Saved = True
End Sub
Private Sub AllesAusblenden()
Dim sh As Worksheet
Sheets(OhneMakros).Visible = True
For Each sh In Me.Worksheets
If sh.Name <> OhneMakros Then sh.Visible = xlSheetVeryHidden
Next sh
End Sub
Private Sub AllesEinblenden()
Dim sh As Worksheet
For Each sh In Me.Worksheets
sh.Visible = True
Next sh
Sheets(OhneMakros).Visible = xlSheetVeryHidden
End Sub
Private Sub Speichern()
Dim sh As Worksheet
Dim fehler As Boolean
Set sh = ActiveSheet
'geöffnetes Blatt merken:
With Sheets(OhneMakros)
.Unprotect Password:=pwWarnung
.Cells(Rows.Count, Columns.Count) = sh.Name
.Protect Password:=pwWarnung
End With
Application.EnableEvents = False
Application.ScreenUpdating = False
AllesAusblenden
On Error Resume Next
Me.Save
If Err.Number > 0 Then
MsgBox Err.Description, , "Fehler " & Err.Number
fehler = True
End If
On Error GoTo 0
AllesEinblenden
sh.Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not fehler Then Me.Saved = True
End Sub



Dann ein Blatt erstellen, ihm den Namen "Warnung" (Anpassung des Namens im Code möglich) geben und mit einem Hinweis versehen.
Einschränkung: Der Befehl "Speichern unter..." ist mit diesem Code nicht mehr möglich.
Gruß
Matthias
Anzeige
AW: Makros aktivieren/deaktivieren - Danke
11.05.2006 11:30:24
Harald G.
Hallo Harald E., Matthias G. und Tassos!
Vielen Dank für Eure Lösungsansätze.
Da ist garantiert was für mich dabei.
Muss mich aber in Ruhe damit auseinandersetzen.
Gruß Harald G.
AW: Makros aktivieren/deaktivieren - Danke
11.05.2006 11:30:33
Harald G.
Hallo Harald E., Matthias G. und Tassos!
Vielen Dank für Eure Lösungsansätze.
Da ist garantiert was für mich dabei.
Muss mich aber in Ruhe damit auseinandersetzen.
Gruß Harald G.
AW: Makros aktivieren/deaktivieren
11.05.2006 08:55:12
Tassos
Hallo Harald,
Im Notepad folgendes kopieren und Pfad anpassen:
Dim objExcel
Dim objWorkBook
Set objExcel = CreateObject("EXCEL.APPLICATION")
Set objWorkBook = objExcel.Workbooks.Open("J:\Werkstatt\Werkstättenleitung\Mappe.xls")
Beim Speichern der Textdatei:
Dateityp = Alle Dateien
Name = Irgenwas.vbs
Mit Doppelklick auf dieser Datei startet die Mappe ohne Makro-Sicherheitswarnung.
Gruss
Tassos
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige