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

Opslaan als macro

Status
Niet open voor verdere reacties.

PvR68

Gebruiker
Lid geworden
13 jun 2016
Berichten
19
Hallo allemaal

Ik ben bezig om een . xlsm bestand op een bepaalde lokatie op te slaan.
Nu wil ik dat het bestand blanco.xlsm ook blanco blijft en opgeslagen wordt als een naam.xlsx

Ik gebruik hiervoor deze code:
Code:
Sub Opslaan()
  '
' Opslaan_als Macro
'
' 51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx)
' 52 = xlOpenXMLWorkbookMacroEnabled = xlsm (with macro's in 2007-2016)
'
    ChDir "E:\Afd-1\Draaiboek"
    ActiveWorkbook.SaveAs Filename:= _
        "E:\Afd-1\Draaiboek\" & "" & Range("L1") & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    
End Sub

Ik krijg vervolgens een popup dat het VB project niet opgeslagen kan worden zonder macro's

Wat ik graag zou willen
- blanco.xlsm wordt ingevuld en na indrukken van een button wordt de het nieuwe bestand gemaakt maar dan met xlsx (gaat op zich prima, maar toont die popup)
- Popup niet meer tonen
- blanco.xlsm geleegd wordt met ingevulde cellen (of kan ik met macro recorder deze legen onder dezelfde button van opslaan?)
- Is het dan ook mogelijk om in .xlsx bestand de button verwijderd te hebben? Dit bestand wordt zolang draaiboek loopt, gebruikt en wordt tussentijds opgeslagen

Alvast dank voor jullie geboden hulp

mvg, Pieter
 
Zoiets:
Code:
Sub Opslaan()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "E:\Afd-1\Draaiboek\" & Range("L1"), 51
    Application.DisplayAlerts = True
End Sub

Die button kan je ook middels VBA verwijderen voor het opslaan.
En vergeet dat ChDir verhaal, dat is nergens voor nodig.
 
Laatst bewerkt:
Hi Ed

Dank voor je antwoord! Werkte bijna perfect.
Ik heb de volgende code nu gebruikt. In rood toegevoegd, om extensie achter bestandsnaam te krijgen

Het verwijderen van de button is mij ook gelukt

Code:
Sub Opslaan()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "E:\Afd-1\Draaiboek\" & Range("L1") [COLOR="#FF0000"]& ".xlsx"[/COLOR], 51
    Application.DisplayAlerts = True

' Button verwijderen vanwege opslaan als standaard Excel bestand
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    Selection.delete
End Sub
 
Die extensie is niet nodig, dat gebeurd vanzelf.
 
Zo zal die ook verwijderd worden.
Code:
ActiveSheet.Shapes("Button 1").delete
 
Die extensie is niet nodig, dat gebeurd vanzelf.
Moest de extensie er wel bijzetten. Kreeg een blanco extensie (.bestand)
Ik werk met Excel 2013, misschien daarom?

Evengoed ben ik goed geholpen.
Ook HSV bedankt voor je antwoord
 
Dat van die extensie zal dan inderdaad een versie verschil zijn :)
 
Dat heb ik ook al een paar keer gehad Ed.

Een wit bestandje op het scherm waar je niets mee kunt, en welke versies dat doen weet ik niet.
Het werkt bijna altijd zonder die toevoeging.
 
Vreemd. Maar goed, met extensie werkt het in ieder geval altijd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan