• 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.

template met macros oplaan als bestand met macros

Status
Niet open voor verdere reacties.

spa123

Gebruiker
Lid geworden
3 jun 2015
Berichten
26
Hoe kan het volgende want het lijkt wel een bug in excel.

Ik heb een xltm bestand, template bestand met macros dus
Als ik dit template bestand bewerk en wil opslaan komt excel standaard met xlsx.
Wat mij betreft onlogisch wat de template bevat macros, vraag dan ook bij opslaan als standaard dit bestand op te slaan als extentie met makros.

Maargoed dat is 1 punt, dan het volgende als ik dan kies voor xlsm. (excel met macros)
Dan komt hierna excel met de volgende melding:

De volgende zaken kunnen niet worden opgeslagen in werkmappen zonder macro's.
* VB-project

Als u een bestand met deze functies wilt opslaan, klikt u op Nee en kiest u vervolgens een bestandstype met macro's in de lijst Bestandstype.

Klik op Ja om het bestand op te slaan als een werkmap zonder macro's.

Als ik hier nee kies ga ik terug naar opslaan de enige keuze is dan in deze lijst bestandstype xlsm. (ook de enige juiste keuze)
Maar hierna krijg ik weer dezelfde popupbox met de melding hier boven.

Als ik ja kies is het bestand "gesloopt" omdat de macro's zijn verdwenen....
 
Laatst bewerkt:
Je kan met Opslaan als kiezen voor Excel sjabloon met macro's (.xltm)
 
Het bestand wat ik open is al een xltm bestand.
Na het bewerken van dit bestand wil ik het opslaan en uiteraard niet de xltm overschrijven.
Opslaan als template bestand is niet nodig want ik heb al een template dus zou een normaal excel bestand met macros moeten zijn. ( xlsm.)

Met hierna de problemen zoals hierboven omschreven.
 
Dan sla je het toch op als .xlsm? Dat is ook een keuze bij Opslaan als. Je moet het wel kiezen en niet alleen de extensie veranderen.
 
Dan sla je het toch op als .xlsm? Dat is ook een keuze bij Opslaan als. Je moet het wel kiezen en niet alleen de extensie veranderen.

dat doe ik ook maar dan kom ik hierin terrecht:

Hoe kan het volgende want het lijkt wel een bug in excel.

als ik dan kies voor xlsm. (excel met macros)
Dan komt hierna excel met de volgende melding:
De volgende zaken kunnen niet worden opgeslagen in werkmappen zonder macro's.
* VB-project

Als u een bestand met deze functies wilt opslaan, klikt u op Nee en kiest u vervolgens een bestandstype met macro's in de lijst Bestandstype.

Klik op Ja om het bestand op te slaan als een werkmap zonder macro's.


Als ik hier nee kies ga ik terug naar opslaan de enige keuze is dan in deze lijst bestandstype xlsm. (ook de enige juiste keuze)
Maar hierna krijg ik weer dezelfde popupbox met de melding hier boven.

Als ik ja kies is het bestand "gesloopt" omdat de macro's zijn verdwenen....
 
Laatst bewerkt:
Welke versie van Office gebruik je?
Het werkt hier in Office 2010 prima.
 
Laatst bewerkt:
Zit er geen Before_Save event in die dwingt om op te slaan als .xlsx?
 
Ik weet niet waar je dit kan instellen of vinden maar als ik in thisworkbook kijk zie ik dit:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 Dim varWorkbookName As String
    Dim FileFormatValue As Integer
     
    On Error GoTo Quit
    Application.EnableEvents = False
     
    If SaveAsUI = True Then
        varWorkbookName = Application.GetSaveAsFilename( _
        fileFilter:="Excel Macro Enabled Workbook (*.xlsm), *.xlsm")
        Cancel = True
         
        If varWorkbookName <> "False" Then
            Select Case LCase(Right(varWorkbookName, Len(varWorkbookName) - InStrRev(varWorkbookName, ".", , 1)))
            Case "xlsm": FileFormatValue = 52
            End Select
             
            ActiveWorkbook.SaveAs varWorkbookName
        End If
    End If
     
Quit:
     
    If Err.Number > 0 Then
        If Err.Number <> 1004 Then
             
            MsgBox "Error: " & Err.Number & Err.Description & vbCrLf & vbCrLf & vbCrLf & _
            "Title", vbCritical
             
        End If
    End If
     
    Application.EnableEvents = True
End Sub

Private Sub Workbook_Open()

End Sub
 
Schakel die Before_Save eens uit en doe dan eens de suggesties zoals aangegeven en zie het resultaat.
 
De FileFormatValue wordt wel bepaald maar niet gebruikt en dan is de standaard weer .xlsx
Wijzig dit:
ActiveWorkbook.SaveAs varWorkbookName

Eens in dit:
ActiveWorkbook.SaveAs varWorkbookName, FileFormat:=FileFormatValue
 
Laatst bewerkt:
De FileFormatValue wordt wel bepaald maar niet gebruikt en dan is de standaard weer .xlsx
Wijzig dit:
ActiveWorkbook.SaveAs varWorkbookName

Eens in dit:
ActiveWorkbook.SaveAs varWorkbookName, FileFormat:=FileFormatValue

Thanks!
Dat is de oplossing!
 
Met dank aan Cobbe voor z'n opmerking in #8 :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan