• 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 in dezelfde folder als origineel

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
535
Goede avond ontwikkelaars,

Met onderstaande code verplicht ik de gebruiker om eerst het bestand op te slaan (met een nieuwe naam) alvorens de rest van de code gaat werken.

Het venster "opslaan als" opent zich, met in bestandsnaam : de originele bestandnaam (dat de gebruiker dan moet veranderen)

Enkel : de lokatie is : "Documenten"


Code:
fileSaveName = Application.GetSaveAsFilename(fileFilter:="Excel Files (*.xlsm), *.xlsm", _
  Title:="Kies een lokatie en verander de bestandsnaam. - Choisissez un emplacement et changer le nom du fichier.")
  If fileSaveName <> False Then
  End If
  ActiveWorkbook.SaveAs fileSaveName, FileFormat:=52


Hoe kan ik het venster "opslaan als" laten opengaan in dezelfde folder/path als het origineel?


Bedankt

Groetjes

Pascal
 
Laatst bewerkt:
Iets in die richting?
Code:
fileSaveName = Application.GetSaveAsFilename(InitialFileName:=ThisWorkbook.Path)
 
gast0660,

Bedankt voor de reactie. :thumb:

Mijn code ziet er nu als volgt uit :

Code:
[COLOR="#FF0000"]fileSaveName = Application.GetSaveAsFilename(InitialFileName:=ThisWorkbook.Path[/COLOR], _
  Title:="Kies een lokatie en verander de bestandsnaam. - Choisissez un emplacement et changer le nom du fichier.")
  If fileSaveName <> False Then
  End If
  ActiveWorkbook.SaveAs fileSaveName, FileFormat:=52


En het werkt. De juiste folder gaat open. Enkel : de originele bestandsnaam staat niet meer ingevuld in het veld "Bestandsnaam" (met mijn originele code was dat wel het geval)

Ik zou dit echter willen behouden zodat de gebruiker enkel maar het jaartal in de titel hoeft te vervangen.


Hoe kan ik dit oplossen?


Groetjes

Pascal
 
Bv.
Code:
Sub hsv()
With Application.FileDialog(msoFileDialogSaveAs)
    .InitialFileName = ThisWorkbook.FullName
    .FilterIndex = 2
    .Title = "Kies een lokatie en verander de bestandsnaam. - Choisissez un emplacement et changer le nom du fichier."
    .AllowMultiSelect = False
    .Show
    .Execute
    End With
End Sub
 
HSV,

Bedankt, dit werkt perfect. :thumb:


Ik heb uw code in mijn code geplaatst. Het venster "opslaan als" verschijnt in de juiste folder met de originele titel die dan aangepast kan worden.

Wanneer ik toch beslis het opslaan te annuleren gaat de rest van de code wel verder. (= leegmaken van vele cellen)

Dit zou echter niet mogen gebeuren. :confused:

Kan er een sprong gemaakt worden naar het einde van de code indien het opslaan geannuleerd wordt?


Bedankt

Groetjes

Pascal
 
De blauwe regel zelf even inpassen om de cellen leeg te maken.
Code:
Sub hsv()
With Application.FileDialog(msoFileDialogSaveAs)
    .InitialFileName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
    .FilterIndex = 2
    .Title = "Kies een lokatie en verander de bestandsnaam. - Choisissez un emplacement et changer le nom du fichier."
    .AllowMultiSelect = False
     If .Show Then
        .Execute
     Else
      Exit Sub
      End If
    End With
[COLOR=#0000ff]  MsgBox "op deze regel worden de cellen leeggemaakt"  [/COLOR]
End Sub
 
Laatst bewerkt:
Harry bedankt,

Dit is wat ik zocht.

Tot de volgende

Groetjes

Pascal
 
Graag gedaan Pascal.
 
Goede morgen Harry,

Probleempje...

De laatste oplossing dat je gegeven hebt werkt perfect.

Vorige week vrijdag heeft iemand een Word documentje geopend dat hij ontvangen had via mail. Het gevolg was dat het netwerk een virusaanval kreeg.

Om veiligheidsredenen hebben ze tijdelijk het gebruik van macro's voor MS Office uitgeschakeld, dus ook geen VBA code tot ze zeker waren dat het euvel opgelost was.

Sinds gisteren hebben ze het gebruik van macro's terug ingeschakeld.


Bij het opslaan van de file, met uw code, krijg ik nu een error...


Run-time error '-2147467259 (80004005)': Method 'FileDialog'_Application' failed

en de regel : .Execute licht geel op.


Na een beetje speurwerk op het net heb ik teruggevonden dat "Microsoft Office 14.0 Object Library" niet aangevinkt zou zijn. Maar ik vind dit niet terug in de TOOLS --> REFERENCES

"Microsoft Excel 14.0 Object Library" staat wel aangevinkt.


Hoe kan ik dit "Euvel" oplossen?


Thanks

Pascal
 
Harry,

Opnieuw voor mij....

Ik heb Excel geopend met een blanco sheet, ben gaan kijken in de TOOLS --> REFERENCES en daar stond "Microsoft Office 14.0 Object Library" wel aangevinkt.

Ik heb dan mijn Sheet geopend en opnieuw opgeslagen en de "Microsoft Office 14.0 Object Library" is zichtbaar en aangevinkt maar het werkt nog steeds niet...


Thanks

Pascal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan