Results 1 to 1 of 1

Thread: Force a user to enable macros in Powerpoint? Hide sheets until the "enable" button is clicked

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Junior Member
    Join Date
    Oct 2016
    Posts
    1
    Rep Power
    0

    Force a user to enable macros in Powerpoint? Hide sheets until the "enable" button is clicked

    I am in need of a technique to ensure the user has enabled macros. Possibly, a particular method that could hide all slides except a "welcome" sheet which tells the user to enable macros, and is enforced every time the workbook is saved. I do have code, but it's for Excel. Is there any way to do this in Powerpoint?


    Code:
    Option Explicit 
    
     Const WelcomePage = "Macros" 
    
     Private Sub Workbook_BeforeClose(Cancel As Boolean) 
     'Turn off events to prevent unwanted loops
     Application.EnableEvents = False 
    
     'Evaluate if workbook is saved and emulate default propmts
     With ThisWorkbook 
     If Not .Saved Then 
     Select Case MsgBox("Do you want to save the changes you made to '" & .Name & "'?", _ 
     vbYesNoCancel + vbExclamation) 
     Case Is = vbYes 
     'Call customized save routine
     Call CustomSave 
     Case Is = vbNo 
     'Do not save
     Case Is = vbCancel 
     'Set up procedure to cancel close
     Cancel = True 
     End Select 
     End If 
    
     'If Cancel was clicked, turn events back on and cancel close,
     'otherwise close the workbook without saving further changes
     If Not Cancel = True Then 
     .Saved = True 
     Application.EnableEvents = True 
     .Close savechanges:=False 
     Else 
     Application.EnableEvents = True 
     End If 
     End With 
     End Sub 
    
     Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
     'Turn off events to prevent unwanted loops
     Application.EnableEvents = False 
    
     'Call customized save routine and set workbook's saved property to true
     '(To cancel regular saving)
     Call CustomSave(SaveAsUI) 
     Cancel = True 
    
     'Turn events back on an set saved property to true
     Application.EnableEvents = True 
     ThisWorkbook.Saved = True 
     End Sub 
    
     Private Sub Workbook_Open() 
     'Unhide all worksheets
     Application.ScreenUpdating = False 
     Call ShowAllSheets 
     Application.ScreenUpdating = True 
     End Sub 
    
     Private Sub CustomSave(Optional SaveAs As Boolean) 
     Dim ws As Worksheet, aWs As Worksheet, newFname As String 
     'Turn off screen flashing
     Application.ScreenUpdating = False 
    
     'Record active worksheet
     Set aWs = ActiveSheet 
    
     'Hide all sheets
     Call HideAllSheets 
    
     'Save workbook directly or prompt for saveas filename
     If SaveAs = True Then 
     newFname = Application.GetSaveAsFilename( _ 
     fileFilter:="Excel Files (*.xls), *.xls") 
     If Not newFname = "False" Then ThisWorkbook.SaveAs newFname 
     Else 
     ThisWorkbook.Save 
     End If 
    
     'Restore file to where user was
     Call ShowAllSheets 
     aWs.Activate 
    
     'Restore screen updates
     Application.ScreenUpdating = True 
     End Sub 
    
     Private Sub HideAllSheets() 
     'Hide all worksheets except the macro welcome page
     Dim ws As Worksheet 
    
     Worksheets(WelcomePage).Visible = xlSheetVisible 
    
     For Each ws In ThisWorkbook.Worksheets 
     If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVeryHidden 
     Next ws 
    
     Worksheets(WelcomePage).Activate 
     End Sub 
    
     Private Sub ShowAllSheets() 
     'Show all worksheets except the macro welcome page
    
     Dim ws As Worksheet 
    
     For Each ws In ThisWorkbook.Worksheets 
     If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVisible 
     Next ws 
    
     Worksheets(WelcomePage).Visible = xlSheetVeryHidden 
     End Sub
    Last edited by Admin; 10-05-2016 at 07:32 AM. Reason: code tag added

Similar Threads

  1. VBA Versions of my "Get Field" and "Get Reverse Field" formulas
    By Rick Rothstein in forum Rick Rothstein's Corner
    Replies: 4
    Last Post: 06-02-2017, 06:15 PM
  2. Replies: 1
    Last Post: 02-10-2015, 09:41 AM
  3. Reversing a "First Middle Last" Name to "Last, First Middle" Name Format
    By Rick Rothstein in forum Rick Rothstein's Corner
    Replies: 5
    Last Post: 01-06-2014, 10:04 PM
  4. Replies: 4
    Last Post: 09-09-2013, 05:13 PM
  5. Ordinal Suffix (i.e., "st", "nd", "rd" and "th")
    By Rick Rothstein in forum Rick Rothstein's Corner
    Replies: 0
    Last Post: 03-20-2012, 03:46 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •