Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 След.
Загрузка большого json
 
Цитата
Андрей VG написал:
Владимир Л  написал:если в tags есть что-то,
если ничего нет, то он будет пуст tags: []
Загрузка большого json
 
Цитата
Андрей VG написал:
вы уверены, что если представить не валидный json
простите, у меня через Ж весь интернет работает, мог пропустить ,
Сейчас должен быть валидный.
Код
{
"data":{
    "pole1":1,
    "pole2":2,
    "records":[{
        "id":1,
        "steps":[{
            "stepNumber":1,
            "answer": "текст",
            "state": "/1/2/3/4/5",
            "FromState": "/1/2/3/4/5.1-1",
            "events":[{
                "eventType": "question",
                "question": "Вопрос клиента"
                },{
                "eventType": "answer",
                "question": "ответ"
                }],
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
            },{
            "stepNumber":2,
            "answer": "текст",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"err"
                 },{}]
             
            }]
     },{
        "id":2,
        "steps":[{
            "stepNumber":1,
            "answer": "текст",
            "state": "/1/2/3/4/5/6",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
            },{
            "stepNumber":2,
            "answer": "текст",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
             
            }]     
     }]
}
}

Загрузка большого json
 
Цитата
Андрей VG написал:
вы должны представить пример
Что-то вроде этого:
Код
{
"data":{
    "pole1":1,
    "pole2":2,
    "records":[{
        "id":1,
        "steps":[{
            "stepNumber":1,
            "answer": "текст",
            "state": "/1/2/3/4/5",
            "FromState": "/1/2/3/4/5.1-1",
            "events":[{
                "eventType": "question",
                "question": "Вопрос клиента"
                },{
                "eventType": "answer",
                "question": "ответ"
                }]
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
            },{
            "stepNumber":2,
            "answer": "текст",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"err"
                 },{}]
            
            }]
     },{
        "id":2,
        "steps":[{
            "stepNumber":1,
            "answer": "текст",
            "state": "/1/2/3/4/5/6",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
            },{
            "stepNumber":2,
            "answer": "текст",
            "tags":[{
                 "stepNumber":1,
                 "name":"question",
                 "value":"ok"
                 },{}]
            
            }]     
     }]
}
}

Соответственно записей records, шагов steps может быть несколько.
Нужно обойти все записи, проверить  tags, если в tags есть что-то, то вывести value, state, id, event.question, сравнить state и FromState и определить флаг совпадения  и пр. и каждый такой элемент вывести в строку.

В идеале нужно сделать инструмент для тупого пользователя, чтобы он открыл ексель, загрузил файл  json и на лист ему вывалился необходимы список.
Да, для понимания - это сессии чат-бота с клиентами, которые размечены специалистами.
Простите за код, не нашел сворачивалку +

На данный момент, как и говорил, это реализовано с помощью библиотеки, но файл в 8 Мб может обрабатывать ооооочень долго, там порядка 350000 строк.
Изменено: Владимир Л - 07.08.2020 07:58:29
Загрузка большого json
 
Цитата
Андрей VG написал:
Вам кто-то запрещает выполнить трансформации, чтобы вывести нужные уровни  
Хотите сказать, что можно написать функцию ч циклом для обхода json объекта?
можно пример какой-нибудь? просто никогда не работал с этим инструментом.
Загрузка большого json
 
Цитата
Игорь написал:
Тогда макрос нужно написать
так он и есть, с использованием jsonbag
Загрузка большого json
 
Он берет только верхний уровень, а у меня многоуровневый json с массивами и объектами.
Мне данные нужно еще проверить по условиям и вывести на лист в определенной структуре.
Загрузка большого json
 
Добрый день.
Ребята, подскажите, какие еще есть варианты обработки json в vba?
В данный момент я гружу из файлов с помощью библиотеки jsonbag. файл порядка 6-10 Мб, данные с сайта, выгруженные через консоль.
Грузится неимоверно долго, приходится срубать через Диспетчер задач.
Распарсить json или получить jaon -объект по get запросу
 
Есть сайт, с которого нужно получать и обрабатывать данные, я нашел гет-запрос для получения json-объекта.
Нужно разобрать объект и распределить данные по стобцам таблицы.
Как я себе это представляю: 2 варианта;
1. запрос из vba к сайту (внутри закрытой сети) с авторизацией и пр., во вложенном файле пример есть - авторизация проходит, куки получает, а дальше "болт"
2. в браузере открыть гет запрос и текстов скопировать json-объект в текстовый файл и оттуда vba читать библмотеками, поскольку вставить в ячейку excel не получится, т.к. более 32000 символов.

Бибилиотеками пробовал - берет только 10 записей в объекте records, когда их 84 вроде. Несколько библиотек попробывал - одно и то же, 10 шт.
help!
В идеале по 1 варианту сделать.
Изменено: Владимир Л - 10.07.2019 17:36:52
Массив дат в AutoFilter
 
Цитата
Владимир Л написал:
был просто массив дать, без чередования, сейчас с чередованием, но сада дата в числовом формате, попробую дату в формат 7/20/2018 привезти
Все ОК, привел к нужному виду и все ОК,т.е. массив  с чередованием 2 и дата в формате месяц\/число\/год
Массив дат в AutoFilter
 
Цитата
RAN написал:
Задача передать массив дат весьма не простая, и имеет два пути решения, в зависимости от крыжа групприровать даты в автофильтре.
был просто массив дать, без чередования, сейчас с чередованием, но сада дата в числовом формате, попробую дату в формат 7/20/2018 привезти
Массив дат в AutoFilter
 
Добрый день, подскажите как в AutoFilter передать массив дать.

Код
                        ws.Range("$A$1:$AP$2088").AutoFilter Field:=2, Operator:= _
                            xlFilterValues, Criteria2:=Array(2, "7/20/2018", 2, "7/21/2018", 2, "7/22/2018", 2, _
                            "7/23/2018", 2, "7/24/2018", 2, "7/25/2018", 2, "7/26/2018")

пробовал так, но ошибку выдает:
Код
ws.Range("$A$1:$AP$2088").AutoFilter Field:=2, Operator:= _
                            xlFilterValues, Criteria2:=Arr_date

при этом даты в Arr_date записаны были как 20.07.2018 и как 43301
Адрес ячейки из RefEdit
 
Ругается: Method 'Range' of Object '_Global' failed

Цитата
Sanja написал:Range(Me.RefEdit1.Value).Value = "Какие-то данные"
превосходно, Спасибо
Адрес ячейки из RefEdit
 
Цитата
Sanja написал:
Что значит 'получаю'?
есть на форме:
Код
Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub
соответственно RefEdit.value = 'Отчет_динамика по неделям_RB'!$AR$5 - это для того,чтобы пользователь указал ячейку, в которую помещать результат расчета.

Хочу так:  'Отчет_динамика по неделям_RB'!$AR$5.value = "какие-то данные"
Изменено: Владимир Л - 09.08.2018 07:19:21
Адрес ячейки из RefEdit
 
Добрый день.
Получаю из RefEdit адрес ячейки "'Отчет_динамика по неделям_RB'!$AR$5", как мне в эту ячейку теперь записать данные?
Установить владельца файла при создании
 
Цитата
Андрей VG написал:
Полтора года прошло  
необходимость просто отпадала на это время
Установить владельца файла при создании
 
HELP
Переделать вид объекта из Array(1)(1) в Array(1,1)
 
Цитата
Цитата
Sanja написал:
Циклом
можно пример7
Переделать вид объекта из Array(1)(1) в Array(1,1)
 
подскажите как это сделать?
Убрать условное форматирование в выбранной ячейке
 
Цитата
The_Prist написал:
я не знаю по каким условиям Вы отбираете ячейки.
простите, туплю...
...у меня поиск по ФИО происходит из одного списка в другом. но все же не пойму как мне это Application.ThisWorkbook.Sheets("List").Cells(i, n) заппихать в union(rc,rr)
ведь у меня получается так
Код
for i=1 to 100
if fio == "петров" then
for n=1 to 100
' к примеру
                                                    With Application.ThisWorkbook.Sheets("ÒÀÁÅËÜ").Cells(i, n)
                                                        '.FormatConditions.Delete
                                                        .Interior.Color = RGB(255, 0, 0)
                                                        .ClearComments
                                                        .AddComment
                                                        .Comment.Text TW_SAP
                                                        With .Comment.Shape.TextFrame.Characters.Font
                                                            .Name = "Times New Roman"
                                                            .Size = 14
                                                            .Bold = True
                                                        End With
                                                    End With
