Preset “enregistrer sous le type” terrain lors de l'utilisation de l'Application.FileDialog(msoFileDialogSaveAs) avec MSAccess

J'ai cherché partout pour une façon de le faire.

Je veux ouvrir une boîte de dialogue Enregistrer sous afin que l'utilisateur peut choisir l'emplacement de sauvegarde d'un fichier. Mais, je veux le "Save as type" champ preset "séparation par virgule de la valeur du Fichier (*.csv)"

Le problème, c'est le "Filtre" methode ne semble pas fonctionner avec "msoFileDialogSaveAs". Est-il possible de préréglage du type de fichier à l'aide de l'Application".FileDialog(msoFileDialogSaveAs)"?

Pour le moment, si j'ai enregistrer le fichier avec l' .extension csv et ensuite de l'ouvrir dans excel, j'ai le "Le fichier que vous essayez d'ouvrir xxx.csv est un format différent de celui spécifié par l'extension du fichier ..." message. Le fichier fonctionne correctement.

 With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "xxx"
        .AllowMultiSelect = False
        .InitialFileName = "xxx.csv"
        '.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        result = .Show
        If (result <> 0) Then
            ' create file
            FileName = Trim(.SelectedItems.Item(1))
            fnum = FreeFile
            Open FileName For Output As fnum


            ' Write the csv data from form record set
            For Each fld In rs.Fields
               str = str & fld.Name & ", "
            Next

           ' Write header line
           str = Left(str, Len(str) - 2)   ' remove last semi colon and space
           Print #fnum, str
           str = ""

          ' Write each row of data
           rs.MoveFirst
          Do While Not rs.EOF             
            For i = 0 To 40
                str = str & rs(i) & ", "    ' write each field seperated by a semi colon
            Next i
            str = Left(str, Len(str) - 2)   ' remove last semi colon and space
            Print #fnum, str
            str = ""
            rs.MoveNext
           Loop

        ' close file
        Close #fnum
        End If
  End With

Que Vous!

Comme vous le dites msoFileDialogSaveAs n'est pas correctement pris en charge dans l'Accès. Si votre enregistrement d'un fichier qui a une .extension csv et excel est de vous donner cet avertissement, c'est ce qui est dans le fichier, c'est à l'origine du problème, pas son nom.
Je vais regarder mon fichier de mise en forme pour s'assurer qu'il respect csv exigence. Il serait sympa de prévenir l'utilisateur d'enregistrer ce fichier sans extension.
Ne pouvez-vous pas utiliser le .Les filtres méthode ? Quel est le code qui enregistre le fichier ?
.Filtre me donne de l'utilisation incorrecte de la propriété. msoFileDialogSaveAs ne semble pas à l'appui de cette propriété.
Commentaire précédent devrait lire: .Filtre me donne: "la Méthode ou le membre de données introuvable". msoFileDialogSaveAs ne semble pas à l'appui de cette propriété.

OriginalL'auteur pec | 2011-10-14