Список форумов Акцент Акцент
официальный форум разработчика программы Акцент
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Вопросы по RepWizard
На страницу Пред.  1, 2, 3, 4
 
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0
Предыдущая тема :: Следующая тема  
Автор Сообщение
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Дек 21, 2010 9:07 am    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
пытаюсь подключить как .avb
в ответ
Цитата:
Невозможно создание объекта контейнером ActiveX: 'Microsoft.Excel'

Офис - какая версия?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Дек 21, 2010 9:28 am    Заголовок сообщения: Ответить с цитатой

2002
Вернуться к началу
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Дек 21, 2010 10:06 am    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
2002

Попробуй заменить на "Excel.Application.9"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Вт Дек 21, 2010 11:49 am    Заголовок сообщения: Ответить с цитатой

Excel.Application.9 таже ошибка ActiveX
Excel.Application отработало
но выдало
Код:
Требуется объект: 'wb'


и куда в excele кидать код
Код:
If UCase(oSheet.Name) = "SOURCE" Then
                Set sh = oSheet
                sh.Activate
                Set r = sh.Range("A8")
......

я так понимаю в редактор сценариев просто в книгу вставить?
Вернуться к началу
AllexL



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Вт Дек 21, 2010 2:39 pm    Заголовок сообщения: Ответить с цитатой

Начнем с того, что есть несколько сценариев:
1. Акцент - "ведущий", в нем исполняется код, получаются результаты, после их получения - осуществляется их визуализаций в MS Excel, т.е. последний является "ведомым"
Accent>--msExcel
2. Вариант, когда MS Excel - "ведущий". В нет отрабатывает скрипт на VBA, обращается к Акценту, получает и отображает данные. В данном случае ОМ может и не использоваться (если идет обращение в БД).
Accent-->msExcel
3. Трудно представить себе ситуацию, когда необходим скрипт И в Акценте, И в экселе.


Типичная задача, которая обычно мне ставится - визуализиаровать некоторые данные и позволит пользователю проанализиаровать их в нескольких ракурсах. Для этого можно создать объект СВОДНАЯ ТАБЛИЦА, для которого в качестве источника данных можно указать ADODB.Recordset либо Excel.Range.

Обычно сценарий 1 используется для достаточно простых взаимодействий, когда, например, необходимо отобразить 1:1
Сценарий 2 - для более сложных случаев, группировок, сводных таблиц, и т.д.


Определите себе близкий к Вашей задаче сценарий, я постараюсь помочь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
samarin
Гость





СообщениеДобавлено: Ср Дек 22, 2010 4:25 pm    Заголовок сообщения: Ответить с цитатой

у нас все происходит намного сложнее:
1. строятся отчеты в акценте
2. перебрасывается в excel, в уже готовый документ, в заранее оговоренный лист
Если отчет большой, предположим там десяток листов в которые нужно передать отчеты, то и лишних движений осуществляется очень много. Опираясь на Вами предложенную манеру реализации - все можно очень упростить.

Цитата:
Сценарий 2 - для более сложных случаев, группировок, сводных таблиц, и т.д.

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



Зарегистрирован: 10.03.2005
Сообщения: 434
Откуда: Donetsk

СообщениеДобавлено: Ср Дек 22, 2010 5:36 pm    Заголовок сообщения: Ответить с цитатой

samarin писал(а):
Сценарий 2 - для более сложных случаев, группировок, сводных таблиц, и т.д.

Код:

Sub Кнопка1_Щелкнуть()
    Dim sh As Excel.Worksheet
    Dim r As Range
    Dim d As Range
    Dim rs As ADODB.Recordset
    Dim pv As PivotTable
    Dim objPivotCache As PivotCache
   
    For Each oSheet In Application.Sheets
        If UCase(oSheet.Name) = "SOURCE" Then
               
                Set sh = oSheet
                sh.Activate
                Set r = sh.Range("A8")
                sh.Range("A8:IV65535").Clear
               
                Set rs = GetDataSP(sh.Range("B5").Value, CDate(sh.Range("B2").Value), CDate(sh.Range("B3").Value))
                If rs.State = adStateOpen Then
                    'If rs.EOF Then
                        sh.Range("A8").CopyFromRecordset rs
                        Set pv = Worksheets("Report").PivotTables("СводнаяТаблица1")
                        pv.PivotTableWizard xlDatabase, "Source!R7C1:R" & (rs.RecordCount + 9) & "C" & rs.Fields.Count
           
                        pv.PivotCache.Refresh
                        Worksheets("Report").Activate
                     '      Else
                       '         MsgBox "Данные отсутствуют"
                      'End If
                    Else 'state
                        MsgBox "проблема получить данные"
                End If
               ElseIf UCase(oSheet.Name) = "REport 1 " then
                            .... do something else....
        End If
    Next
End Sub

Function getDataSP(Param1 type1, Param2 type2)
   Set conn = CreateOBject("ADODB.Connection")
   Set rs  = CreateOBject("ADODB.RecordSet")
.....
    set getDataSP=rs.Execute
End Function
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Акцент -> Акцент 7.0 Часовой пояс: GMT + 2
На страницу Пред.  1, 2, 3, 4
Страница 4 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group