2010-06-24 2 views
2

J'ai une forme d'accès qui crée un fichier ppt (jeu de diapositives) à partir des informations le formulaire d'accès/les tables. J'utilise un fichier modèle dans un dossier utilitaire qui se trouve dans le même dossier que le fichier d'accès lui-même. tout fonctionne bien, sauf un petit morceau.PPTX 2007 - VBA: Si je crée une pres powerpoint de code d'accès derrière la forme, alors comment puis-je invite à enregistrer le fichier ppt à la fin

Je voudrais savoir comment, après avoir parcouru tout le reste dans la sous-routine qui crée le ppt, comment je peux demander au fichier ppt nouvellement créé d'enregistrer le fichier comme autre chose que template.ppt.

Je pense quelque chose comme

ppt.save 

œuvres. Cependant, j'ai besoin de quelque chose qui invite comme un "enregistrer sous" ... et même le défaut qui s'y trouve si possible.

merci beaucoup .... je ne suis pas en mesure de tomber par hasard, heureusement, à travers celui-ci.

justin

Répondre

2

Que diriez-vous:

Dim dlgSaveAs As FileDialog 
Dim strMyFile As String 

Set dlgSaveAs = Application.FileDialog(fileDialogType:=msoFileDialogSaveAs) 
With dlgSaveAs 
    .InitialFileName = "Presentation2_" & Format(Date, "yyyy-mm-dd") 
    If .Show = -1 Then 
     strMyFile = .SelectedItems(1) 
     MsgBox strMyFile 
     ''-- save your file to strMyFile here 
    ''Else 
     ''-- The user pressed Cancel. 
    End If 
End With 
Set dlgSaveAs = Nothing 

De: http://www.vbforums.com/showthread.php?t=521968

+0

grâce remou .... Une question cependant. FileDialog est en train de devenir un type d'utilisateur quand je le déclare, donc j'obtiens une erreur de compilation. Y at-il une bibliothèque de référence que je dois définir pour cela? merci comme toujours. – Justin

+0

Oui, vous devez avoir la bibliothèque Office pour la bibliothèque de types afin que la constante msoFileDialogSaveAs soit définie. Si vous voulez éviter cela (et vous devriez le faire), trouvez simplement la valeur de msoFileDialogSaveAs et ensuite créez votre propre constante avec cette valeur (je pense que c'est mieux que de coder en dur la valeur de la constante quand vous l'utilisez). –

Questions connexes