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

program koji radi novi word dokument i nesto u njemu....

[es] :: C/C++ programiranje :: program koji radi novi word dokument i nesto u njemu....

[ Pregleda: 2545 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ja_snejk
zagreb

Član broj: 62175
Poruke: 51
*.adsl.net.t-com.hr.



Profil

icon program koji radi novi word dokument i nesto u njemu....01.07.2009. u 04:56 - pre 180 meseci
e ljudi moji.. nije me dugo bilo na ovom forumu, a i sad se vracam ko najveca kuja, kad nesto trebam...

imam problem sa zadacom.. naime zadatak mi je napisati program koji stvori novi word dokument, te u njemu napravi tablicu npr. 4x4. i u svako polje tablice mora napisati neki tekst, neka je to npr "polje" (bitno je da u svakom polju pise isti tekst, nevazno sta...)
ja sam zapoceo nesto, uglavnom kemijajuci prostranstvima interneta, ali neide mi nikako..
problem je sto na faxu nismo dobili nikakve materijale oko toga, a ja nisam bio kad se radio "word" pa nemam pojma (da, da, mozete me lincovat sad, ali stvarno ne znam..)

radim u visual studiu 2005, zapoceo sam project kao console application, ime projekta je "ime"..
ono sto sam do sad napravio je:



Code:

// ime.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "ime.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// The one and only application object

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: change error code to suit your needs
        _tprintf(_T("Fatal Error: MFC initialization failed\n"));
        nRetCode = 1;
    }
    else
    {
    CoInitialize(0);
    HRESULT hr;

    //Dim wordApp As Object = CreateObject("Word.Application")
    CComPtr<IDispatch> wordApp;
    hr = wordApp.CoCreateInstance(L"Word.Application", 0, CLSCTX_SERVER);


    //Dim doc = wordApp.Documents.Add
    VARIANT vResult;
    hr = wordApp.GetPropertyByName(OLESTR("Documents"), &vResult);
    CComPtr<IDispatch> pDocuments = vResult.pdispVal;
    hr = pDocuments.Invoke0(OLESTR("Add"), &vResult);

    // doc.Activate
    CComPtr<IDispatch> doc = vResult.pdispVal;
    doc.Invoke0(OLESTR("Activate"));

   

    doc.Invoke1(OLESTR("SaveAs"), &CComVariant("C:\\Users\\admin\\Desktop\\dokument.doc"));
    doc.Invoke0(OLESTR("Close"));



    wordApp.Invoke0(OLESTR("Quit"));



        // TODO: code your application's behavior here.
    }

    return nRetCode;
}





tu je cijeli ime.cpp kopiran, ostalo nista nije mijenjano na projektu...
to cudo zaista napravi word dokument "dokument.doc" na mom desktopu..
kako sad jos u taj doc dodat tablicu?
meni nije bas ni ovaj kod najjasniji, da budem iskren, to sam nekako sklepao sa msdn-a i po netu, i zacudo radi, ali dalje nemam pojma...
svi prijedlozi dobrodosli.
hvala


p.s. ne smijem koristiti .net framework ili npr. snimiti makro u wordu pa to povuc kao neki .dll jer makroe snima u visualbasicu (mislim bar da je to visual basic, znam da nije c ili c++), a ja ogranicen na c++ :(

q6600 @ 3,2ghz, modded big typhoon; abit IP35; 4gb ddr2 800mhz; 8800gt & acc s1 +
140mm; seagate 500gb; 2x wd 640gb;seagate pata 80gb; eksterni maxtor 120gb; eksterni
exelstor 160gb, chief 550w; zalman zm-mfc1;
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.ptt.rs.



+395 Profil

icon Re: program koji radi novi word dokument i nesto u njemu....01.07.2009. u 08:40 - pre 180 meseci
Ako si dodao podrsku za MFC headere u tvoju konzolnu aplikaciju onda
moras importovati OLE /Automation Word objekat (Project -> Add Class -> MFC Class From TypeLib)
U listi : Available type libraries pronadji : MicroSoft Word 12.0 Object Library (verzija zavisi od instaliranog worda na tvojoj masini)
Wizard ce ti generisati sve potrebne interfejse i klase za dalji rad ,
Pogledaj u class browseru naci ces dosta f-ja i pomocu kojih ces manipulisati wordom i njegovim dokumentima ...




Viva lollapalooza
 
Odgovor na temu

ja_snejk
zagreb

Član broj: 62175
Poruke: 51
*.adsl.net.t-com.hr.



Profil

icon Re: program koji radi novi word dokument i nesto u njemu....01.07.2009. u 23:51 - pre 180 meseci
to sam napravio.. includao sam sve interface, ali kako pozvat tu f-ju?
cim stavim u svoj cpp "import" ili #include CTable0.h, ili CTables0, odmah mi 9 milijuna errora izbaci....
kako korititi objekte iz worda?

npr nasao sam ovo:

"Use the Add method to add a table at the specified range. The following example adds a 3x4 table at the beginning of the active document.
Code:

Set myRange = ActiveDocument.Range(Start:=0, End:=0)
ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4 "

to asm nasao tako sto sam u wordu stisnuo alt + f11 pa pretrazivao sve objekte i f-je iz worda... ja vjerujem da je to implementirano u CTables0, cak sam i nasao to,

Code:
LPDISPATCH Add(LPDISPATCH Range, long NumRows, long NumColumns, VARIANT * DefaultTableBehavior, VARIANT * AutoFitBehavior)
    {
        LPDISPATCH result;
        static BYTE parms[] = VTS_DISPATCH VTS_I4 VTS_I4 VTS_PVARIANT VTS_PVARIANT ;
        InvokeHelper(0xc8, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms, Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior);
        return result;
    }


vjerujem da me buni ovaj LPDISPATCH, posto mi nije jasno koji i kakav je to tocno objekt....
edit: nasao, to je pointer na IDispatch,ali i dalje ne znam koko pozvat tu f-ju..
[/edit]

kako bih pozvao tu f-ju iz svog programa, tj mozda da pitam, na kojem objektu?
mozda skuzim ujutro, nisam se bas naspavao ovih dana...

[Ovu poruku je menjao ja_snejk dana 02.07.2009. u 01:24 GMT+1]
q6600 @ 3,2ghz, modded big typhoon; abit IP35; 4gb ddr2 800mhz; 8800gt & acc s1 +
140mm; seagate 500gb; 2x wd 640gb;seagate pata 80gb; eksterni maxtor 120gb; eksterni
exelstor 160gb, chief 550w; zalman zm-mfc1;
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: program koji radi novi word dokument i nesto u njemu....03.07.2009. u 02:52 - pre 180 meseci
http://www.codeproject.com/KB/office/MSOfficeAuto.aspx
Tko leti vrijedi
 
Odgovor na temu

[es] :: C/C++ programiranje :: program koji radi novi word dokument i nesto u njemu....

[ Pregleda: 2545 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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