Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
Добрый день, возможно ли експортировать из fox pro в ексель, что бы получилась структура таблицы (групировка), и если возможно, как это делается? Спасибо.
Исправлено 1 раз(а). Последнее : ventall, 07.01.19 11:21 |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
Спасибо!
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
еще раз огромное спасибо, все получилось. единственно что, можно ли закрепить первую строку в екселе програмно, что б заголовки колонок не убегали вверх?
Исправлено 1 раз(а). Последнее : ventall, 07.01.19 17:18 |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
нажмаем в экселе - запись макроса, делаем что нужно, затем смотрим что там макрос поназаписал, забираем нужное в свой код )))
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
спасибо, но там другой синтаксис, как его перевести в код фокса?
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
Перевод макроса Excel в синтаксис FoxPro |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
уже прочитал, спасибо! только не увидел там про закрепление рабочей области.
вот что записал макрос: Range("B2").Select ActiveWindow.FreezePanes = True сижу туплю, ну ни в как после праздников голова не хочет думать=) Исправлено 2 раз(а). Последнее : ventall, 08.01.19 12:03 |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
- А вы что, и есть за меня будете? - Ага! (с) ActiveWindow Правой кнопкой в макросе и выбрать "Object Browser". Откроется окошко, где видно, к какому объекту-родителю это относится. Это объект Excel.Application. Т.е. самого Excel. Не листа! Соответственно, ссылку надо получать так
PS: В данном форуме есть кнопка "Поиск". Можно поискать по слову FreezePanes примеры использования Например: forum.foxclub.ru Исправлено 4 раз(а). Последнее : Владимир Максимов, 08.01.19 12:24 |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
простите меня, чуть подправил свой ответ, вроде все правильно делаю,
в коде дописал .Range(.Cells(3, 1), .Cells(3, 1)).Select .ActiveWindow.FreezePanes = .T. при выполнении ошибка OLE error code 0x80020006:unknown name фокс не понимает ActiveWindow.FreezePanes = .T. ? |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
ура! все получилось!
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
Нельзя установить свойство FreezePanes в Excel 2013-16
Если у Вас этот случай, то используйте предварительно созданный шаблон, на котором делаете все нужные настройки дизайна. А из FoxPro просто заполняете этот шаблон данными |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
нет, все заработало, спасибо! я и правда не правильно делал, сделал как вы написали и заработало
.Range(.Cells(2, 2), .Cells(2, 2) ).Select loExcel.ActiveWindow.FreezePanes = .T. |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
наберусь наглости, и спрошу, а возможно ли покрасить итоги другим цветом, всю таблицу получается, фильтр добавил, а вот как указать что бы ячейки залиты были .Subtotal не пойму как...
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
forum.foxclub.ru
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
читал я, нету там такого,все советуют создать шаблон, и заполнять его
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
Какой шаблон, о чём это?
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
заливает все строки, а нужно только итожки subtotal.
|
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
ну так диапазон ячеек может надо указывать такой же как и у итожков, а не абы какой? ------------------ Лень - это неосознанная мудрость. |
Re: Структурирование (группировка) в ексель из foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
не пойму как, ведь нужно закрасить всю строку, а она есть в диапозоне с обычными ячейками. как понять какая строка будет .subtotal? я бы уже вручную их прописал, уже два дня перевел, а толку мало...
#DEFINE xlSum -4157 LOCAL ln1, ln2, ln3, lcUser, lcGroup, loExcel, loWB, loSheet, lnRows, laTotalList[8] PRIVATE paData loExcel = CREATEOBJECT("Excel.Application") loWB = loExcel.Workbooks.Add() loSheet = loWB.Sheets(1) DIMENSION paData[12] paData[1] = "Група" paData[2] = "Подгрупа" paData[3] = "Название" paData[4] = "СКПП" paData[5] = "СКХА" paData[6] = "СКИЛ" paData[7] = "СКЛУ" paData[8] = "СКГК" paData[9] = "СКРО" paData[10] = "СКРА" paData[11] = "СКШЕ" paData[12] = "ВСЕГО" WITH loSheet .Range(.Cells(1,1), .Cells(1, 12)).Value = PassArray("paData") SELECT tmp.col_1, tmp.col_2, tmp.col_3, tmp.col_4,; tmp.col_5, tmp.col_6, tmp.col_7, tmp.col_8, tmp.col_9,; tmp.col_10, tmp.col_11; FROM tmp ORDER BY col_1, col_2, col_3; INTO ARRAY paData lnRows = _TALLY laTotalList[1] = 4 laTotalList[2] = 5 laTotalList[3] = 6 laTotalList[4] = 7 laTotalList[5] = 8 laTotalList[6] = 9 laTotalList[7] = 10 laTotalList[8] = 11 .Range(.Cells(2, 1), .Cells(m.lnRows + 1, 11)).Value = PassArray("paData") .Range(.Cells(2, 4), .Cells(m.lnRows + 1, 11)).Interior.ColorIndex = 20&&20- бледно-голубой, 4- зеленый .Range(.Cells(2, 1), .Cells(m.lnRows + 1, 3)).Interior.ColorIndex = 19&&20- бледно-голубой, 4- зеленый .Range(.Cells(2, 1), .Cells(m.lnRows + 1, 11)).Borders.LineStyle = 1&& прорисовка линий .Range(.Cells(2, 1), .Cells(m.lnRows + 2, 11)).Borders.WEIGHT = 1&& прорисовка линий *подитоги WITH .Range(.Cells(1, 1), .Cells(m.lnRows + 1, 11)) .Subtotal(1, xlSum, @laTotalList,.T.,.F.,.T.) ENDWITH WITH .Range(.Cells(2, 12), .Cells(m.lnRows + 100, 12)) .Select .Formula = "=SUM(d2:k2)" endwith *авторазмер первой колонки .Range(.Cells(1, 1), .Cells(1, 1)).EntireColumn.AutoFit() *закрепление ячеек .Range(.Cells(2, 2), .Cells(2, 2) ).Select loExcel.ActiveWindow.FreezePanes = .T. loExcel.ActiveWindow.DisplayZeros = .F. *автофильтр .range("A:B").EntireColumn.AutoFilter *групировка уровень2 loExcel.ActiveSheet.Outline.ShowLevels(2) ***************не получается************ либо не заливает, либо заливает все *WITH loSheet * .Range(.Cells(2, 1), .Cells(m.lnRows + 1, 11)).Value = PassArray("paData") * .Range(.Cells(2,2), .Cells(m.lnRows + 1, 11)).Interior.Color = 5296274 * ENDWITH ENDWITH loExcel.Visible = .T. PROCEDURE PassArray(tcArrayName) RETURN @&tcArrayName ENDPROC Исправлено 3 раз(а). Последнее : ventall, 09.01.19 12:55 |
© 2000-2024 Fox Club  |