2008-12-04 11 views
4

J'ai un fichier texte qui ressemble à ceci:fichier texte d'importation contenant des sauts de ligne dans Excel

"some 
text 
containing 
line 
breaks" 

Je suis en train de parler excel 2004 (Mac, v.11.5) à ouvrir ce fichier correctement. Je m'attendrais à voir une seule cellule (A1) contenant tout ce qui précède (sans les guillemets) ...

Mais hélas, je ne peux pas y arriver, car Excel semble insister sur l'utilisation des CR comme délimiteurs de ligne, même si je mets le qualificateur de texte à double citation. J'espérais qu'Excel comprendrait que ces sauts de ligne font partie de la valeur - ils sont intégrés dans des guillemets doubles qui devraient les qualifier dans le cadre de la valeur. Donc, ma feuille Excel a 5 lignes, ce qui n'est pas ce que je veux.

J'ai aussi essayé cette AppleScript en vain:

tell application "Microsoft Excel" 
    activate 
    open text file filename ¬ 
    "Users:maximiliantyrtania:Desktop:linebreaks" data type delimited ¬ 
    text qualifier text qualifier double quote ¬ 
    field info {{1, text format}} ¬ 
    origin Macintosh with tab 
end tell 

Si je pouvais dire Excel d'utiliser une ligne delimiter autre que CR (ou LF), eh bien, je serais un campeur heureux, mais exceller semble autoriser le changement du délimiteur de champ seulement, pas le délimiteur de ligne.

Des pointeurs?

Merci,

Max Excel Open

Répondre

5

On dirait que je viens de trouver la solution moi-même. J'ai besoin de sauvegarder le fichier initial en tant que ".csv". Excel respecte les sauts de ligne correctement avec les fichiers CSV. L'ouverture de ceux-ci via applescript fonctionne aussi bien.

Merci encore à ceux qui ont répondu.

Max

+0

Heureux que vous avez trouvé une solution! – LeppyR64

+0

Je sais que c'est un necro-post, mais il y a potentiellement un problème avec ceci, autant que je peux dire un défaut fondamental d'Excel: ouvrir un fichier csv de cette façon provoquera des cellules qui ne contiennent que des chiffres mais commencent par 0 pour tronquer le 0 principal. La seule façon d'avoir exceller respecter le texte tel qu'il est écrit (pour autant que je sache) est de faire une importation Data-> From File, qui ne permet pas les sauts de ligne. –

0

Est-ce qu'un seul fichier? Si oui, ne l'importez pas. Copiez simplement le contenu de votre fichier texte dans la première cellule (appuyez sur f2, puis collez).

Si vous devez absolument créer un script, Excel n'utilise réellement qu'un seul de ces deux caractères (cr, lf) comme délimiteur de ligne, mais je ne suis pas sûr de savoir lequel. Essayez d'abord d'enlever les lf avec un utilitaire externe (quittez les cr) puis importez-les ... si cela ne fonctionne pas, effacez les cr (laissez les lf) et importez-le.

+0

Merci, mais j'ai besoin des CR pour le faire dans la cellule ... –

+0

Oups, seulement maintenant je comprends ce que vous vouliez dire.En tout cas, les fichiers CSV fonctionnent pour moi ... –

1

L'autre option consiste à créer une macro pour gérer l'ouverture. Ouvrez le fichier pour l'entrée, puis lisez le texte dans la feuille de calcul, en analysant comme vous le souhaitez, en utilisant un objet Range.

+0

Merci, bonne idée en fait, mais j'ai besoin de travailler avec Excel 2008 Mac aussi, et cela ne supporte plus vba ... Max –

+0

Vraiment? Hmm ... retour à la planche à dessin, je vais trouver quelque chose pour vous – LeppyR64

+0

Je viens de regardé un peu AppleScript ... Je ne veux pas avoir à le faire de sitôt – LeppyR64

1

Si votre fichier comporte des colonnes séparées par des séparateurs de liste (de par virgules, mais certains points-virgules pour les paramètres de la région non-anglais), le renommer .csv et l'ouvrir dans Excel. Si votre fichier contient des colonnes séparées par des tabulations, renommez-le en .tab et ouvrez-le dans Excel. L'importation (au lieu de l'ouverture) d'un fichier csv ou d'un onglet ne semble pas comprendre les sauts de ligne entre les délimiteurs de texte. :-(

Questions connexes