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

Variabele 'path' bij opslaan - met browse folder

Status
Niet open voor verdere reacties.

wlsandman

Gebruiker
Lid geworden
22 sep 2006
Berichten
71
Goedendag,

Ik zit met het volgende,

Ik heb een userform waarbij ik een sheet opsla naar voorgedefinieerde path. bv. c:/test/

In het userform heb ik de path als een string gemaakt. Hij pakt dan de waarde die in cel A1 staat. Hier dus: c:/test/

Code:
    Dim ToPath As String
    
    ToPath = Worksheets("SSS").Range("A1").Value

Het bestand wordt daarbij netjes in c:/test/bestandsnaam.xls opgeslagen.

Alleen nu kan de plaats waar het bestand wordt opgeslagen wel eens veranderen, alleen ik wil niet dat je dat in cel a1 kunt doen door c:/test/ te veranderen in c:/test2/ bijvoorbeeld.
Ik zou graag willen als ik op cel A1 of A2 of op een knop dat er dan een scherm (browsefolder) tevoorschijn komt waarin ik een path kan kiezen (dus een map waarin in ik het bestand wil opslaan. Als ik dan een map geselecteerd hebt, dat de pathnaam, bijvoobeeld c:/test2/ in cel A1 wordt geschreven (overgeschreven).

Ik hoop dat jullie het begrijpen, alvast bedankt voor jullie hulp! :)
 
Bekijk in de helpfiles de GetSaveAsFilename methode.

Wigi
 
Bedankt voor je antwoord. Maar ik begrijp dat je dan een scherm krijgt te zien waar je het bestand wilt opslaan.

Maar ik heb een macro 'samengesteld' :o waarmee een werkblad los kan worden opgeslagen. Dus zonder op opslaan te hoeven drukken omdat het path al voorgedefinieerd is. Nu kan het path wel eens om de zoveel tijd wijzigen!. En het path wil ik gewoon simpel kunnen wijzigen...
 
Hoe ga je Excel het juiste pad dan laten weten?

Dat doe ik met die string, die verwijst naar een path dat in cel a1 staat.

Maar cel a1 wil ik dus gemakkelijk kunnen aanpassen, door als je bv 2x op een cel klikt dat er dan een browsefolder scherm tevoorschijn komt, daarin moet je dan een map kunnen selecteren. Wanneer je dan op OK drukt, dan wordt de pathnaam in cel A1 gezet!
 
Maar cel a1 wil ik dus gemakkelijk kunnen aanpassen, door als je bv 2x op een cel klikt dat er dan een browsefolder scherm tevoorschijn komt, daarin moet je dan een map kunnen selecteren. Wanneer je dan op OK drukt, dan wordt de pathnaam in cel A1 gezet!

- Er is een dubbelklik event aanwezig in VBA. Dus code - die jij schrijft - die wordt uitgevoerd wanneer je ergens dubbelklikt.

- Zie de eerste methode hier.

Wigi
 
Het lukt nog niet helemaal.

Ik heb inmiddels wel een soortgelijk bestand gevonden, alleen ik kan de code niet aanpassen.

Zie bijlage.

Alleen nu zou ik graag willen dat de uitkomst (pathname) niet in een msgbox wordt gezet, maar in range("A1") van een bepaalde sheet.
 

Bijlagen

Ik heb de code aangepast gekregen:

Code:
Sub testgetfoldername()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = OpenAt
        .Show
        For lCount = 1 To .SelectedItems.Count
            GetFolderName = .SelectedItems(lCount)
        Next lCount
    End With
     
    Range("A1").Value = GetFolderName
End Sub
 
Alleen nu zou ik graag willen dat de uitkomst (pathname) niet in een msgbox wordt gezet, maar in range("A1") van een bepaalde sheet.

In plaats van

Code:
MsgBox "You chose" & vbNewLine & GetFolderName

in de huidige code, doe je

Code:
Range("A1") = GetFolderName

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan