Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Работа: предложения и спрос
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.04.2011, 12:13
vladislav_m vladislav_m вне форума
Прохожий
 
Регистрация: 31.03.2011
Сообщения: 14
Версия Delphi: 7
Репутация: 10
По умолчанию нужно немного дописать

Добрый день.

Есть код который делает выгрузку в excel. Есть макрос, который красит определенные ячейки.
Нужно, связать их как нить вместе) чтоб после выгрузки сработал макрос.
о цене договоримся.
Ответить с цитированием
  #2  
Старый 15.04.2011, 13:02
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Допустим в переменной Excel у тебя объект созданный функцией CreateOleObject('Excel.Application'), тогда запуск макроса будет выглядеть так:
Код:
  Excel.Run(MacrosName, Param1, Param2,...,Param30);
MacrosName - имя макроса
ParamX - параметры

ЗЫЖ Давай договариваться о цене
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 15.04.2011, 13:08
vladislav_m vladislav_m вне форума
Прохожий
 
Регистрация: 31.03.2011
Сообщения: 14
Версия Delphi: 7
Репутация: 10
По умолчанию

Спасибо большое)) всего лишь 2 слова нужно было написать)))

тогда еще 1 вопрос)) как сделать чтоб текст в ячейках выравнивался по центру?
Ответить с цитированием
  #4  
Старый 15.04.2011, 13:24
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Дабы не отвечать односложно на кучу подобных вопросов расскажу один секрет: я, до того как прочитал эту тему, тоже не знал как запустить макрос в Excel, но я знаю один замечательный инструмент "Запись макроса".
Теперь по существу:
1. Запускаем Excel
2. Выбираем любую ячейку
3. В меню: Сервис - Макросы - Начать запись
4. В окошке "Запись макроса" жмем ОК
5. Жмем на кнопочку "Выровнять по центру" на панели инструментов. Текущая ячейка выравняется по центру.
6. Жмем на кнопку "Остановить запись" в маленьком окошечке.
7. Жмем Alt+F11
8. В дереве VBAProject выбираем Modules, окрываем Module1
9. Там по имени ищем макрос.
10. Видим примерно следующее:
Код:
Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 15.04.2011 (Aristarh Dark)
'

'
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub
Нас интересует то что я выделил жирным.
11. Как это перевести в Delphi?
12. Смотрим вот эту тему. Там можно заметить вот это:
Код:
 //Украшательство
  Sheet.Range[RangeStr].Font.Name:=TableDataFontName;
  Sheet.Range[RangeStr].Font.Size:=TableDataFontSize;
13. Думаем
14. Еще раз думаем
15. Придумали:
Код:
 //Украшательство
  Sheet.Range[RangeStr].HorizontalAlignment:=xlCenter;
  Sheet.Range[RangeStr].VerticalAlignment:=xlBottom;

ЗЫЖ: Константы xlCenter и т.п. описаны в ExcelXXX.pas.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #5  
Старый 15.04.2011, 16:46
vladislav_m vladislav_m вне форума
Прохожий
 
Регистрация: 31.03.2011
Сообщения: 14
Версия Delphi: 7
Репутация: 10
По умолчанию ~

спасибо! тему можно закрыть!)
Ответить с цитированием
  #6  
Старый 15.04.2011, 16:46
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

а где обещанная цена?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 15.04.2011, 17:11
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Aristarh Dark, ну ты чего за что ему платить, если у него уже все есть?)
Ответить с цитированием
  #8  
Старый 15.04.2011, 19:40
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

ALexandr555, он заплатит, я его знаю. У меня помощи просил, но мне реально некогда сейчас, своих проблем море.
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Часовой пояс GMT +3, время: 09:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter