Toon posts:

[VBA Word 2007] wdDialogFileSaveAs maar dan zonder saven

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 20:12

Punkrocker

Mostly harmless

Topicstarter
Ik heb een Word-doc (startdocument) met een UserForm. In dat UserForm kan ik d.m.v. vinkjes zetten bepalen welke documenten ik wil samenvoegen tot één nieuw document.
Op datzelfde UserForm kan ik de locatie opgeven waar ik dat samengevoegde document wil opslaan. Default staat dat nu voor alle gebruikers op een folder op een netwerkschijf. Die locatie staat in een TextBox en kan de gebruiker overschrijven om zo een eigen locatie in te geven.
Nu wil het ik ze hierbij wat eenvoudiger maken en er een Browse-knop naast zetten waarmee ze naar hun favoriete map kunnen browsen en die kunnen selecteren.
Ik heb deze code aan die knop gegeven:
code:
1
2
3
4
5
6
Private Sub CommandButton1_Click()
Dialogs(wdDialogFileSaveAs).Show
Dim path
path = ActiveDocument.Path
TextBox1 = path
End Sub

Dat gaat goed maar er is één probleempje: Het startdocument wordt daar ook opgeslagen en dat is nu net niet de bedoeling.
Dat ligt natuurlijk aan wdDialogFileSaveAs maar hoe kan ik dat anders doen?

"What do you get if you multiply six by nine..."


Acties:
  • 0Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Je wilt de msoFileDialogOpen gebruiken denk ik :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0Henk 'm!

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 20:12

Punkrocker

Mostly harmless

Topicstarter
F_J_K schreef op vrijdag 20 mei 2011 @ 14:06:
Je wilt de msoFileDialogOpen gebruiken denk ik :)
Als ik die gebruik krijg ik het pad van het (actieve) startformulier. Ik wil juist een andere locatie/pad ingeven.

"What do you get if you multiply six by nine..."


Acties:
  • 0Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

F_J_K schreef op vrijdag 20 mei 2011 @ 14:06:
Je wilt de msoFileDialogOpen [dialogs].Display methode gebruiken denk ik :)
O-)
Punkrocker schreef op vrijdag 20 mei 2011 @ 14:12:
[...]
Als ik die gebruik krijg ik het pad van het (actieve) startformulier. Ik wil juist een andere locatie/pad ingeven.
Ook het pad is in te stellen voor je Show() of Display() aanroept.

en @ Hertetic: als het idd alleen om het pad gaat is het onzin een filedialogbox te gebruiken. :)

[Voor 52% gewijzigd door Lustucru op 20-05-2011 14:45]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0Henk 'm!

Anoniem: 113297

vrijdag-bijna-weekend-vrijgevigheidje :
Visual Basic:
1
2
3
4
5
6
7
8
9
Sub KiesMap()
  Dim MapKiezer As FileDialog
  
  Set MapKiezer = Application.FileDialog(msoFileDialogFolderPicker)
  If (-1 = MapKiezer.Show) Then
    MsgBox MapKiezer.SelectedItems(1)
  End If
  Set MapKiezer = Nothing
End Sub
overigens kan het met jouw code ook, maar je moet een andere methode gebruiken dan show ;)

Acties:
  • 0Henk 'm!

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 20:12

Punkrocker

Mostly harmless

Topicstarter
Anoniem: 113297 schreef op vrijdag 20 mei 2011 @ 14:43:
vrijdag-bijna-weekend-vrijgevigheidje :
Visual Basic:
1
2
3
4
5
6
7
8
9
Sub KiesMap()
  Dim MapKiezer As FileDialog
  
  Set MapKiezer = Application.FileDialog(msoFileDialogFolderPicker)
  If (-1 = MapKiezer.Show) Then
    MsgBox MapKiezer.SelectedItems(1)
  End If
  Set MapKiezer = Nothing
End Sub
overigens kan het met jouw code ook, maar je moet een andere methode gebruiken dan show ;)
*O* *O*
Iets aangepast naar de situatie is dit hem geworden:
code:
1
2
3
4
5
6
7
8
9
10
11
Private Sub CommandButton3_Click()

Dim MapKiezer As FileDialog
   
  Set MapKiezer = Application.FileDialog(msoFileDialogFolderPicker)
  If (-1 = MapKiezer.Show) Then
TextBox7 = MapKiezer.SelectedItems(1)
  End If
  Set MapKiezer = Nothing

End Sub


Bedankt!! _/-\o_

"What do you get if you multiply six by nine..."

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee