Question

Quelqu'un sait-il comment appeler la boîte de dialogue intégrée import data à 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.

Était-ce utile?

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"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top