end for
end if
end for
тут мне union(Range.Range).FormatConditions.Delete нужно сделать
.
Изменено: Владимир Л - 09.11.2017 13:01:20
Убрать условное форматирование в выбранной ячейке
 
Цитата
The_Prist написал:
Тогда цикл по ним, через Union объединяйте в один Range и потом махом со всех удаляйте форматирование.
я весь список ячеек могу получить только после выполнения цикла, т.е. типа создать массив динамический и пополнять его адресами ячеек, но потом его же опять циклом проходит...
можно пример, может какая функция есть добавления адреса в Range.?
Убрать условное форматирование в выбранной ячейке
 
Цитата
The_Prist написал:
Так Вы не для каждой ячейки в цикле отдельно его убирайте, а одним махом(без цикла).
вот в этом -то и затык - нужно по конкретным только.
Убрать условное форматирование в выбранной ячейке
 
Делаю так:
но повисает макрос жестоко и надолго.
Код
Application.ThisWorkbook.Sheets("ИмяЛиста").Cells(i, n).FormatConditions.Delete
Убрать условное форматирование в выбранной ячейке
 
Выяснил, что условное форматирование все срубает, как его убрать с выбранной ячейки.
Убрать условное форматирование в выбранной ячейке
 
Есть отчет - табель работы сотрудников, который формируется макросами из разных файлов, есть ячейки, в которых есть текст(тип работы), а есть пустые. Так вот, пустые ячейки я могу заливать другим цветом и вставлять примечание макросом, а заполненные ячейки я не могу заливать никак, но макросом примечание добавляется.
HELP!!!
Изменить ряд данных в диаграмме
 
Добрый день.
Есть диаграмма на листе, которая данные берет с таблицы этого же листа. Таблицу я обновляю макросом, но ряды данных в диаграмме не меняются автоматически = =да и с чего бы.
Хочу сделать обновление рядов, но не могу понять как.
Нашел в объекте диаграмм нужную, нашел имя её, но найти ряды не могу:
Код
Application.ChartsItem(1).Chart.ChartTitle.Caption
Функция всписке() или подобная
 
Добрый день.
есть функция типа всписке(лед, стекло, вода, капрон), которая проверяет существование строки в скобках, только называется она по другому - не могу вспомнить как...
Очистить массив от дублирующихся элементов
 
vikttur, если хотите сделать замечание - пишите личное сообщение, а не гадьте в теме.,..
Очистить массив от дублирующихся элементов
 
Цитата
Hugo написал:
в данном случае можно.
Подскажите как тогда в данном случае:
Код
                For t = 0 To UBound(arr_Kab_revers)
                    ggg = UBound(arr_Kab_revers(t)) + 1
                    'For e = 0 To UBound(arr_Kab_revers(t))
                    Dim ss: ss = arr_Kab_revers(t)
                    ReDim Preserve ss(ggg)
                    Dim j As Integer
                    arr_Kab_revers(t) = ss
                    arr_Kab_revers(t)(2) = j
                    'Next
                Next
arr_Kab_revers  равен массиву arr_Kab
..я хочу пробежаться по 2 одинаковым массивам, проверять дубли и, если это дубль = писать 2
Изменено: Владимир Л - 25.10.2016 11:52:29
Очистить массив от дублирующихся элементов
 
Цитата
vikttur написал:
Владимир Л, а у Вас получится не нажимать кноку цитирования для ответа?
я думал для оповещения автора цитаты нужно цитировать, иначе, если просто отвечать, то участники видеть не будут, это разве не так?
Очистить массив от дублирующихся элементов
 
Цитата
Hugo написал:
Hugo
...а можно изменить тип данных отдельного элемента массива?
Страницы: 1 2 3 4 5 След.
Наверх