Конференция "Corba" » Создание и заполнениев таблиц в Ворде [Delphi]
 
  • irena_ok (24.05.06 12:39) [0]
    Здравствуйте!
    мне поставлена задача: в одном текстовом документе средствами Delphi создать несколько таблиц и заполнить их.
    Может быть подскажете, где найти Help по синтаксису команд Basic через Дельфи или может быть пришлете пример...

    я пыталась это сделать примерно следующим образом, но даже таблицу не смогла создать:

    MsWord:= CreateOleObject('Word.Basic');
    MSWord.FileNew;
    MsWord.AppShow;
    MSWord.ActiveDocument.Tables.Add(Range:=Selection.Range,  NumRows:=1, NumColumns:= 9, DefaultTableBehavior:=wdWord9TableBehavior,
       AutoFitBehavior:= wdAutoFitFixed);

    Delphi ругается на синтаксис :
    не воспринимает Слово Selection:
    MSWord.ActiveDocument.Tables.Add(Range:=Selection.Range,

    ошибка: "Undeclared identifier Selection"
  • umbra © (24.05.06 13:17) [1]
    честно говря, даже не подозревал о существовании объекта
    Word.Basic

    . Код ниже создает объект ворд, добавляет новый документ, создает в его начале таблицу

    MsWord:= CreateOleObject('Word.Application');
    MSWord.Documents.Add;
    MsWord.Visible := true;
    MSWord.ActiveDocument.Tables.Add(Range:=Selection.Range,  NumRows:=1, NumColumns:= 9);

  • irena_ok (24.05.06 13:46) [2]
    увы, я совсем "темная"  :-(
    добавила в начала вашего кода
    var  MsWord:Variant;
    и запустила компилятор...
    Delphi ругается на Selection: пишет: undeclared identifier.....
  • umbra © (24.05.06 15:25) [3]
    пардон, ошибочка вышла

    var  MsWord, mydoc:Variant;
    {...................}

    MsWord:= CreateOleObject('Word.Application');
    MSWord.Documents.Add;
    mydoc := MSWord.ActiveDocument;
    MsWord.Visible := true;
    mydoc.Tables.Add(Range:=mydoc.Selection.Range,  NumRows:=1, NumColumns:= 9);
    {...........................}
    mydoc := unassigned;
    msword := unassigned;
  • irena_ok (24.05.06 17:48) [4]
    МногоУважаемому umbra огромное спасибо!
    а также мне очень помогли статьи  http://www.kornjakov.ru/stat.htm
    :-)
    Все работает, форум просто змечательный!
  • andrey123 (17.08.06 15:20) [5]
    Попробуйте написать так:
    MSWord.Selection.Tables.Add(MSWord.Selection.Range, 1, 2, wdWord9TableBehavior, wdAutoFitFixed);
 
Конференция "Corba" » Создание и заполнениев таблиц в Ворде [Delphi]
Есть новые Нет новых   [134431   +9][b:0][p:0.001]