Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VBA Word 2007] wdDialogFileSaveAs maar dan zonder saven

Pagina: 1
Acties:

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 19:56

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


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


  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 19:56

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


  • 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


Verwijderd

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 ;)

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 19:56

Punkrocker

Mostly harmless

Topicstarter
Verwijderd 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