Ouvrez excel 2007 excel les fichiers et les enregistrer en tant que 97-2003 formats en VBA
J'ai une drôle de situation où j'ai des fichiers excel, tous ayant l'extension .xls., dans un répertoire où je peux ouvrir tous beaux dans Excel 2007. La chose étrange est que je ne peux pas les ouvrir dans Excel 2003, sur la même machine, sans avoir à ouvrir d'abord le fichier en 2007 et va et enregistrer le fichier comme un "Classeur Excel 97-2003". Avant que j'ai enregistrer le fichier comme un "Classeur Excel 97-2003" à partir d'Excel 2007, lorsque j'ai ouvert les fichiers excel en 2003, j'obtiens le message d'erreur que le fichier n'est pas dans un format reconnaissable.
Donc ma question est: si j'ai déjà le fichier excel ouvert en 2007 et j'ai déjà le nom de fichier de l'ouvrir le fichier stocké dans une variable, par programmation comment puis-je imiter l'action de monter sur le "bouton office" dans le coin supérieur droit et en sélectionnant, "enregistrer sous", puis en sélectionnant "Classeur Excel 97-2003"? J'ai essayé quelque chose comme ci-dessous, mais il n'a pas d'enregistrer le fichier à tous:
ActiveWorkbook.SaveAs TempFilePath & TempFileName & ".xls", FileFormat:=56
Merci pour toute aide ou des conseils!
En fait, je viens de trouver une solution (que je n'ai pas vraiment trouver de propre, mais... de toute façon, c'est de travailler pour moi). Application.DisplayAlerts = False Set resultFile = Classeurs.Ouvert(resultFileName) resultFile.CheckCompatibility = False resultFile.SaveAs Filename:=resultFileName, FileFormat:=xlExcel8 resultFile.Fermer L'Application.DisplayAlerts = True
OriginalL'auteur ABB | 2010-01-26
Vous devez vous connecter pour publier un commentaire.
Il semble que vous devriez essayer le pack de compatibilité, mais je ne vois pas pourquoi votre vba ne fonctionne pas. J'ai essayé de le ci-dessous et il a parfaitement fonctionné:
Ce qui se passe si vous essayez de "enregistrer sous" sous un nom de fichier différent?
J'ai juste essayé et cela n'a pas fonctionné. Je traversai le code et fait en sorte qu'il a frappé la ligne de code et il l'a fait donc je ne sais pas si cela a à voir avec mon setup actuel sur ma machine ou quoi. Je suis à une perte.
La machine que je suis en essais sur a fois en 2003 et en 2007 est installé (j'ai couru le code en 2007), mais je ne suis pas sûr que cela ferait une différence.
Je l'ai essayé sur une autre machine avec une même configuration que la mienne (2003 et 2007) et cela a fonctionné. Très bizarre. Désolé de perdre votre temps, je crois que c'est juste un problème avec ma machine, le programme d'installation pour certains très étrange raison.
OriginalL'auteur burnside
Cette page: http://www.rondebruin.nl/saveas.htm a été utile pour moi. Vous devez déclarer un type de fichier différent si vous enregistrez à partir de 2007 à 2003 et les versions antérieures.
OriginalL'auteur guitarthrower
Voici une solution qui fonctionne pour moi. Fondamentalement, il s'ouvre de nouveau le même fichier et simule un "Enregistrer sous" à partir du bouton Office avec la compatibiliy d'Excel 97-2003. Toutefois, il ne cache alertes et indique à Excel de ne PAS vérifier la compatibilité qui génère une fenêtre pop-up qui vous empêchent de vous pour travailler silentely en mode batch.
OriginalL'auteur Nicolas C.
Je ne suis pas sûr que vous êtes juste essayer de convertir tous ces fichiers, ou si vous travaillez sur une application qui va en avoir besoin.
Dans le premier cas, voir si c'est utile : http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en
Il vous permet d'ouvrir d'Office 2007 dans des versions antérieures d'Office.
OriginalL'auteur Jay
simplement fermer les alertes également des œuvres.
Application.DisplayAlerts = False
Les classeurs.Ajouter.SaveAs nom, FileFormat:=56
* faire des modifications dans le fichier si nécessaire
Activeworkbook.close SaveChanges:=true
Application.DisplayAlerts = True
OriginalL'auteur user2481205
'FIN DEL PROCESO DE CREACIÓN DE DATOS.XLS
OriginalL'auteur Juan Fernando