Форум: "Corba";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Corba";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c