Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.22;
Скачать: CL | DM;

Вниз

Excel из Delhpi   Найти похожие ветки 

 
Егоров А.Н.   (2007-05-02 16:28) [0]

Как можно вставить N строк на листе Excel перед какой-то строкой (например 26) из Delhpi.
Пробовал:
W_Schet.Range["A26","L"+IntToStr(26+N)].Insert;
где W_Schet: ExcelWorksheet

на F9 выдает ошибку после Insert; Not enough actual parametrs,
а какие нужно написать параметры в Insert(_,_) нигде не нашел.

Помогите, кто знает.


 
Neket   (2007-05-02 17:21) [1]

А уточни.. Каких именно строк?


 
Егоров А.Н.   (2007-05-02 17:53) [2]

Можно вставить пустые строки, а можно вставить пустые ячейки A26:L(26+N)


 
YurikGL ©   (2007-05-02 20:20) [3]

По аналогии с
http://delphimaster.net/view/2-1178012859/
Пишем макрос, смотрим как он выглядит и приводим к нужному синтаксису.
У меня получилось так:
try
app:=GetActiveOleObject("Excel.Application") as ExcelApplication;
App.Visible := True;
App.Rows.item[5].Select;
App.Selection.Insert(xlDown);
finally
 App:=Unassigned;
end;


 
Neket   (2007-05-03 08:40) [4]

Или так можеш попробовать:
http://delphimaster.net/view/2-1177487406/


 
Егоров А.Н.   (2007-05-03 11:10) [5]

Нет не срабатывает Insert(xlDown)

var
XL: TExcelApplication;
WB: ExcelWorkbook;
WS_SFACT,WS_NAKL,WS_SCHET: ExcelWorksheet;
Range: ExcelRange;

// Открываем EXCEL
XL := TExcelApplication.Create(Self);
XL.ConnectKind := ckNewInstance;
XL.Connect;

// Открываем существующую книгу EXCEL [fTemp]
WB := XL.Workbooks.Open(fTemp, 3, False,
 EmptyParam, EmptyParam, EmptyParam, true, EmptyParam, EmptyParam,
 EmptyParam, EmptyParam, EmptyParam, true, EmptyParam, EmptyParam, 0);

// Открываем лист ["СЧЕТ_ФАКТУРА"]
WS_SFACT := WB.Sheets["СЧЕТ_ФАКТУРА"] as ExcelWorksheet;

// Вставляем пустые ячейки [A26:L26] со сдвигом нижележащих ячеек
// существующей таблицы товаров вниз
WS_SFACT.Range["A26","L26"].Insert(xlDown);

Здесь пишет ошибку [Not enough actual parametrs].
У Insert должно быть два параметра (Shift: OleVariant,CopyOrigin: OleVariant),
а у меня только один Insert(xlDown).


 
umbra ©   (2007-05-03 12:02) [6]

2 Егоров А.Н.   (03.05.07 11:10) [5]


> Здесь пишет ошибку [Not enough actual parametrs].

тка дайте ему два параметра. Если один из параметров Вам не важен, пишите вместо него EmptyParam


 
Егоров А.Н.   (2007-05-03 12:04) [7]

Справился с Insert(xlDown).
Надо было написать:

WS_SFACT.Range["A26","A26"].EntireRow.Insert(xlDown,EmptyParam);

вместо
WS_SFACT.Range["A26","L26"].Insert(xlDown);


 
YurikGL ©   (2007-05-03 21:16) [8]


> Справился с Insert(xlDown).
> Надо было написать:
>

Зависит от того что прописано в uses. У меня Word2000. У тебя, скорее всего WordXP


 
Егоров А.Н.   (2007-05-04 08:08) [9]

Да OfficeXP.


 
имя   (2007-06-23 01:55) [10]

Удалено модератором


 
имя   (2007-07-25 23:38) [11]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2013.09.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
3-1293012227
adigozelov
2010-12-22 13:03
2013.09.22
запрос


2-1357505005
Mixasnt
2013-01-07 00:43
2013.09.22
не могу обработать одномерный массив введённый в едит.


2-1357671425
hansa
2013-01-08 22:57
2013.09.22
Собственник визуальных компонент


15-1365770544
O'ShinW
2013-04-12 16:42
2013.09.22
Oracle. Почему так заводится юзер?


15-1366110720
Demo
2013-04-16 15:12
2013.09.22
События в FoxPro MSDOS