Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Программирование на Harbour

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Технический форум БЭСТ-4
View previous topic :: View next topic  
Author Message
AndReW_Samara



Joined: 13 Feb 2002
Posts: 86
Location: Колуж Андрей Валериевич
Occupation: Гелиос-7 (начальник отдела автоматизации)
Interests: Самара

PostPosted: 17 Jun 2005 10:47    Post subject: Программирование на Harbour Reply with quote

Господа программисты! Help!!!

На Harbour-e пишу отчеты в Excel для БЭСТ-4+. В целом вроде проблем особых нет, но столкнулся с одним неприятным моментом.

Как определить буквенный индекс колонки листа Excel программно? Это особенно актуально для многоколоночных отчетов с переменным числом колонок. Вручную забивать список соответствия числа букве как-то не особо хочется. Ведь колонок может быть более сотни!

Пробовал изменить стиль ссылок на R1C1, на листе поменялось, а Harbour все равно понимает только формат A1. Может, и Harbour'у нужно это где-то прописать?
Back to top
View user's profile Send private message
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 17 Jun 2005 11:35    Post subject: Re: Программирование на Harbour Reply with quote

AndReW_Samara wrote:
Господа программисты! Help!!!

На Harbour-e пишу отчеты в Excel для БЭСТ-4+. В целом вроде проблем особых нет, но столкнулся с одним неприятным моментом.

Как определить буквенный индекс колонки листа Excel программно? Это особенно актуально для многоколоночных отчетов с переменным числом колонок. Вручную забивать список соответствия числа букве как-то не особо хочется. Ведь колонок может быть более сотни!

Пробовал изменить стиль ссылок на R1C1, на листе поменялось, а Harbour все равно понимает только формат A1. Может, и Harbour'у нужно это где-то прописать?

Добрый день!
Если я правильно понял, то можно вот так, например, это работает:
STATIC FUNCTION GetMyCol(nCol)
IF nCol<=26
RETURN CHR(ASC("A")+nCol-1)
ELSEIF nCol>26*8
RETURN "H"+CHR(ASC("A")+nCol-26*8-1)
ELSEIF nCol>26*7
RETURN "G"+CHR(ASC("A")+nCol-26*7-1)
ELSEIF nCol>26*6
RETURN "F"+CHR(ASC("A")+nCol-26*6-1)
ELSEIF nCol>26*5
RETURN "E"+CHR(ASC("A")+nCol-26*5-1)
ELSEIF nCol>26*4
RETURN "D"+CHR(ASC("A")+nCol-26*4-1)
ELSEIF nCol>26*3
RETURN "C"+CHR(ASC("A")+nCol-26*3-1)
ELSEIF nCol>26*2
RETURN "B"+CHR(ASC("A")+nCol-26*2-1)
ELSEIF nCol>26
RETURN "A"+CHR(ASC("A")+nCol-26-1)
ENDIF
RETURN CHR(ASC("A")+nCol-1)

А если использовать объект Cells, то буквенного индекса и не требуется.
_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
AndReW_Samara



Joined: 13 Feb 2002
Posts: 86
Location: Колуж Андрей Валериевич
Occupation: Гелиос-7 (начальник отдела автоматизации)
Interests: Самара

PostPosted: 17 Jun 2005 11:52    Post subject: Reply with quote

Спасибо. Все получилось. Я уже и сам начал было писать что-то подобное, но вы меня опередили
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Технический форум БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru