AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.08.2009, 12:36   #1  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
! Заливка столбца в Excel
в ComExcelDocument_Ru имеется метод для закраски ячеек
X++:
void setRangeColor(MSOfficeBookMark_RU _bookMark,
                    int _colorIndex,     // индекс нужного цвета
                    int _workSheet = 1)
Закрашиваем колонку: exceldoc.setRangeColor('A1:A10",5);

нужно сделать тоже самое, но чтобы диапазон был без букв.
так как номер закрашиваемой колонки изначанльно неизвестен.

Полазил по форуму ничего не нашел подходящего (
Старый 20.08.2009, 12:47   #2  
Alexx7 is offline
Alexx7
Сам.AX
Аватар для Alexx7
Самостоятельные клиенты AX
1C
 
305 / 28 (1) +++
Регистрация: 22.07.2009
Цитата:
Сообщение от propeller Посмотреть сообщение
....
нужно сделать тоже самое, но чтобы диапазон был без букв.
так как номер закрашиваемой колонки изначанльно неизвестен.
....
(
Дык можно буквы то подставить, когда будет известен адрес колонки(ячейки).
MSOfficeBookMark_RU - это прежде всего str 80., а потом уже EDT - MSOfficeBookMark_RU.

Если я всё правильно понял.
Старый 20.08.2009, 12:48   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от propeller Посмотреть сообщение
так как номер закрашиваемой колонки изначанльно неизвестен.
А что известно-то?
Старый 20.08.2009, 12:50   #4  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от Alexx7 Посмотреть сообщение
Дык можно буквы то подставить, когда будет известен адрес
у меня все это в цикле.
в цикле только цифры. тогда придется цифры переводить в буквы. а это неудобно.
Старый 20.08.2009, 12:52   #5  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от Gustav Посмотреть сообщение
А что известно-то?
неправильно выразился наверное.
неизвестна буква колонки. а известен просто номер.
причем колонку нужно закрашивать не целиком , а только с определенной ячейки до определенной.
Старый 20.08.2009, 12:56   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
есть формат записи R##C###,
R1C1 - Ячейка A1
RC[1] - Ячейка на одну ниже от...
R[1]C[1] - Ячейка на одну правее и на одну ниже от...
R[-10]C[-10] - Ячейка на 10 левее и на 10 выше от...
__________________
полезное на axForum, github, vk, coub.
Старый 20.08.2009, 13:04   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от propeller Посмотреть сообщение
неправильно выразился наверное.
неизвестна буква колонки. а известен просто номер.
причем колонку нужно закрашивать не целиком , а только с определенной ячейки до определенной.
Подозреваю, что Вам нужен примерно такой оператор VBA для вычисления адреса, который оперирует только цифрами:
Код:
 
_bookMark = Range(Cells(1,1),Cells(10,1)).Address(false,false)
или полностью квалифицированная версия для воплощения в Аксапте:
Код:
_bookMark = Application.Worksheets.Item(1).Range(
Application.Worksheets.Item(1).Cells.Item(1,1),
Application.Worksheets.Item(1).Cells.Item(10,1)
).Address(false,false)
P.S. От себя в очередной раз (Копирование колонок Excel) вставлю фразу о маразматичности подхода с закладками. Наверняка, у Вас по ходу формируется (или может быть легко сформирован) нормальный объект Range, у которого сразу можно вызвать объекты и методы, отвечающие за закраску (Interior, Color, ColorIndex). И тогда отпадёт необходимость в узнавании его адреса для того, чтобы скормить его методу, который на основании переданного параметра опять-таки создаст Range и вызовет те же Interior, Color, ColorIndex

Последний раз редактировалось Gustav; 20.08.2009 в 13:22.
За это сообщение автора поблагодарили: propeller (1).
Старый 21.08.2009, 12:38   #9  
AlexArh is offline
AlexArh
Участник
 
26 / 25 (1) +++
Регистрация: 29.01.2006
Гм, зачем такие сложности? Чем не устраивает метод ComExcelDocument_RU::numToNameCell() ?
За это сообщение автора поблагодарили: mazzy (2).
Старый 21.08.2009, 15:17   #10  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от AlexArh Посмотреть сообщение
Гм, зачем такие сложности? Чем не устраивает метод ComExcelDocument_RU::numToNameCell() ?
а это "кого что больше возбуждает", тут же не просто так, тут "битва парадигм", примерно как вечный спор с какого конца чистить яйцо

propeller, а не покажете полностью свой цикл, в котором требуется это вычисление адреса?
Теги
excel, com-объект

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
gl00mie: Read Excel table via ADO Blog bot DAX Blogs 2 09.04.2010 08:32
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
вставка столбца в Excel Pawlik DAX: Программирование 23 29.03.2006 12:20

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:18.