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

Datei nur öffnen, wenn Makros aktiviert sind?

Datei nur öffnen, wenn Makros aktiviert sind?
silex1
Hallo,
da ich ein VBA Vollpfosten bin, ich aber dies benötige, hät ich mal ne Frage.
In meiner erstellten Datei sind Makros enthalten. Diese werden benötigt, damit alles reibungslos funktioniert.
Kann meine Datei beim Aufruf prüfen ob die Makros aktiviert wurden?
Wenn ja starten, wenn nein Infobox ausgeben und bei ok drücken wortlos beenden! Wäre cool!
Hier noch der (zusammengeklaute) Code, in den dies ggf. eingebaut werden muss! Bitte nicht mich verhauen wg. SELECT oder anderen Fehlern, bin stolz aud diesen! :-))
  • 
    Sub Workbook_Open()
    For Each c In Application.CommandBars
    c.Enabled = False
    Next
    If Application.DisplayFormulaBar = True Then
    Application.DisplayFormulaBar = False
    End If
    Dim objBar As CommandBar
    Dim objPopUp As CommandBarPopup
    Dim objBtn As CommandBarButton
    Dim strBar As String
    strBar = "Navigation"
    On Error Resume Next
    Application.CommandBars(strBar).Delete
    On Error GoTo 0
    Set objBar = Application.CommandBars.Add( _
    Name:=strBar, _
    Position:=msoBarTop, _
    MenuBar:=False, _
    Temporary:=True)
    Set objBtn = objBar.Controls.Add
    With objBtn
    .Caption = "Start!"
    .OnAction = "Start"
    .TooltipText = "Bitte Button drücken, bevor neue Daten angelegt werden sollen!"
    'Style = msoButtonCaption
    .Style = msoButtonIconAndCaption
    .FaceId = 18
    .BeginGroup = True
    End With
    'hier folgen noch weiter Button´s
    With objBtn
    .Caption = "Hilfe"
    .OnAction = "Hilfe"
    .TooltipText = "Bedienungsanleitung"
    .Style = msoButtonIconAndCaption
    .FaceId = 49
    .BeginGroup = True
    End With
    objBar.Visible = True
    Msg = "Die überarbeitete Vorlage wird ohne Gewährleistung jeglicher Art, zur Verfügung  _
    gestellt." & vbCr & "In keinem Fall übernehme ich die Haftung für Schäden gleich welcher Art,   _
    _
    die durch die Verwendung dieser Vorlagen entstanden sein könnten." & vbCr & "" &
    vbCr & "Verwenden Sie diese Vorlage nicht, wenn Sie sich mit dem Haftungsauschluss nicht  _
    einverstanden erklären." & vbCr & "" & vbCr
    MsgBox Msg, vbExclamation Or vbOKOnly, "Willkommen!"
    Sheets("Berechnung").Select
    Range("B2").Select
    End Sub
    

  • Mit dankbaren grüßen, Rene

    7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: Datei nur öffnen, wenn Makros aktiviert sind?
    09.07.2010 22:40:45
    Mustafa
    Hallo Rene,
    ohne aktive Makros würde jeglicher Code in deiner Mappe gar nicht erst gestartet werden, somit auch nicht der Code der prüfen soll ob Makros aktiviert sind.
    Soweit gehts also nicht.
    Eine Möglichkeit wäre ein Deckblatt zu erstellen, und alle andren Sheets auszublenden.
    Wenn makros aktiviert sind das Deckblatt ausblenden lassen und alle relevanten Sheets einblenden.
    Sonst bleibt das Deckblatt aktiv und die mappe kann nicht bearbeitet werden.
    Rückmeldung obs hilft wäre nett.
    Gruß aus der Domstadt Köln.
    AW: Datei nur öffnen, wenn Makros aktiviert sind?
    09.07.2010 22:50:38
    silex1
    Hallo Mustafa,
    ja, dass mit den aktivierten Makros ist mir schon klar. Dachte nur, dass es doch auch gehen müsste!
    Wenn ich das mit dem Deckblatt machen würde, wie sehe dann der Code aus?
    mit dankbaren Grüßen, Rene
    Anzeige
    AW: Datei nur öffnen, wenn Makros aktiviert sind?
    09.07.2010 22:56:04
    Mustafa
    Hallo Rene,
    hier ein Beispiel.
    Code ist im Modul Arbeitsmappe:
    https://www.herber.de/bbs/user/70531.xls
    Rückmeldung obs hilft wäre nett.
    Gruß aus der Domstadt Köln.
    PS öffne einmal ohne aktive Makros und einmal mit
    09.07.2010 22:58:04
    Mustafa
    :-)
    wäre ne Alternative!
    09.07.2010 23:09:52
    silex1
    Hallo Mustafa,
    wenn ich es richtig verstanden hab, dann setzt ..close.. das Deckblatt als sichtbar. Wenn keine Makros aktiv, dann bleibt dieses Blatt ja e da und wenn Makros aktiv, dann läuft ...open... an?
    Wo und wie müsste ich dies allerdings in meinen Code einfügen?
    VG, Rene
    AW: wäre ne Alternative!
    10.07.2010 00:33:46
    Mustafa
    Hallo Rene,
    Den Code fügst du am besten an den Anfang ein.
    also so:
    Sub Workbook_Open()
    Sheets(2).Visible = True
    Sheets(3).Visible = True
    Sheets(1).Visible = False
    For Each c In Application.CommandBars
    c.Enabled = False
    Next
    If Application.DisplayFormulaBar = True Then
    Application.DisplayFormulaBar = False
    End If
    Dim objBar As CommandBar
    Dim objPopUp As CommandBarPopup
    Dim objBtn As CommandBarButton
    Dim strBar As String
    strBar = "Navigation"
    On Error Resume Next
    Application.CommandBars(strBar).Delete
    On Error GoTo 0
    Set objBar = Application.CommandBars.Add( _
    Name:=strBar, _
    Position:=msoBarTop, _
    MenuBar:=False, _
    Temporary:=True)
    Set objBtn = objBar.Controls.Add
    With objBtn
    .Caption = "Start!"
    .OnAction = "Start"
    .TooltipText = "Bitte Button drücken, bevor neue Daten angelegt werden sollen!"
    'Style = msoButtonCaption
    .Style = msoButtonIconAndCaption
    .FaceId = 18
    .BeginGroup = True
    End With
    'hier folgen noch weiter Button´s
    With objBtn
    .Caption = "Hilfe"
    .OnAction = "Hilfe"
    .TooltipText = "Bedienungsanleitung"
    .Style = msoButtonIconAndCaption
    .FaceId = 49
    .BeginGroup = True
    End With
    objBar.Visible = True
    Msg = "Die überarbeitete Vorlage wird ohne Gewährleistung jeglicher Art, zur Verfügung _
    gestellt." & vbCr & "In keinem Fall übernehme ich die Haftung für Schäden gleich welcher Art, _
    _
    die durch die Verwendung dieser Vorlagen entstanden sein könnten." & vbCr & "" &
    vbCr & "Verwenden Sie diese Vorlage nicht, wenn Sie sich mit dem Haftungsauschluss nicht _
    einverstanden erklären." & vbCr & "" & vbCr
    MsgBox Msg, vbExclamation Or vbOKOnly, "Willkommen!"
    Sheets("Berechnung").Select
    Range("B2").Select
    End Sub
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sheets(1).Visible = True
    Sheets(2).Visible = False
    Sheets(3).Visible = False
    End Sub
    

    Anzeige
    Besten Dank,
    11.07.2010 09:16:22
    silex1
    Hallo Mustafa,
    hab es jetzt eingebaut und es funktioniert. Ist so auch ggf. besser, da ich mehr Text unterbringen kann.
    Danke Dir nochmals und schönes Rest-WE, VG Rene

    110 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige