Форум » [x]Harbour » вопрос по Excel » Ответить

вопрос по Excel

fil: Всем, привет ! Выделяю строчку в листе: oXls:Sheets(OemToAnsi("Лист1")):Range("B"+ltrim(str(nn+st))+":F"+ltrim(str(nn+st)) ):Select() а вот копирование выделенного в clipboard дает ошибку - неправильно указана принадлежность объекта Selection() oXls:Sheets(OemToAnsi("Лист1")):Selection():Copy() ??

Ответов - 46, стр: 1 2 3 All

Snake: Пардон, с цветами сам разобрался - oAS:CELLS(2,1):Interior:Color :=RGB(255,255,0) - а вот с копипастингом ничего не выходит.

Oskar_AAA: я сделал через цикл For I = 1 To 50 oAS:Cells( I, 1 ):Font:Color := I Next потом выбрал нужные и .... на счет Paste oAs:Cells(3,3):Select() oSheet:Paste()

Oskar_AAA: oAs:Range(oAs:Cells(2,2),oAs:Cells(7,cColumn-1)):Select() oAs:Range(oAs:Cells(2,2),oAs:Cells(7,cColumn-1)):Copy() oSheet_S:=oBook_S :Sheets(1):Select() oBook_S :=oExcel_S:ActiveWorkBook oAs_S :=oExcel_S:ActiveSheet() oSheet_S:=oBook_S :Sheets(1) oAs_S :Cells(14,2):Select() oSheet_S:Paste() Hb_GtInfo(HB_GTI_CLIPBOARDDATA, "") копирование ячеек из одной книги в другую


Snake: Ура, заработало! Спасибо! oAS:WorkSheets(1):Select() oAS:Visible := .T. oAS:Cells(1,1):Value :="2" oAS:Cells(1,2):Value :="2" oAS:Cells(1,3):Value :="=SUM(A1:B1)" oAS:Range(oAs:Cells(1,1),oAs:Cells(1,3)):Copy() oAS:ActiveSheet() :Cells(2,1):Select() oAS:ActiveWorkBook :Sheets(1):Paste()

Snake: - а почему так не проходит? oAS:WorkSheets(1):Select() oAS:Visible := .T. oAS:Cells(1,1):Value :="2" oAS:Cells(1,2):Value :="2" oAS:Cells(1,3):Value :="=SUM(A1:B1)" oAS:Range(oAs:Cells(1,1),oAs:Cells(1,3)):Copy() oAS:ActiveSheet() :Cells(2,1):Select() /***/ oAs:Range(oAs:Cells(2,1),oAs:Cells(2,3)):Interior: Color := RGB(255,255,0) /***/ oAS:ActiveWorkBook :Sheets(1):Paste() Error Excel.Application:ACTIVEWORKBOOK:SHEETS/3 DISP_E_MEMBERNOTFOUND: PASTE Called from TOLEAUTO:PASTE(0) |

Softlog86: Подскажите команды для работы с таблицей XLS из Harbour 1) Как установить ширину столбца ? (уже разобрался ) 2) Как установить формат данных в ячейке ? EXCELL частенько воспринимает записанное текстовое значение (например : "01417652" ) как число - а нужно принудительно сделать текстовым ! 3) Центрирование внутри ячейки 4) Работа с цветом в ячейках - цвет фона и цвет букв . Может есть готовый список команд и переменных ? Заранее благодарю !

Snake: Еще пара вопросов... 1. Есть файл и в нем одна таблица - Sheet1. Нужно создать Sheet2 и скопировать туда все содержимое Sheet1, сохраняя все форматы! Вручную это делается просто - в Sheet1 жмем Ctrl-A, переходим в Sheet2, делаем Paste и вуаля. А как это сделать программно? 2. Как программно запустить печать из Excel? И/или сохранить файл?

