2008-11-21 10 views
4

J'utilise Borland Builder C++ 2009. Je souhaite ajouter un bouton à un formulaire qui permet à l'utilisateur d'ouvrir un fichier dans Excel que je spécifie. Je ne peux pas penser à comment faire ça. Je sais comment lier avec d'autres codes et exécutables - existe-t-il un exécutable Microsoft Excel que je pourrais utiliser? Comment pourrais-je spécifier le fichier alors? Tous les conseils à ce sujet, ou au moins un endroit pour regarder en ligne, seraient grandement appréciés.Ouvrir un fichier spécifié dans Excel à partir d'une interface graphique - Borland C++

Répondre

4

En supposant que le type de fichier est enregistré avec Excel, vous pouvez appeler ShellExecute() sur le fichier, en utilisant le verbe "open". Cela entraînera l'ouverture du fichier comme si l'utilisateur cliquait deux fois sur l'explorateur et invoquerait Excel.

Si ce n'est pas le cas, et vous pouvez supposer qu'Excel est installé, vous pouvez à la place passer "excel" à ShellExecute() en tant qu'application, et le chemin du fichier en tant que paramètre. (Notez que je n'ai pas testé cela, mais cela a fonctionné à partir de la boîte de dialogue Exécuter, donc je pense que cela devrait aussi fonctionner à partir de ShellExecute()).

3

Merci, Andy. J'utilise ShellExecute() comme vous l'avez suggéré, en donnant Excel comme application et le chemin du fichier en tant que paramètre. Cela fonctionne pour ouvrir Excel, cependant, il ne peut pas sembler trouver le fichier. J'ai essayé de déplacer le fichier, en tapant le chemin entier, une partie du chemin sans changement. Voici le code que j'utilise:

ShellExecute(NULL, "open" ,"Excel.exe", "C:\\Documents and Settings\\Lab1\\My Documents\\Waypoint Tool.xls", NULL, SW_SHOWNORMAL); 

Donc, je dois comprendre pourquoi il n'est pas en mesure de trouver ce fichier.

Nous vous remercions de votre suggestion d'utiliser ShellExecute. Je pense que je suis sur la bonne voie!

+0

Essayez d'utiliser simplement "Excel" au lieu de "Excel.exe". Excel.exe n'est probablement pas dans votre chemin, mais quand Office installé ajoute "excel" comme un clavier spécial pour lancer Excel (c'est fait via le registre en quelque sorte, j'oublie les détails atm). – Andy

3

Essayez:

print("ShellExecute(NULL, "open" ,"Waypoint Tool.xls", "C:\\Documents and Settings\\Lab1\\My Documents\\", NULL, SW_SHOWNORMAL);"); 

En regardant cette page: http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

Il semble que ce veut le fichier que vous voulez exécuter l'ouverture des marchés comme le troisième paramètre et le répertoire pour le quatrième.

1

System() commande devrait être assez je pense. Pour n'importe quelle application Windows, nous pouvons ouvrir n'importe quel fichier en utilisant le fichier Location of .exe et le chemin d'accès au fichier.

Ex.,

system("PATH C:\\Program\ Files\\Microsoft\ Office\\OFFICE11;%PATH% & excel \"C:\\Documents and Settings\\User\\Desktop\\ExcelFile.xls\""); 
Questions connexes