Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.03.09 17:25. Заголовок: вопрос по Excel
Всем, привет ! Выделяю строчку в листе: 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
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.03.09 18:24. Заголовок: вопрос с Selection ..
вопрос с Selection вроде решил, но теперь надо вставить скопированное в объект Excel открытый как ActiveX что-то типа oAx:Sheets(OemToAnsi("Лист1")):Range("A1"):Select() Sheets в данном случае не катит, надо через OleInvoke(), но как ?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 25.03.09 19:32. Заголовок: oOwc = TActiveX():..
oOwc = TActiveX():New( oWnd, "OWC11.Spreadsheet" ) hSheet = oOwc:GetProp( "ActiveSheet" ) в общем все свелось к тому, чтобы получить Range как объект, но это не выходит если так OleGetProperty(hSheet, "Range") - получаю неопределенное значение если так OleGetProperty(hSheet, "Range('A1')") - получаю некое число
|
|
|
|
| |
Пост N: 108
Зарегистрирован: 12.06.06
|
|
Отправлено: 21.03.10 10:51. Заголовок: ...вопрос с selection
Напишите , пожалуйста, как решился вопрос с Selection oXls:Sheets(OemToAnsi("Лист1")):Selection():Copy() ??
|
|
|
|
| Администратор
|
Пост N: 1347
Зарегистрирован: 23.05.05
|
|
Отправлено: 22.03.10 09:45. Заголовок: На первый взгляд, на..
На первый взгляд, написано правильно Можно развернуть оператор: oBook := oXls:ActiveWorkBook oSelect := oXls:Selection oSheet := oBook:Sheets(1) oRange := oSheet:Range(oSheet:Rows(n1), oSheet:Rows(n2)) oRange:Select() oSelect:Copy()
|
|
|
|
| Администратор
|
Пост N: 1348
Зарегистрирован: 23.05.05
|
|
Отправлено: 22.03.10 10:08. Заголовок: Причиной ошибки може..
Причиной ошибки может быть то, что какие-то строки объеденены с другими, и запрошенный диапазон невозможно выделить
|
|
|
|
| |
Пост N: 109
Зарегистрирован: 12.06.06
|
|
Отправлено: 22.03.10 10:10. Заголовок: Спасибо ! Теперь с к..
Спасибо ! Теперь с копированием ошибок нет. Но и от Paste() не видно никаких действий. Иначе - в указанном месте вставка не производится, потому что копируется ячейка, которая последней редактировалась в Excelе и она же и вставляется
|
|
|
|
| Администратор
|
Пост N: 1349
Зарегистрирован: 23.05.05
|
|
Отправлено: 22.03.10 10:33. Заголовок: Надо переместиться в..
Надо переместиться в нужную ячейку, и затем выдать Paste Переместиться можно разными способами. К примеру, по имени ячейки oXls:Goto(cName) или выделить область по select затем выдать вставку oSheet:Paste()
|
|
|
|
| |
Пост N: 36
Зарегистрирован: 23.02.06
|
|
Отправлено: 17.05.10 09:10. Заголовок: oExcel:WorkBooks:Open(cFile) - Excel.Application/264 Unknown error: WORKBOOKS
Кто знает как побороть: oExcel:WorkBooks:Open(cFile) // bla bla bla ok oExcel:WorkBooks:Close() oExcel:Quit() oExcel:WorkBooks:Open(cFile1) - с неопределенной вероятностью выдает ошибку - Excel.Application/264 Unknown error: WORKBOOKS То есть первый файл открываю - всегда ок, закрываю, открываю следующий - иногда ок, иногда сабж.
|
|
|
|
| постоянный участник
|
Пост N: 912
Зарегистрирован: 09.10.06
|
|
Отправлено: 17.05.10 11:52. Заголовок: Маленький самодостат..
Маленький самодостаточный пример помог бы вам больше, чем проведение соц.опроса на тему "А кто знает..?". Если вы вызываете Excel:WorkBooks:Open(cFile1) сразу после oExcel:Quit(), то почему вас удивляет возникновение ошибок? Во-вторых метод Close имеет параметры SaveChanges, Filename, RouteWorkbook и для того, чтобы программа не зависила от поведения пользователя я писал бы так oExcel:WorkBooks(cFile):Close(TRUE,, FALSE)
|
|
|
|
| |
Пост N: 34
Зарегистрирован: 17.06.10
|
|
Отправлено: 29.09.10 18:03. Заголовок: В буфер скопирован б..
В буфер скопирован большой фрагмент таблицы. При закрытии книги через oExcel:Workbooks(cFil):Close () появляется запрос об обработке буфера. Как можно запретить убрать этого запроса ?
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 14.03.10
|
|
Отправлено: 08.10.10 14:04. Заголовок: Перед закрытием поме..
Перед закрытием помести в буфер что-нибудь маленькое.
|
|
|
|
|
| |
Пост N: 45
Зарегистрирован: 09.09.11
|
|
Отправлено: 03.11.11 14:42. Заголовок: Петр,можно по подроб..
Петр,можно по подробнее описать ситацию[pre2]` Если вы вызываете Excel:WorkBooks:Open(cFile1) сразу после oExcel:Quit(), то почему вас удивляет возникновение ошибок? Что надо сделать, или какую функцию, команду надо вставить между oExcel:Quit() и WorkBooks:Open(cFile1)?
|
|
|
|
| |
Пост N: 46
Зарегистрирован: 09.09.11
|
|
Отправлено: 24.11.11 14:51. Заголовок: Добрый день, как по ..
Добрый день, как по имени листа определить номер листа? Если в файле Excel изменить порядок листов, то из своей программы я немогу вставить буфер обмена на НУЖНЫЙ лист. Фрагмент кода oSheet_S:=oBook_S :Sheets(22):Select() oBook_S :=oExcel_S:ActiveWorkBook oAs_S :=oExcel_S:ActiveSheet() oSheet_S:=oBook_S :Sheets(22) oAs_S :Cells(88,3):Select() oSheet_S:Paste() Hb_GtInfo(HB_GTI_CLIPBOARDDATA, "") Ксати предыдущий пост так же актуален.
|
|
|
|
| Администратор
|
Пост N: 2165
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.11.11 10:07. Заголовок: По предыдущуму посту..
По предыдущуму посту. После oExcel:Quit() все надо делать сначала: инициализировать oExcel. и так далее. Это Петр имел в виду полтора года назад. Насчет имени листа: надо сделать цикл по коллекции Sheets и найти интересующее имя.
|
|
|
|
| |
Пост N: 40
Зарегистрирован: 23.02.06
|
|
Отправлено: 25.11.11 12:19. Заголовок: Кто знает, где вообщ..
Кто знает, где вообще можно почитать о работе с сабжем из харбора? В поставляемом примере дается только самый примитив, а если надо там изменить ширину колонки/высоту строки, вставить формулу, нарисовать рамку итд?
|
|
|
|
| Администратор
|
Пост N: 2166
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.11.11 12:28. Заголовок: Харбор предоставляет..
Харбор предоставляет механизм доступа к ole-обьектам и не более. А все остальное отностится непосредственно к Excel. Его и надо изучать. Можно просто почитать help к Excel VBA: vbaxl10.chm, или как он там сейчас называется. Правда, там все не по русски
|
|
|
|
| постоянный участник
|
Пост N: 252
Зарегистрирован: 06.02.07
|
|
Отправлено: 25.11.11 14:05. Заголовок: Snake , вот тут на э..
|
|
|
|
| |
Пост N: 41
Зарегистрирован: 23.02.06
|
|
Отправлено: 17.04.12 10:53. Заголовок: Спасибо! А как скопи..
Спасибо! А как скопипастить ячейку или группу ячеек? пытаюсь так: oAS:Cells( 2, 1 ):Value := 'Test' oAS:Cells(2,1):Select() oAS:Selection:Copy() oAS:Cells(3,3):Select() oAS:Paste() - выдает ошибку на Paste()
|
|
|
|
| |
Пост N: 118
Зарегистрирован: 17.06.10
|
|
Отправлено: 17.04.12 14:27. Заголовок: Вот так попробуй (по..
Вот так попробуй (по край мере с Range проходит) oAS:Cells(2,1):Copy() oAS:Cells(3,3):Select() oAS:Paste()
|
|
|
|
| |
Пост N: 42
Зарегистрирован: 23.02.06
|
|
Отправлено: 18.04.12 10:25. Заголовок: Что-то не проходит н..
Что-то не проходит ни так, ни с RANGE: oAS:RANGE(oAS:Cells(2,1),oAS:Cells(2,1)) :Copy() oAS:RANGE(oAS:Cells(3,3), oAS:Cells(3,3)) :Select() oAS:Paste() ...а еще может кто подскажет как цвет задается? для шрифта задал наобум - oAS:Cells( 2, 1 ):Font:Color := 85 - получился какой-то красноватый; а как вычислить нужный? - и как задать цвет фона?
|
|
|
Ответов - 46
, стр:
1
2
3
All
[только новые]
|
|