2010-07-30 7 views
1

Je regarde ce morceau de code que j'ai obtenu de here parce que je voudrais l'utiliser. Le problème est, j'ai utilisé 2003 pour créer le fichier "test.xls", mais quand je cours ce code, il ouvre en 2007. Y at-il un moyen de forcer l'ouverture dans une version Excel spécifique plutôt que par défaut?VB ouvrir une version Excel spécifique lorsque deux sont installés

GoSub, GuiOpen 
pweb := COM_AtlAxCreateControl(WinExist(), A_Temp . "\test.xls") 
pxlb := COM_Invoke(pweb, "Document")  ; Excel Workbook 
pxls := COM_Invoke(pxlb, "Worksheets", 1) ; Excel Worksheet 
Return 

GuiOpen: 
Gui, +Resize +LastFound 
Gui, Show, w800 h600 Center, Excel 
COM_AtlAxWinInit() 
Return 
GuiClose: 
Gui, Destroy 
COM_Invoke(pxlb, "Save") 
COM_Release(pxls) 
COM_Release(pxlb) 
COM_Release(pweb) 
COM_AtlAxWinTerm() 
ExitApp 

Répondre

0

Cela a à voir avec la façon dont le fichier est associé sur les fenêtres ... essayez ceci sur un dossier ouvert:

Outils> Options des dossiers> FileTypes

Rechercher le fichier xls et change quel programme l'ouvre. Si vous ne le trouvez pas il suffit de l'ajouter et de modifier ses options en conséquence.

+0

L'extension est affectée correctement, si je double-clique sur le fichier qu'elle ouvre avec 2003 et quand je double-clique sur les fichiers xlsx qu'ils ouvrent avec 2007. C'est quand j'essaie de l'ouvrir par programmation qui provoque le problème. Ce n'est pas seulement avec les fichiers d'ouverture, si je veux créer un objet Excel.Application, il créera toujours un 2007, je ne peux pas l'obtenir pour ouvrir un objet Excel.Application en 2003. – Geoff

Questions connexes