Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei nur öffnen wenn Makros aktiv

Datei nur öffnen wenn Makros aktiv
01.06.2006 07:08:17
Sebastian
Hallo,
Wie kann man das anstellen, dass eine Datei nur geöffnet wird, wenn die Makros aktiviert sind und ansonsten eben nicht?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei nur öffnen wenn Makros aktiv
01.06.2006 07:32:49
Harald
Moin Sebastian,
eine mögliche Vorgehensweise.
Nutze Workbook_Before Close und Workbook_Open Ereignis um beim Schließen der Datei die relevanten Blätter auszublenden (veryhidden) und ein Blatt mit Hinweis einzublenden.
Beim Öffnen das Hinweisblatt aus- die relevanten Blätter einblenden.
Öffnet man die Datei ohne Makros, ist nur das Hinweisblatt sichtbar
Gruss Harald
AW: Datei nur öffnen wenn Makros aktiv
01.06.2006 07:58:22
^Sebastian
HAst du vielleicht eine Marko idee?
AW: Datei nur öffnen wenn Makros aktiv
01.06.2006 08:03:50
Matthias
Hallo Sebastian,
diesen Code 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



Erstelle dann ein Blatt mit dem Namen der Konstante OhneMakros (im Codebeispiel "Warnung") und schreibe darauf die Infos, die der sehen soll, der die Mappe ohne Makros öffnet. Kunrz ist das Blatt immer zu sehen (je nach Dateigröße), also z.B.:
Wenn sie dieses Blatt llänger sehen können sind die Makros deaktiviert. Öffnen Sie die Mappe mit aktivierten Makros..." usw..
Viel Erfolg,
Matthias
Anzeige
AW: Datei nur öffnen wenn Makros aktiv
01.06.2006 08:12:23
Sebastian
Vielen Vielen Dank....

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige