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

Save as Dialog box

Status
Niet open voor verdere reacties.

allard1

Gebruiker
Lid geworden
5 dec 2006
Berichten
314
Vrienden,

In een userform heb ik een sluiten knop gemaakt. Nu was het vrij eenvoudig om een knop te maken en daarbij een vba code te maken om het opslaan over te slaan (bedankt microsoft en excelhelp). Echter wil ik de mensen ook de keus bieden om wel op te slaan maar dan op een eigen aangewezen plek.
Heeft iemand een idee hoe ik dit kan oplossen. ik heb al even gegoogled maar daar kom ik niet echt uit.

groet,
Allard :D
 
Hallo,

Wellicht is GetSaveAsFilename wel wat je zoekt?

Hiermee start je een dialoogbox van Microsoft op zodat men zelf kan aangeven waar men iets wil bewaren en eventueel onder een andere naam.

Met vriendelijke groet,


Roncancio
 
Hallo,

Wellicht is GetSaveAsFilename wel wat je zoekt?

Hiermee start je een dialoogbox van Microsoft op zodat men zelf kan aangeven waar men iets wil bewaren en eventueel onder een andere naam.

Met vriendelijke groet,


Roncancio

Hoi Roncancio,

Ik heb de code even getest alleen denk ik dat ik de VBA code verkeerd aanmaak. Onderstaand mijn code
Code:
ActiveWorkbook.Close Savechanges:=GetSaveAsFilename

Hij sluit nu nog steeds de workbook zonder op te slaan....wat gaat er fout :confused:
 
Hallo,

Voorbeeld:

Code:
BestandsNaam = Application.GetSaveAsFilename( _
    fileFilter:="Excelbestanden (*.xls), *.xls")
Het gevolg van de code is dat het Microsoftmenu verschijnt dat identiek is aan Opslaan.als.

De gebruiker kan dan dus bepalen hoe het bestand gaat heten en waar het komt te staan.

Als je niet zeker weet hoe je het moet doen kan een commandbutton aan het formulier toevoegen en de code aan het commandbutton verbinden.

Zoiets:
Code:
Private Sub CommandButton1_Click()
BestandsNaam = Application.GetSaveAsFilename( _
    fileFilter:="Text Files (*.txt), *.txt")


End Sub

Met vriendelijke groet,


Roncancio
 
Hallo,

Voorbeeld:

Code:
BestandsNaam = Application.GetSaveAsFilename( _
    fileFilter:="Excelbestanden (*.xls), *.xls")
Het gevolg van de code is dat het Microsoftmenu verschijnt dat identiek is aan Opslaan.als.

De gebruiker kan dan dus bepalen hoe het bestand gaat heten en waar het komt te staan.

Als je niet zeker weet hoe je het moet doen kan een commandbutton aan het formulier toevoegen en de code aan het commandbutton verbinden.

Zoiets:
Code:
Private Sub CommandButton1_Click()
BestandsNaam = Application.GetSaveAsFilename( _
    fileFilter:="Text Files (*.txt), *.txt")


End Sub

Met vriendelijke groet,


Roncancio

Hoi Roncancio :D
:thumb: Bedankt voor je reactie nogmaals. Als ik de code los plak achter een knop, dan gaat hij als een zonnetje alleen sluit hij de boel niet af. Met mijn beperkte vb kennis dacht ik: "eerst opslaan en dan sluiten". Hieruit kwam de volgende code
Code:
Private Sub Rekentoolsluitenopslaan_Click()

BestandsNaam = Application.GetSaveAsFilename( _
    fileFilter:="Excelbestanden (*.xls), *.xls")
ActiveWorkbook.Close


End Sub

Wat er nu gebeurt is dat ik eerst de dialogbox opslaan als krijg en vervolgens bij Close weer de vraag of ik wil opslaan. Als ik ja doe krijg ik de melding "alleen opslaan als is mogelijk" (het opslaan heb ik middels een vb code geblokkeerd ivm prutsers op mijn werk die vanalles en nog wat aanpassen). Hoe kan ik ervoor zorgen dat hij vervolgens toch sluit.

:rolleyes:
 
Hallo,

Zo:

Code:
Private Sub Rekentoolsluitenopslaan_Click()

Bestandsnaam = Application.GetSaveAsFilename( _
    fileFilter:="Excelbestanden (*.xls), *.xls")
If Bestandsnaam <> False Then
    ActiveWorkbook.SaveAs Bestandsnaam
    ActiveWorkbook.Close
End If

End Sub

De code geeft eerst het Opslaan.als menu van Microsoft weer.
De gebruiker kan een keuze maken waar hij/zij het bestand wil opslaan en wat de naam van het bestand is.
Als de gebruiker dat gedaan heeft (en alleen dan !) wordt het bestand opgeslagen op de gekozen plek met de betreffende naam.
Vervolgens wordt het bestand afgesloten.
Als de gebruiker op Annuleren klikt (bij Opslaan als) dan wordt het bestand niet opgeslagen en ook niet afgesloten.

Met vriendelijke groet,


Roncancio
 
Hallo,

Zo:

Code:
Private Sub Rekentoolsluitenopslaan_Click()

Bestandsnaam = Application.GetSaveAsFilename( _
    fileFilter:="Excelbestanden (*.xls), *.xls")
If Bestandsnaam <> False Then
    ActiveWorkbook.SaveAs Bestandsnaam
    ActiveWorkbook.Close
End If

End Sub

De code geeft eerst het Opslaan.als menu van Microsoft weer.
De gebruiker kan een keuze maken waar hij/zij het bestand wil opslaan en wat de naam van het bestand is.
Als de gebruiker dat gedaan heeft (en alleen dan !) wordt het bestand opgeslagen op de gekozen plek met de betreffende naam.
Vervolgens wordt het bestand afgesloten.
Als de gebruiker op Annuleren klikt (bij Opslaan als) dan wordt het bestand niet opgeslagen en ook niet afgesloten.

Met vriendelijke groet,


Roncancio

Roncancio,

Bedankt voor je reactie hij doet het helemaal. Waar ik ook achter ben gekomen is dat ik VBA nog niet helemaal goed kan lezen....Nog ff aan werken!! :thumb:

Groet,
Allard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan