powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel через OLE - как вставить строки?
11 сообщений из 11, страница 1 из 1
Excel через OLE - как вставить строки?
    #32447081
TLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сэры!
Делаю

ExApp:=CreateOleObject('Excel.Application');
ExApp.WorkBooks.Open('Test.xls');
Sheet := ExApp.WorkBooks[1].WorkSheets[1];

теперь хочу между ячейками A7 и A10 вставить ещё строку - так чтобы всё что ниже A10 сдвинулось вниз.
Смотрим файл vbaxl9.chm - там пример для vba -
vbaxl9.chm Worksheets("Sheet1").Range("A1:C5").Insert Shift:=xlShiftDown

туплю:
и так -
Sheet.Range('A7','A10').Insert;
и так -
Sheet.Range('A7','A10').Insert();
и так -
Sheet.Range('A7','A10').Insert(EmptyParam);
и так -
Sheet.Range('A7','A10').Insert('xlShiftDown');
и так -
Sheet.Range('A7','A10').Insert(xlShiftDown);
и так -
Sheet.Range('A7','A10').Insert(0);
и так -
Sheet.Range('A7:A10').Insert;
- везде аксесс виолейшн

Как правильно-то, сэры?!

Спасибо за внимание
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447109
Фотография viman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так например
Sheet.Range['a10'].select;
Sheet.Selection.EntireRow.Insert;



...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447118
Фотография фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так
ISheet.Range['A10'].EntireRow.Insert(xlDown);
Вроде должно работать
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447156
TLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 viman

Sheet.Range['a10'].select; - это прокатывает
Sheet.Selection.EntireRow.Insert; - здесь опять вылетаем

2 Федор
ISheet.Range['A10'].EntireRow.Insert(xlDown);
А что такое ISheet - как его объявить? А то у меня Sheet:variant.
и на xlDown ругается.
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447184
Фотография фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ругается... Ну тогда на мой пример забей. У меня через COM сделано.
попробуй совместить эти 2 примера, типа
Sheet.Range['A10'].EntireRow.Insert(xlDown);
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447234
TLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viman, Федор - большое спасибо.

Короче работает так -
Sheet.Range['A8','A8'].Insert(2); - добавляет ячейку в колонку A.
Sheet.Range['A8','A8'].Insert(3); - добавляет полностью строку.

Скобки у Range квадратные :)

- где бы об этом почитать? - про квадратные скобки и магические числа в параметрах Inserta. а то методом тыка - утомительно :)
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #32447267
LAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И все-таки большинство вопросов по программированию Эксела решается методом тыка, только не пальцем в небо, а кнопками на клаве и мышке. В Экселе делаешь "Макрос->Начать запись", делаешь те действия, какие программировать надо, а потом смотришь чего тебе сам Эксел написал.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel через OLE - как вставить строки?
    #36417484
ch_Yulia_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to LAlex
О, хороший совет!
Спасибо. Так намного легче стало разбираться :)
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #36419384
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...> где бы об этом почитать?
Василий Корняков. Программирование документов и приложений MS Office в Delphi. СПб.: БХВ-Петербург, 2005
Книжка тупая, в стиле Архангельского имхо. Без наворотов. Но для начала сойдет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel через OLE - как вставить строки?
    #40029153
qwe_dsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LAlex, поддерживаю.
...
Рейтинг: 0 / 0
Excel через OLE - как вставить строки?
    #40029154
qwe_dsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viman
Вот так например
Sheet. Selection .EntireRow.Insert;





в OLE Selection до сих пор не поддерживается. Ааааааааа!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel через OLE - как вставить строки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]