Stránka 1 z 2

EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 27 úno 2014 11:03
od lucky.man
Ahoj, převzal jsem po kolegovi klientskou databázi e-mailů v MS Wordu a potřeboval bych ji kompletně převést do Excelu. Zkoušel jsem si hrát s importem dat, ale nedaří se. Jde mi jenom o jednotlivé e-mailové adresy, které by v ideálním případě měly být jako buňky v jednom sloupci (výsledný stav). Ve Wordu jsou data zapsaná v několika formátech:

jmeno@domena.com <jmeno@domena.com>; jmeno2@domena.com <jmeno2@domena.com>; jmeno3@domena.com <jmeno3@domena.com>; ...

Jméno Příjmení <jmeno@domena.com>; Jméno Příjmení 2 <jmeno2@domena.com>; Jméno Příjmení 3 <jmeno3@domena.com>; ...

"Jméno Příjmení" <jmeno@domena.com>, "Jméno Příjmení 2" <jmeno2@domena.com>, "Jméno Příjmení 3" <jmeno3@domena.com>, ...

jmeno@domena.com, jmeno2@domena.com, jmeno3@domena.com, ...


Poradí někdo jak na to?
Je toho celkem dost, takže případná ruční úprava dat prosím až jako poslední možnost...

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 27 úno 2014 11:09
od zeus
Export do cisteho textu, trocha magie na prikazove radce (napr. grep|sort|uniq), natazeni do Excelu a mas za ctvrt hodky hotovo.

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 27 úno 2014 11:59
od ITCrowd
Export do txt souboru a můžu ti napsat skript ve vbs, který proběhne celý ten textový soubor a vše co najde mez "<" a ">" uloží do dalšího textového souboru - vždy jeden e-mail na jeden řádek. Pak by načtení do excelu neměl být problém. Teoreticky můžu nechat rovnou vytvořit xls soubor.

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 27 úno 2014 15:51
od lucky.man
Pokud by šel napsat skript, bylo by to super. Posílám ukázku reálných dat (s pozměněnými jmény a maily) pro představu, jsou tam 4 druhy zápisu. U prvních tří by mělo fungovat "vyzobání" e-mailů mezi "<" a ">", u mailů oddělených čárkou asi jedině najít jiný postup. Když bude výstup jeden e-mail na řádce, tak už to do Excelu snad zvládnu. Díky.

jnibulka@econet.cz <jnibulka@econet.cz>; obchodni@fridanair.cz <obchodni@fridanair.cz>; hynek.dloser@cias.cz <hynek.dloser@cias.cz>; omnibet@omnibet.cz <omnibet@omnibet.cz>; norskalinie@seznam.cz <norskalinie@seznam.cz>; imunotrop@imunotrop.cz <imunotrop@imunotrop.cz>; dot@cle.cz <dot@cle.cz>; j.palin@globus.cz <j.palin@globus.cz>; svk@svk.cz <svk@svk.cz>;

Hýnová <vladislava.hynova@skoda-steel.cz>; Fišer - zahradnické centrum <fiserovi@fiserzahrada.cz>; Holding <holding@nordika.cz>; info@fosterix.cz <info@fosterix.cz>; Ing Kamila Fénová <kfenova@wikov.com>; inkastar@inkastar.cz <inkastar@inkastar.cz>; Jacqueline <jacqueline.radosova@moly-logistics.cz>; Janek Janák <jany@janakbros.cz>;

"SVAR TECHNIK" <adminovi@svartechnik.cz>, "Hotel Stekl" <manazer@hotelstekl.cz>, stransky luděk <ludek.stransky@atlas.cz>, "STING" <solista@stingcz.cz>, "Stepa Horova" <step@tsjekkisk.no>, <stepamama@seznam.cz>, "Stencova, Marcela" <Marcela.Stencova@kcc.com>,

obchod@uspornesvetlomet.cz, zuzana.zmitkova@delame.cz, info@eodo.cz, info@decromaservice.cz, wo@voodoo.cz, daylymoon@daylymoon.cz, obchod@velkoobchodzde.cz, milota@covastrechy.cz, info@a-topime.cz, info@bo-zahrada.cz, umelestromky@gmail.com, info@kvetinace.info,

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 27 úno 2014 16:11
od ITCrowd
No, to "vyzobání" přes "<>" je reálné. Pustím se do toho. Co se týče těch čárek, tak tam záleží na tom texťáku. Ale pokud by to bylo v jednom odstavci, pak si můžeš vytáhnout jen ten odstavec a naimportovat ho do excelu s oddělovačem ","

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 00:39
od ITCrowd
Tak tady to máš. Skript řeší pouze e-maily uzavřené mezi <>.

