Hogyan programból hozzá word-e asztal
Hogy a program a Word-e hozzá egy asztalt?
És szia újra.
Pzhl segítsen megoldani ezt a problémát. A program létrehoz egy Word-dokumentum-dákó, amely először megy valami kis szöveget, de utána kell beszúrni egy táblázatot az adatokat. Szóval, miután hosszú keresés találtam csak, hogyan kell beszúrni egy táblázatot egy tiszta lapot, és azt kell, hogy ki után egy sort.
Kérem, mondja meg, hogyan kell csinálni?
Példa behelyezés táblázat szakaszokat
eljárás TForm1.Button1Click (Sender: TObject);
kezdődik
// ha a cím „Exit”, majd zárja be a programot
ha Button1.Caption = "Exit", majd
kezdődik
Application.Terminate;
kijárat
vég
// egyébként (amikor először kezdett, amikor már a címe „Start”)
// átnevezése címet az „Output”
mást Button1.Caption: = "Kilépés";
panel1.Visible: = true;
// egy példányának létrehozásához a Word
WordApp: = CoApplication_.Create;
// láthatóvá tenni
WordApp.Visible: = true;
// sablon
template: = "Normál";
// Létrehozunk egy sablont
OpenAsTemplate: = false;
// valamit, mint az üzemeltető, lehetséges volt, és közvetlenül
Docs: = WordApp.Documents;
// egy olyan dokumentumot
Doc: = Docs.Add (sablon, OpenAsTemplate);
// jelölje ki az összes
Arange: = Doc.Range (EmptyParam, EmptyParam);
// tömb bekezdések
Pars: = doc.Paragraphs;
// Változó - paraméter
template: = arange;
// új bekezdés
par: = pars.Add (sablon);
// Szín Zöld
par.Range.Font.ColorIndex: = 11;
// szöveget
par.Range.InsertBefore ( "Hello.");
// Változó - paraméter
template: = par.Range;
// egy új bekezdés a táblázat nem dörzsölni szöveg
par: = pars.Add (sablon);
// fekete
par.Range.Font.ColorIndex: = 0;
// szöveget
par.Range.InsertBefore (a „Váltás a program, akkor programozott változtatni a szöveget a sejtek!”);
// Változó - paraméter
template: = par.Range;
// egy új bekezdés a táblázat nem dörzsölni szöveg
par: = pars.Add (sablon);
// válasszon egy bekezdés
arange: = par.Range;
// font - félkövér
ARange.Font.Bold: = 1;
// font - kézírásos
ARange.Font.Italic: = 1;
// kap egy sor táblázatok
tabls: = aRange.Tables;
// új táblázatot mérete 5 5
tabl: = tabls.Add (arange, 5,5);
// hurok
i: = 1-től 5 do
// beállítja az értéket a cella
tabl.Cell (i, 1) .Range.Text: = inttostr (i);
Az utolsó lépésben ki kell menteni a fájlt
eljárás TForm1.FormDestroy (Sender: TObject);
var
// paraméterek
SaveChanges: olevariant;
kezdődik
// Ha a szó nem zárt
ha nem VarIsEmpty (WordApp), akkor kezdődik
<а можно сохранить автоматом:
// fájlnév ole
sablon: = "Imya.doc";
// ha nem mentjük el,
ha doc.Saved = false, majd
// áruház
Doc.SaveAs (sablon, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Röviden írd az objektum neve előz meg egy pontot, majd nyomja meg
„Ctrl” + „” és tanul a meglévő módszerek és a kommunikáció-va
>
// változásokat nem menti
SaveChanges: = false;
// zárja az első dokumentum
Doc.Close (SaveChanges, EmptyParam, EmptyParam);
// majd az Ige
WordApp.Quit (SaveChanges, EmptyParam, EmptyParam)
végén;
Igen, a kód nem az enyém
Forrás potyrili ahol - nem emlékszem.
Alatt kódot köszönöm, jó dolog.
Szeretem ezt, és próbáltam csinálni az utóbbi időben, de folyton ezt a hibát:
Módszer „Range” nem támogatott automatizálási objektum
és őszintén szólva fogalmam sincs, hogyan kell megszabadulni tőle, nem kérdez?
Tényleg?
És ne próbálj ki valami, mint ez, de így van. Úgy tűnik első pillantásra, minden rendben van.
Bár nem vizsgálták.
N ow Van hasonló kódját is, ahol minden rendben van. Csak az asztal már nem ad hozzá - olvasni és bütykölni a szöveget a jelenlegi.
És a cikk, és pontosan hol van a hiba? Mert mi az a tárgy, azt találja tartomány?
Nos, csak így nem kapcsol be, a változók különböznek, megint más szöveget beilleszteni, stb -)))
És mellesleg, a szöveg azt is rendben van, és ki szerkesztette, és minden tettünk, de ez a művelet:
és ezt a hibát.
Nos még mindig segít elkezdeni a felvételt intézkedések egy VBA makrót. És akkor az elemzés a makró.
Csak ne felejtsük el a lehetséges különbségeket a különböző verziójú Office, és akkor futni nem támogatott funkciókat.
Én a királyság olvasni. Van: hogyan lehet létrehozni egy táblázatot az egész (és egy üres) lap, mint az, hogy szerkeszteni, hogyan kell bekapcsolni az asztalra egy bizonyos módon, a szerkesztett szövegben (by the way, hiszen így biztosan szerkeszteni is nem mondja). Mellesleg, válaszul KSergey le ugyanaz, csak érthetőbb. De sehol sem válaszolt a kérdésemre.
const
wdAutoFitFixed = 0;
wdWord9TableBehavior = 1;
.
WordApp.ActiveDocument.Tables.Add (Tartomány: = WordApp.Selection.Range, numrows: = 5, NumColumns: = 5, DefaultTableBehavior: = wdWord9TableBehavior, AutoFitBehavior: = wdAutoFitFixed);