Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
D5 и листы Excell
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: D5 и листы Excell (Прочитано 9795 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
serjufa
Гость
D5 и листы Excell
«
:
27-07-2005 11:16 »
Проискал на многих форумах, но не нашел конкретных примеров на мои вопросы. В D5 программно
1. Определение кол-во листов в Excell
2. Удаление листа с определенным именем
3. Сортировка положений листов. Напр., [март 2002], [май 2005], [июнь 2005]
4. Запускать истинные макросы Excell. Речь идет не о простом запуске внешнего макроса, а о том, что я в программе завожу код на VB, динамически изменяя некоторые значения.
Если кто подскажет что-нибудь путное - буду очень
Записан
Oldy
Команда клуба
Offline
Пол:
Re: D5 и листы Excell
«
Ответ #1 :
28-07-2005 13:02 »
1. WorkBook.Sheets.Count
2. WorkBook.Sheets("Определенное имя").Delete
3. Получить имена листов ( Sheets(n).Name), отсортировать, переместить листы в нужном порядке (Sheets("Лист4").Move After:=Sheets(4)) - например.
4. Может быть эта статья поможет?
http://www.compress.ru/Temp/1773/index.htm
Записан
С уважением, Oldy.
zubr
Гость
Re: D5 и листы Excell
«
Ответ #2 :
28-07-2005 15:46 »
Цитата
Запускать истинные макросы Excell. Речь идет не о простом запуске внешнего макроса, а о том, что я в программе завожу код на VB, динамически изменяя некоторые значения.
Так в чем проблема. Программно проверяете наличие нужного макроса, если он есть удаляете его, генерируете в файл свой макрос, программно его добавляете в Excel и запускаете его.
Записан
serjufa
Гость
Re: D5 и листы Excell
«
Ответ #3 :
29-07-2005 03:34 »
Допустим имеем код макроса
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 29.07.2005 (SA)
'
'
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 29.07.2005 (SA)
'
'
ActiveSheet.Shapes.AddLine(666.75, 400.5, 822#, 430.5).Select
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
Selection.ShapeRange.Flip msoFlipVertical
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 708#, 285.75, 126#, 105.75). _
Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End Sub
теперь мне нужно его вогнать в текст проги и динамически менять цифири. И запускать так, чтоб на листе excel появился нужный результат
«
Последнее редактирование: 20-12-2007 19:10 от Алексей1153++
»
Записан
zubr
Гость
Re: D5 и листы Excell
«
Ответ #4 :
29-07-2005 04:07 »
Чтобы ваш макрос вогнать в текст проги есть множество способов: загнать его в список TStringList, затем для добавления макроса в Excel, создать файл методом TStringList.SaveToFile; загнать данный текст в буфер, а затем создать поток TMemoryStream и записать его в поток; сразу создать файл и записывать данный текст в файл; загнать данный текст в ресурс, а затем выдрать его из ресурса с помощью TResourceStream. Как добавить сам макрос могу описать только приватно, так как у меня сейчас проект на данную тему в разработке, не хочу показывать исходники, пока со мной не рассчитаются.
Записан
serjufa
Гость
Re: D5 и листы Excell
«
Ответ #5 :
29-07-2005 06:57 »
Цитата: zubr от 29-07-2005 04:07
Как добавить сам макрос могу описать только приватно
Был бы очень благодарен
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
D5 и листы Excell
Загружается...