Bonjour
Je fais un petit retour sur un problème dont il ma fallut un bon moment
pour venir à bout.
Si j'utilise la macro suivante pas de problème " maboîte de dialogue
s'ouvre et "mon beau fichier.sxw" est présenté par défaut.
Maintenant je crée un repértoire "Nouveau dossier" puis je modifie
DisplayDirectory = ConvertToURL("C:\Mes documents\Nouveau dossier")
Si Nouveau dossier est vide DefaultName = "mon beau fichier.sxw" ne
s'affiche pas dans la boîte de dialogue
Il me faut mettre un fichier de type OOo dans nouveau dossier pour que
cela marche.
Peut être on peut faire une modif au niveau des filtres
Testé sur 2 machines win98 et XP
JeanLuc
'Macro extraite du livre Programmmation OpenOffice" de Bernard Marcelly
et Laurent Godard"
rem CD-Rom : Code16-02.sxw bibli : ChoixFich Module3
Option Explicit
Sub EnregistrerUnFichier()
Dim FP As Object, lesFichiers() As String
Dim FPtype(0) As Integer
FP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
FPtype(0) = _
com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
With FP
.initialize(FPtype())
.DisplayDirectory = ConvertToURL("C:\Mes documents")
' dans ce cas suivant si nouveau dossier ne contient pas de fichier de
type OOo le nom de fichier( mon beau fichier.sxw)ne s'affiche pas
'.DisplayDirectory = ConvertToURL("C:\Mes documents\Nouveau dossier")
.DefaultName = "mon beau fichier.sxw"
.appendFilter("Textes", "*.txt")
.appendFilter("Docs OpenOffice", "*.sxw;*.sxc;*.sxd,*.sxi")
.appendFilter("Docs MS-Office", "*.doc;*.xls;*.ppt")
.CurrentFilter = "Docs OpenOffice"
if .Execute = _
com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
lesFichiers() = .Files ' tableau de 1 élément String
MsgBox("Filtre choisi = " & FP.CurrentFilter)
MsgBox("Répertoire = " & .DisplayDirectory)
MsgBox("Chemin complet = " & lesFichiers(0))
end if
.dispose
End With
End Sub