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

nogmaals Werkblad opslaan als

Status
Niet open voor verdere reacties.

nonono

Gebruiker
Lid geworden
28 jan 2009
Berichten
289
oceanrace heeft de volgende code geplaatst:

Code:
Sub Opslaan()
  Dim strFileName As Variant
  Dim strPath As String
  strFileName = Range("AJ2").Value
  strFileName = Application.GetSaveAsFilename(InitialFileName:=strPath & strFileName, _
                                              FileFilter:="Excel Files (*.xls), *.xls, Excel 2007 Files (*.xlsm), *.xslm", _
                                              FilterIndex:=1, _
                                              Title:="Kies de juiste map en pas eventueel de bestandsnaam aan!")
  If strFileName = False Then
    MsgBox "Oh oh... je hebt niet opgeslagen! "
  Else
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs FileName:=strFileName
    MsgBox "Gelukt!  Opgeslagen als: " & strFileName
  End If
End Sub

N.a.v van deze post (#3) denk ik, dat deze code nog een aanvulling nodig heeft.
Met de code uit #3 kun je slechts 1x opslaan. Wanneer je een volgende keer weer wilt opslaan, dan krijg je een Run-Time error.

Normaal gesproken krijg je de vraag of je dit bestand wilt vervangen. En deze optie mist.

Als je met een bestand bezig bent, dan wil je tussentijds op kunnen slaan i.g.v. calamiteiten. En dan is het een waardevolle toevoeging aan deze code.

Ik ben geen expert in deze, maar wellicht een uitdaging voor de experts?

Groet Nono
 
De volgende (gevonden!) code lost dit probleem op:

Code:
Private Sub CommandButton1_Click()
'
Dim file_name As Variant
' Get the file name.
    file_name = Application.GetSaveAsFilename( _
        FileFilter:="Excel Files,*.xls,All Files,*.*", _
        Title:="Save As File Name")
' See if the user canceled.
    If file_name = False Then Exit Sub
' Save the file with the new name.
    If LCase$(Right$(file_name, 4)) <> ".xls" Then
        file_name = file_name & ".xls"
    End If
  ActiveWorkbook.SaveAs Filename:=file_name
'
End Sub
 
Mogelijk.
De staus van de genoemde link was opgelost. Ik heb nog gereageerd met mijn opmerking, maar verder geen respons.
Daarom heb ik dit nogmaals geplaatst onder "nogmaals Werkblad opslaan als".

Sorry voor het misverstand.

Groet Nono
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan