Boîtes de dialogue intégrées Excel
Question
Quelqu'un sait-il comment appeler la boîte de dialogue intégrée import data ??code> à partir d'une macro (vba)?
J'ai essayé Application.Dialogs.Item (...). Affichez
mais je ne peux pas trouver le bon dialogue.
S'il vous plaît aider.
Merci d'avance.
La solution
Le système le plus proche que je puisse trouver à l'aide du système de dialogue est le suivant:
Application.Dialogs(xlDialogImportTextFile).Show
Vous pouvez obtenir une référence au bouton de la barre de commande (du moins pour moi dans 2k3 et 2k7) via:
Set button = Application.CommandBars.FindControl(ID:=6262)
Mais l'appel de la méthode Execute
sur le bouton échoue. Malheureusement, la réponse courte semble être que ce n'est pas possible.
Vous pouvez ajouter des objets QueryTable à la main. Bien que le chemin ne soit pas optimal, vous pouvez concevoir votre propre interface simple pour sélectionner les données source.
Autres conseils
Si vous choisissez le navigateur d'objets et recherchez par exemple xlDialogImportTextFile, vous obtiendrez une liste des boîtes de dialogue possibles.
EDIT: Peut-être que quelque chose sur ces lignes conviendrait:
'Allow user to select text file
sf = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If sf <> False Then
'Open text file
Workbooks.OpenText sf
End If
Je ne pense pas qu'il existe un équivalent VBA, car dans un cas, vous renvoyez des données dans une feuille de calcul, tandis que dans l'autre cas, les données sont placées dans un jeu d'enregistrements en mémoire.
Ce kludge devrait ouvrir la boîte de dialogue pour vous, cependant:
SendKeys "%ddd"