2008-10-29 13 views
1

Est-ce que quelqu'un sait comment appeler la boîte de dialogue intégrée import data à partir d'une macro (vba)?Boîte de dialogue intégrée Excel

J'ai essayé Application.Dialogs.Item(...).Show mais je ne trouve pas le bon dialogue. S'il vous plaît aider.

Merci d'avance.

Répondre

2

Le plus proche que je peux trouver en utilisant le système de dialogue est:

Application.Dialogs(xlDialogImportTextFile).Show 

Vous pouvez obtenir une référence à la commande bouton de la barre (au moins pour moi à la fois 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 ce ne soit pas un chemin optimal, vous pouvez concevoir votre propre interface simple pour sélectionner les données source.

0

Si vous choisissez l'Explorateur d'objets et recherchez say, xlDialogImportTextFile, vous obtiendrez une liste de boîtes de dialogue possibles.

EDIT: Peut-être 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 
0

Je ne pense pas qu'il y ait un équivalent VBA, parce que dans un cas vous des données à une feuille de calcul retournerez, alors que dans l'autre cas, les données sont mises en mémoire dans un jeu d'enregistrements.

Cette bidouille devrait apparaître la boîte de dialogue pour vous, cependant:

SendKeys "%ddd" 
Questions connexes