• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Een code negeren in een andere code "Opslaan als"

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
352
Hallo,

ik zit weer eventjes vast. In een bestand gebruik ik volgende code waarin gecontroleerd wordt wie het bestand opent en indien voldaan aan de UserName een ander programma gestart wordt:

Code:
Private Sub Workbook_Open()
  
    ' The name of the current user
        Dim UserName As String
  
    ' On opening, find out who this is (and convert to lower case)
        UserName = LCase(Environ("UserName"))

    ' If this is True ...
        Select Case UserName
        Case "2216"

    ' Display a greeting
        MsgBox "Hallo Yves, u bent aangemeld als beheerder", , "Welkom"
    
    ' OPN-2001 Software Wedge starten
        Call Auto_Open_OPN2001_Software_Wedge

        Case Else
    ' Otherwise, just continue

    End Select

End Sub

Voor dit te laten werken heb ik wel onder Tools en References nog een Library moeten aanvinken. En hier wringt het schoentje. In hetzelfde document gebruik ik ook volgende code waarbij ik een kopie maak en een bepaalde knop verberg die de gebruiker niet nodig heeft:

Code:
Sub SaveAsUser()

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    ActiveSheet.Shapes("Button 3").Visible = False

    ActiveWorkbook.SaveCopyAs "C:\20. Professional Documents and Folders\20.16 EGVF\" & _
                                "StockList" & _
                                " - Gebruiker" & _
                                ".xlsm"

    MsgBox "Opgeslagen als:" & vbCrLf & "C:\20. Professional Documents and Folders\20.16 EGVF" & "\" & "StockList - Gebruiker", vbInformation, "Klaar!"

    ActiveSheet.Shapes("Button 3").Visible = True

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub

Indien iemand dit "gebruiker" bestand opent krijgt deze een foutmelding op de Library omdat deze in zijn Excel niet aangevinkt is. Iedereen dit laten aanvinken is dus een onbegonnen werk. Ik zou dus in de code "SaveAsUser" een lijn willen toevoegen die bijvoorbeeld de code "Private Sub Workbook_Open" niet mee opslaat. Is dit mogelijk of zoek ik het te ver?

Ik weet nu ook niet goed of ik best een voorbeeld bestand bijvoeg omdat ook als bij jullie die Library niet aangevinkt is jullie ook deze foutmelding zullen krijgen.

Alvast bedankt voor jullie reacties.

mvg
 
Zet voor de regel die de fout veroorzaakt dit:
On Error Resume Next

En dit na die regel:
On Error Goto 0
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan