Programmation d'une routine simple dans microsoft excel 2007 sur windowx xp

J'ai une expérience minimale des fonctions de encoding dans les plates-forms logicielles (p. Ex. La syntaxe SPSS, les scripts MATLAB, le codeur Psychopy). En raison de cela, je me suis retrouvé souhaitant pouvoir coder des loops de routine simples pour des programmes plus généraux. J'espère qu'il existe un moyen de le faire pour l'excellence. Plus précisément, existe-t-il une façon de coder Excel pour: ouvrir un file, supprimer deux colonnes en série et save ce file dans un nouvel location avec un nouveau nom de file et le répéter pour tous les files dans un dossier contenant? Je crois qu'une réponse à cette question sera très utile pour les personnes ayant une expérience de encoding minimale qui bénéficieront d'un code qui exécute une fonction simple dans Excel automatiquement sans avoir à pointer et cliquer dans l'interface graphique.

  1. Ouvrir Excel
  2. Allumez l'enregistreur macro
  3. Ouvrez votre premier file
  4. Supprimez vos deux colonnes
  5. Enregistrez le file comme
  6. Arrêter l'enregistreur macro

Cela vous donnera le code VBA dont vous avez besoin, puis vous pouvez envelopper une boucle simple autour de lui pour répéter tous les files dans votre directory.

Donnez-lui un coup de feu, puis revenez avec le code que vous avez et posez une question spécifique si vous rencontrez un problème.

Si vous voulez simplement faire une boucle dans un dossier et modifier des files text en supprimant des lignes ou renommer des files ou quoi que ce soit … vérifiez l'object FileScripting

Un sous-programme VBA rapide et sale, où nous parcourons chaque file dans un dossier, ouvrez-le pour lire, ouvrez un deuxième file pour l'écriture, puis écrivez chaque ligne, ligne pour ligne, sauter les lignes 5 et 6:

Sub FindOpenFiles() Const fsoForWriting = 2 Const fsoForAppend = 8 Const fsoForReading = 1 directory = "C:\" Set FSO = CreateObject("Scripting.FileSystemObject") Set folder = FSO.GetFolder(directory) 'Loop through files in folder For Each file In folder.Files 'get the file path, open the file and create a new file with "_out" appended to the name strFileInName = file.Path strFileOutName = file.Path & "_out" Set objFileIn = objFSO.OpenTextFile(strFileInName, fsoForReading) Set objFileOut = objFSO.OpenTextFile(strFileOutName, fsoForWriting, True) 'Loop through each line in the incoming file lineCount = 1 Do Until objFileIn.AtEndOfStream 'Write every line out to the output file, except for line 5 and 6 If lineCount <> 5 Or lineCount <> 6 Then objFileOut.WriteLine objFileIn.ReadLine lineCount = lineCount + 1 Next Loop Next file End Sub 

Dans l'set, ce sous-programme n'a rien à voir avec Excel, afin que vous puissiez le coller dans Microsoft Word, Powerpoint, Outlook, et avec un assembly minimal, c'est autonome autonome.