Kód: Vybrat vše

'****************************************************
'*         Skript projde textový soubor             *
'*     Vyhledá text uzavřený mezi znaky < >         *
'* Prohledáváný soubor musí být ve stejném adresáři *
'*              Výstup Export.txt                   *
'*                                                  *
'*            Vytvořeno pro PC-HELP                 *
'*             Etienn@Script v 1.0                  *
'****************************************************

Option Explicit
Dim path, fso, src, cilFile, txtStream, txtStream2
Dim Text, poslpoz, i, pism

' zjisteni cesty ke skriptu
path = WScript.ScriptFullName
path = Left(path, InStrRev(path, "\"))

' vytvoreni objektu pro pristup k souborum
Set fso = CreateObject("Scripting.FileSystemObject")
src = path & "emaily.txt"

' Test seznamu, pokud neni, skonci
If Not fso.FileExists(src) Then
WScript.Echo "Soubor: " & src & " nenalezen."
Set fso = Nothing
WScript.Quit
End If

cilFile = path & "Export.txt"
Set txtStream = fso.OpenTextFile(src)
Set txtStream2 = fso.OpenTextFile(cilFile, 8, True)

Do While Not (txtStream.AtEndOfStream)
   Text = txtStream.ReadLine
   'WScript.Echo Text
   poslpoz = Len (Text)
   For i = 1 To poslpoz
     pism = Mid (Text, i, 1)

     If pism = "<" Then
     i = Najdi (i, Text)
     'WScript.Echo "i po navratu = " & i
     End If
   
   Next
Loop   

Set fso = Nothing
WScript.Echo "Skript doběhl"

'________________________________________
'Funkce hledání adresy
'________________________________________

Function Najdi(n, txt)
Dim psm, adresa
   n = n + 1
   psm = Mid (txt, n, 1)
   Do While Not psm = ">"
      n = n + 1
      adresa = adresa & psm
      psm = Mid (txt, n, 1)
   Loop
   txtStream2.WriteLine adresa
   Najdi = n
End Function


Text zkopíruj do notepadu (ne do wordu !!!) a ulož. Změň příponu na .vbs. Textový soubor z obsahem adres pojmenovaný emaily.txt ulož do stejného adresáře jako skript. Skript si po spuštění zjistí cestu, kde je uložen a ve stejném adresáři bude hledat soubor emaily.txt, pokud ho nenajde, ohlásí chybu a skončí. Ve stejném adresáři vytvoří soubor Export.txt, kde budou nalezené adresy, každá na jednom řádku.
Skript spustíš poklepáním. Konec práce skript oznámí hláškou "skript doběhl". Jak dlouho poběží záleží na velikosti zdrojového souboru.

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 09:33
od lucky.man
Jenom taková drobnost... jak se spouští skript? :-)

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 10:28
od cmuch
ITCrowd píše:.....
Text zkopíruj do notepadu (ne do wordu !!!) a ulož. Změň příponu na .vbs. .....
Skript spustíš poklepáním.....

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 10:46
od lucky.man
Tak bude někde něco špatně, protože to jsem udělal. Poklepáním mi to otevře soubor "skript.vbs" v notepadu...

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 11:10
od zeus
Ano, pri ukladani jsi nedal moznost Vsechny soubory, ale ponechal jsi Textovy dokument.

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 11:58
od lucky.man
To máš sice pravdu, ale i když to uložím jako "all types" a potom přidám koncovku .vbs, otevře se mi to zase v notepadu. Co s tím?

Re: EXCEL - převedení dat (e-mailů) z Wordu

Napsal: 28 úno 2014 13:22
od ITCrowd
Použij total commander, nebo nějaký jiný správce souborů pro přejmenování (klávesa F6). Ikona souboru bude vypadat tak jak na obrázku.
ikonaVBS.jpg
ikonaVBS.jpg (4.04 KiB) Zobrazeno 622 x

Taky je možné, že máš příponu .vbs chybně asociovánu s notepadem. Pak to musíš opravit a asociovat s wscript.exe.