Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Экспорт в WORD


Автор: Exai1e 5.8.2008, 16:24
Здравствуйте, у меня возникла проблема с экспортом в MS Word из StringGrid, раньше работало вроде все нормально. После переустановки системы началась какаето фигня !
вот код:
Код

procedure ExToW(sg : TStringGrid);
var
  WordApp, NewDoc, WordTable: OLEVariant;
  iRows, iCols, iGridRows, jGridCols: Integer;
begin
  try
    WordApp := CreateOleObject('Word.Application');
  except
    AddToLog('Неудалось создать WordApp');
    Exit;
  end;
  WordApp.Visible := True;
  NewDoc := WordApp.Documents.Add;
  iCols := sg.ColCount;
  iRows := sg.RowCount;
  WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows);
  for iGridRows := 1 to iRows do
    for jGridCols := 1 to iCols do
      WordTable.Cell(iGridRows, jGridCols).Range.Text := sg.Cells[jGridCols - 1, iGridRows - 1];
end;
 

Если заменить в строчке
Код

    for jGridCols := 1 to iCols do

iCols на 1 то все нормально, на 2 - тоже, на 3 - тоже все нормально, а если цифра больше 3х то вылетает ошибка "Запрашиваемый номер семейства не существует", Тоесть до 3х столбцов (включительно) экспортится нормально.
Выручите =) в чем может быть проблема ? Версия MSWord'a до форматирования и после используется одна и таже.

Автор: Exai1e 5.8.2008, 16:44
Работает вообще както рандомно, иногда и вот такие вещи прокатывают
Код

    for jGridCols := 1 to iCols do//iCols do

а например через пару компиляций может не с работать...
 smile  smile  smile

Добавлено через 11 минут и 57 секунд
пример в атаче

Автор: Albinos_x 5.8.2008, 19:40
Цитата(Exai1e @  5.8.2008,  16:44 Найти цитируемый пост)
а например через пару компиляций может не с работать...

попробуйте отключить оптимизатор или пройтись пошаговой отладкой

да и если не ошибаюсь у тебя в создании таблицы перепутаны строки со столбцами...

Автор: Exai1e 6.8.2008, 09:29
Albinos_x, Спасибо. Вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)