Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa pristupom Outlook-u iz Jave

[es] :: Java :: Problem sa pristupom Outlook-u iz Jave

[ Pregleda: 2634 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.88.*



Profil

icon Problem sa pristupom Outlook-u iz Jave28.01.2008. u 09:15 - pre 167 meseci
Vec neko vreme se mucim pokusavajuci da eksportujem sadrzaj .pst fajla koji je u sustini kompresovani Outlook folder.
Koliko znam jedini naci je da se koristeci Jacob bibliotekom, moze pristupiti Outlook aplikaciji i manipulisati sa njom iz jave.

Problem je sto ne mogu nikako da odradim "Open" funkciju koja bi ucitala .pst
Sustina je ista i ako se prisupa Outlook-u korsteci Visual Basic ili .Net tako ako iko ima ikakva iskustva nek napise bilo sta.
 
Odgovor na temu

nenadvuci
Beograd

Član broj: 163299
Poruke: 8
*.yubc.net.



Profil

icon Re: Problem sa pristupom Outlook-u iz Jave28.01.2008. u 10:44 - pre 167 meseci
Mozda da okacis source, pa da vidimo u cemu je problem.
 
Odgovor na temu

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.88.*



Profil

icon Re: Problem sa pristupom Outlook-u iz Jave28.01.2008. u 11:36 - pre 167 meseci
Sustina mog problema je da nigde ne mogu pronaci odgovarajucu metodu za import/open/load....bilo sta od toga, kako bih mogao u outlook ubaciti *.pst fajl.

Skinuo sam sa neta deo koda koji pokazuje kako se moze, koristeci outlook aplikaciju kroz javu, izvuci trenutno selektovani mail sa sve attachment-om.

Code:

private void saveSelectedOutlookMails(String directory) {

    ActiveXComponent xl = new ActiveXComponent("Outlook.Application");

   Object explorer = Dispatch.get(xl,"ActiveExplorer").toDispatch();

   Object selection = Dispatch.get(explorer, "Selection").toDispatch();

   Variant count = Dispatch.get(selection, "Count");

   for (int mailIndex = 1; mailIndex <= count.toInt(); mailIndex++ ) {
      Object mailItem = Dispatch.call(selection, "Item", new Variant(mailIndex)).toDispatch();
      Variant senderName = Dispatch.get(mailItem, "SenderName");

      Variant subject = Dispatch.get(mailItem, "Subject");
      Variant body = Dispatch.get(mailItem, "Body");
      String emailFileName = subject.toString() +".txt";
      String fullPath = directory + FileUtil.PATH_SEPARATOR + emailFileName;

      try {

      File email = new File(fullPath);

      PrintWriter writer = new PrintWriter( new FileWriter(email) );
      writer.println("From: "+ senderName );
      writer.println("Subject: "+ subject);
      writer.println("");
      writer.print( body );
      writer.close();

      }

      catch (IOException e) {
            logger.error("IOException writing e-mail with subject: '"+ subject +"'", e);
            continue;
             }

       Object attachments = Dispatch.get(mailItem, "Attachments").toDispatch();
       Variant attachmentCount = Dispatch.get(attachments, "Count");
       if ( attachmentCount.toInt() > 0 ) {
                for( int attachmentIndex = 1; attachmentIndex<=attachmentCount.toInt(); attachmentIndex++ ) {
                         Object attachment = Dispatch.call(attachments, "Item", new Variant(attachmentIndex)).toDispatch();
                          Variant fileNameVariant = Dispatch.get(attachment, "FileName");
                          String fileName = fileNameVariant.toString();
                          Variant saveResult = Dispatch.call(attachment, "SaveAsFile", directory +FileUtil.PATH_SEPARATOR+ fileName);

                  }

        }

   }

}

svi ovi stringovi "SaveAsFile", "Items", "Attachments",...... znace Outlooku i ne mogu se ubaciti na bili koje mesto i bilo kada u metodi cell.
Nigde na netu se ne pominje Open...niti znam gde se moze pozvati.
Ako neko ima iskustva....please help!
 
Odgovor na temu

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.88.*



Profil

icon Re: Problem sa pristupom Outlook-u iz Jave30.01.2008. u 14:49 - pre 167 meseci
Problem resen
 
Odgovor na temu

eXPerience
[ coded ]

Član broj: 14396
Poruke: 88
*.dynamic.sbb.co.yu.

Sajt: [ coded ]


Profil

icon Re: Problem sa pristupom Outlook-u iz Jave30.01.2008. u 19:57 - pre 167 meseci
Citat:
Tulex: Problem resen


Bilo bi lepo kad bi napisao, bar u kratkim crtama, kako je resen ...
Dame biraju uvek pogresne tipove ... Na srecu ...
 
Odgovor na temu

Jcod3r
Serif Durakovic
Student
IUTA - DUT Informatique

Član broj: 46936
Poruke: 64
*.dsl.club-internet.fr.

Sajt: iuta.univ-lyon1.fr


Profil

icon Re: Problem sa pristupom Outlook-u iz Jave30.01.2008. u 20:36 - pre 167 meseci
Nisi ga trebao ni postavljati...
Jedno je sigurno, sve je nesigurno :)
 
Odgovor na temu

Tulex
Danguba
Novi Sad

Član broj: 170959
Poruke: 121
91.148.88.*



Profil

icon Re: Problem sa pristupom Outlook-u iz Jave01.02.2008. u 08:08 - pre 167 meseci
Problem jeste bio malo specifican, ali sam se nadao da je jos neko imao takvih poteskoca. Malo mi je "gorilo pod nogama", a davljenik se i za slamku hvata :)

Ako se jos neko muci sa koriscenjem Outlook resursa evo upustva ukratko:

Koristi se open source biblioteka jacob.jar, nije je tesko naci na netu. Uz nju dolazi i jacob.dll koji je potrebno staviti ili na sistemski path ili classpath. Da se ne mucite, najlakse je prekopirati u sistem32. Jacob.jar importujete u eclipse i toliko o podesavanjima.

Gore naveden primer je odlican da bi se shvatio sam nacin funkcionisanja komunikacija sa Outlook-om. Inace na ovaj nacin mozete da se nakacite na bilo koju Office aplikaciju.
Veoma koristan link je http://msdn2.microsoft.com/en-us/library/bb208225.aspx na kom imate opis svih komponenata Outlook-a i kojim redosledom im mozete pristupati. Znaci klasicna hijerarhija: Aplikacija->Eksplorer->Folder....
Svaka komponenta ima svoje metode i parametre koji se mogu pozivati i svi su lepo opisani.

Moj problem sam resio koriscenjem metode AddStore koja se nalazi u komponenti NameSpace. Na taj nacin se import-uje .pst
Code:

   ActiveXComponent axOutlook = new ActiveXComponent("Outlook.Application");
   Dispatch oNameSpace = axOutlook.getProperty("Session").toDispatch();
   Dispatch.call(oNameSpace, "AddStore", path);



path je naravno klasican string.

Sad se trenutno mucim da importovanjem .msg fajlova, ne moze se koristiti AddStore. Resenje je u metodi OpenSharedItem koja se takodje nalazi u NameSpace.

Zakljucak je da se kroz javu, na ovaj nacin, moze zaista uciniti sve i svasta sa bilo kojom office aplikacijom.
 
Odgovor na temu

[es] :: Java :: Problem sa pristupom Outlook-u iz Jave

[ Pregleda: 2634 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.