Форум: "Corba";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
ВнизКак вписывать что-то в вордовскую таблицу? Найти похожие ветки
← →
TStas © (2006-07-14 20:27) [0]Попытки посмотреть свойства TWordApplication пока результатов не дали. С экселем все просто, да и статья по нему есть. А вот как вписать в ячейки именно вордовской таблицы текст?
← →
isasa © (2006-07-15 11:20) [1]Как вариант.
Сформировать таблицу как текст, разделенный табуляцией в буфере (WordBuff: string).
А потом сделать такой финт.
SetTable(wDoc.Paragraphs.Item(wDoc.Paragraphs.Count).Range, WordBuff, nCol); //в конец документа.
где
procedure TWordConsole.SetTable(Selection : variant; Text : string; nCol : integer);
begin
Selection.Text:=Text;
Selection.Font.Size := 9;
Selection.ConvertToTable(Separator:=wdSeparateByTabs, NumColumns:=nCol,
Format:=wdTableFormatNone, ApplyBorders:=True,
ApplyShading:=True, ApplyFont:=True, ApplyColor:=True,
ApplyHeadingRows:=True, ApplyLastRow:=False,
ApplyFirstColumn:=True, ApplyLastColumn:=False,
AutoFit:=True, AutoFitBehavior:=wdAutoFitContent,
DefaultTableBehavior:=wdWord9TableBehavior);
ReplaseStr(Selection, ";","^l"); // две строки в табл., раздел. "мягким" конц. стр.
Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
end;
← →
isasa © (2006-07-15 11:24) [2]Да, забыл, может пригодится.
const
wdFindContinue = 1;
WdFindWrap = 1;
wdReplaceAll = 2;
wdSeparateByTabs = 1;
wdTableFormatNone = 0;
wdStory = 6;
wdLine = 5;
wdCell = 12;
wdRowHeightAuto = 0;
wdAlignRowLeft = 0;
wdAdjustNone = 0;
wdGoToTable = 2;
wdGoToNext = 2;
wdAlignParagraphCenter = 1;
wdGoToLine = 3;
wdGoToFirst = 1;
wdAlignParagraphRight = 2;
wdAlignParagraphLeft = 0;
wdToggle = 9999998;
wdAlignTabRight = 2;
wdAlignTabLeft = 0;
wdTabLeaderDots = 1;
wdTabLeaderSpaces = 0;
wdOrientPortrait = 0;
wdAutoFitContent =1;
wdWord9TableBehavior = 1;
wdAlignRowCenter = 1;
← →
TStas © (2006-07-16 20:13) [3]К сожалению не годится. Таблица - это заявление на упрощенку. Попытки сохранить в экселе ни к чему хорошему не привели. В том-то и трудность, чтобы по готовой таблице передвигать курсор и что-то в нее вписывать
← →
isasa © (2006-07-17 08:48) [4]На D примера нет, но хелп по Word советует, приблизительно так.
This example inserts numbers and text into the first column of the first table in the active document.
num = 90
For Each acell In ActiveDocument.Tables(1).Columns(1).Cells
acell.Range.Text = num & " Sales"
num = num + 1
Next acell
← →
umbra © (2006-07-17 11:02) [5]var
table: Variant;
i, j : integer;
{..................................................}
table := WordApp.Documents[1].Tables[1];
for i := 1 to Table.Rows.Count do
for j := 1 to table.Columns.Count do
table.Cell[i, j].Range.InsertAfter(IntToStr(i + j));
{.................................}
table := Unassigned;
← →
_Le_ (2006-07-17 13:36) [6]можно сделать закладки и работать по ним,
можно так
Doc.Tables.Item(Nt).Cell(i,j).Select;
App.selection.TypeText("lalala");
i,j - строка/столбец ячейки в таблице
Nt - номер таблицы в документе
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c