Miten Outlookin sähköpostista dataa exceliin?

Liittynyt
18.10.2016
Viestejä
457
Eli tuollaista tarvis tehdä. Sähköpostiin siis tulee SRM tilauksien hyväksymis pyyntöjä, ja haluaisin siirtää taulukosta dataa exceliin.
Eli kuvan mukainen taulukko tulee sähköpostiin josta haluaisin jollain automaatiotasolla ottaa dataa ulos. Pahimmillaan näitä tulee pari tuhatta vuodessa, joten käsin niitä ei jaksais siirrellä.
Tuoltakin oikeastaan tärkein tieto olisi tuo "Cost Object" ja rivien kokonaissumma. Product supplier olisi myös taulukkoon hyvä saada.
Kokonaissumma löytyy sähköpostin teksti osiosta mutta ei suoraan taulukosta.

srm.jpg
 
Jos tuo on vain sähköpostiin liitetty kuva, niin taitaa olla liian vaikeaa.
 
Oletettavasti kuvana tuollainen taulukko ku muutenhan copy/paste toimis?
Sitten ei auta ku joku OCR softa, jolla napsia tiedot. Itse käytellyt tälläistä, ku joskus tarvinnu vaikka pelin chatista taikka videosta kääntää, ku joku kyrillistä/Kiinalaista tekstiä puskenu chattiin:
Capture2Text

Näppäinyhdistelmällä aktivoin, maalaa tekstin ja se sitten antaa tekstinä kopioida sisällön.
 
Ei ole kuvana vaan taulukkona, eli siis ihan copy/paste toimii. Niitä vaan on niin paljon, että mieluummin automatisoisi tuon toiminnon,
 
Ei ole kuvana vaan taulukkona, eli siis ihan copy/paste toimii. Niitä vaan on niin paljon, että mieluummin automatisoisi tuon toiminnon,
Copypasten toimivuus ei vielä paljoa asiasta kerro. Jos viesti on html-muotoinen, tai kenties rich text, ja siinä on taulukkomuotoista dataa, niin sopivalla ohjelmoinnilla kenties päästään maaliin. Googlella esimerkkejä:

How to export email body table to excel in Outlook?
Copy data from Outlook email tables to Excel

Hiukan tietotaitoa kyllä tarvitaan.
 
Juu, kyllähän se noilla sen taulukon kaivaa sähköpostista. Vielä kun saisi vain tietyt rivit niin hyvä. Pitääpä tutkia tarkemmin millä tuota saisi rajattua.
 
Tässä on mun powershell joka hakee ryhmäsähköpostilaatikosta nimeltä ALERTS posteja ja kaivaa niistä reqular expressionilla rivin joka alkaa Sender: ja nappaa sen jälkeen olevan osoitteen tulokseksi.
Koodi:
Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -ComObject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$Result = @()
$RE = "(?sm)Sender:.*?\s(?<Sender>.*?)$.*?"

foreach($Folder in $namespace.Folders) {
if ($Folder.Name -eq "ALERTS") {
    foreach($fl in $Folder.Folders){
        foreach($mail in $fl.Items) {
            if ($mail.body -match $RE) {
                 $Result += $Matches.Sender
               }
            }
        }
    }
}
Write-Output $Result


Editoidaan vielä se että tässä on hyvä sivu jossa voi testata tuota regex hakua. Pastella sinne se sähköposti mistä haet ja sitten kirjoittamaan koodia ja livenä näkee mitä se löytää värikoodattuna. https://regex101.com
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
261 704
Viestejä
4 544 755
Jäsenet
74 833
Uusin jäsen
Kanadanhanhi

Hinta.fi

Back
Ylös Bottom