Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Задача определенных параметров для xls-файла / 4 сообщений из 4, страница 1 из 1
20.04.2006, 11:09:02
    #33678524
Лисонька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача определенных параметров для xls-файла
Леди и джентльмены, прошу помощи!
У меня из VFP данные скидывались в Excel через шаблонный xls-файл - операторам требовалась такая рабочая таблица, без всяких выкрутасов и украшений. Теперь на это дело обратило внимание начальство, получающийся xls-файл им понравился. И теперь начальство требует для этого файла следующее в обязательном порядке:
1. Обрамление ячеек таблицы.
2. Подписи и сумма в нескольких столбцах внизу каждой страницы.
3. Итоговая строка в конце таблицы.
Число строк на странице различно. Общее число используемых строк на эксельском листе тоже.
Можно ли эти три задачи решить через мой шаблон и, если да, то как?
Благодарю
...
Рейтинг: 0 / 0
20.04.2006, 14:39:30
    #33679458
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача определенных параметров для xls-файла
ЛисонькаМожно ли эти три задачи решить через мой шаблон и, если да, то как?
Благодарю
Можно. Примерно так:
повесить на какое-нибудь событие (например на открытие книги),
процедуру с нужным алгоритмом:
пробегаем по строкам выставляя границы,
в нужных местах добавляем строки формулы и разрывы страниц.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Sub Workbook_Open()
    Dim i As Long, h As Long, f As Long
    If ActiveSheet.Cells( 1 ,  1 ) = "" Then Exit Sub 'проверка что не шаблон
    i =  1  ' строка начала таблицы
    f = i
    h = ActiveSheet.Rows( 1 ).Height
    'пробег до поледней заполненой ячейки
    Do While i <> ActiveSheet.Cells(Rows.Count,  5 ).End(xlUp).Row 
        i = i +  1 
        'устанавливаем границы
        With ActiveSheet.Range(Cells(i,  1 ), Cells(i, ActiveSheet.UsedRange.Columns.Count))
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeRight).LineStyle = xlContinuous
            .Borders(xlInsideVertical).LineStyle = xlContinuous
        End With
        ActiveSheet.Rows(i +  1 ).AutoFit
        h = h + ActiveSheet.Rows(i +  1 ).Height ' считаем высоту
        If h >  700  Then
            ActiveSheet.Rows(i +  1 ).Insert Shift:=xlDown ' добавляем строку
            ' устанавливаем разрыв страницы
            ActiveSheet.HPageBreaks.Add Before:=ActiveSheet.Cells(i +  2 ,  1 )
            'вставляем формулу  в 5-ый столбец
            ActiveSheet.Cells(i +  1 ,  4 ) = "Total:"
            ActiveSheet.Cells(i +  1 ,  5 ).FormulaR1C1 = "=SUM(R[-" & f & "]C:R[-1]C)"
            f = i +  2  '
            h = ActiveSheet.Rows(i +  2 ).Height '
            i = i +  1 
        End If
    Loop
End Sub
...
Рейтинг: 0 / 0
20.04.2006, 18:05:45
    #33680326
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача определенных параметров для xls-файла
vkodorповесить на какое-нибудь событие (например на открытие книги),Лучше не на открытие книги, а сразу после загрузки данных в шаблон. В шаблоне создается макрос типа показанного, ему дается стандартизированное имя (например FormatReport). VFP запускает Эксель с шаблоном, пихает туда данные, потом запускает макрос. А макрос уже сделает все красивости.
А если форматирующий макрос вешать на открытие книги, он будет запускаться каждый раз при старте. А это не так уж весело :)
...
Рейтинг: 0 / 0
21.04.2006, 12:09:45
    #33682033
Лисонька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача определенных параметров для xls-файла
Класс! Правда сейчас в коде улавливаю только смысл. Так что сначала буду разбирать его для себя, а потом уж применю к своему случаю.
Спасибо всем-всем-всем.
Елизавета Скрунскайте
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Задача определенных параметров для xls-файла / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]