Pasha: Скопировать лист nSheet1 -> nSheet2: oSheets := oBook:Sheets oSheet := oSheets:Item(nSheet2) oSheet:Select() oSheet:Copy( oSheets:Item(nSheet1) ) Печать из Excel: oSheet:PrintOut() Сохранить книгу: oBook:SaveAs( cFileName )

Snake: Спасибо! Копирование работает, но не совсем так, как надо. Мне надо перед копированием создать новый лист, поэтому в начале вставил oBook:WorkSheets():Add() Результат - Sheet1(2) - копия Sheet1, Sheet2 - пустой и Sheet1 - оригинал А хотелось бы - Sheet1 - оригинал, Sheet2 - копия Sheet1, в таком порядке. Ну там не обязательно такое иия, можно не Sheet2, а Sheet1(2), но главное чтобы копия добавлялась после оригинала. Таких операций будет несколько, и хорошо бы чтоб листы шли в порядке возрастания номера.

Pasha: Вот описание метода Add для коллекции Sheets: Creates a new worksheet, chart, or macro sheet. The new worksheet becomes the active sheet. expression.Add(Before, After, Count, Type) expression Required. An expression that returns one of the above objects. Before Optional Variant. An object that specifies the sheet before which the new sheet is added. After Optional Variant. An object that specifies the sheet after which the new sheet is added. Count Optional Variant. The number of sheets to be added. The default value is one. Type Optional Variant. Specifies the sheet type. Can be one of the following XlSheetType constants: xlWorksheet, xlChart, xlExcel4MacroSheet, or xlExcel4IntlMacroSheet. If you are inserting a sheet based on an existing template, specify the path to the template. The default value is xlWorksheet. Remarks If Before and After are both omitted, the new sheet is inserted before the active sheet. т.е, для создания 2-го листа после 1-го надо вызвать: oSheets:Add(, oSheets:Item(1))

Snake: Что-то не так... oSheets:Add(, oSheets:Item(1)) ========== Error Excel.Application:WORKSHEETS/14 DISP_E_BADPARAMCOUNT: ADD :-( Может есть какой-то способ менять листы местами?

Pasha: Snake пишет: DISP_E_BADPARAMCOUNT: ADD Неверное количество параметров для метода Add Это тот случай, когда поведение метода отличается от его описания, а почему - непонятно. Эксперементально определяется, что метод Add принимает не более 1-го параметра, т.е. можно указать только Before. Так же работает метод Move. У него тоже есть 2 параметра - Before и After, но понимает но только 1-й. И толку с него столько же, сколько и с Add. Если вызывать этот метод через макросы экселя, то он работает. Но там указываются ключевые параметры, а у нас позиционные.

nick_mi: При создании xls создавай сразу два листа, а потом добавляй по мере надобности перед последним листом, последний лист можно удалить после окончания заполнения, а листы переименовать так, как хочешь

Snake: еще вопрос: oAS:Sheets:Item(4):Delete() - выводит запрос на подтверждение удаления. Как сделать так, чтобы лист удалялся без подтверждения?

Dima: Snake http://www.sql.ru/forum/actualthread.aspx?tid=175452

Snake: Спасибо... но теперь бы это в Харбор перевести...

Dima: oAS:DisplayAlerts:=.f.

Vlad04: xXarbour 1. Проблема на ровном месте. Потребовалось к существующим отчетам Excel добавить еще один. Отчет, всю работу по подготовке к нему, формирую в отдельном файле ( пробовал и в отдельной функции существующего файла). ExcelApl переменная (Private) объявлена в головном файле и инициализируется как обычно.При открытии файла шаблона в данной строке возникает ошибка. ExcelApl:WorkBooks:Add(Par1+"PIC\ITOG.xls") Если меняю данный шаблон на другой, работающий в другой функции, - все равно ошибка. Т.е что-то непонятное .

Dima: Vlad04 а так ? ExcelApl:WorkBooks:Open(Par1+"PIC\ITOG.xls")

Vlad04: ТО же самое. Опыты продолжаются



полная версия страницы