Перейти к содержанию

РЕМОНТ ТАБЛИЦ


Перейти к решению Решено eremej,

Рекомендуемые сообщения

42 минуты назад, Shurik91 сказал:

Итак😅, ПОЧТИ УНИВЕРСАЛЬНАЯ ИНСТРУКЦИЯ v. 01.08.2024📎. Чтобы отремонтировать свою любимую таблицу❤️.

В 70%, она должна сработать. Но бывают случаи, когда кто-то уже побывал в таблице или таблица, написана с некоторыми отличиями.

Тогда нужно, повнимательнее быть и проверять, что меняете и где?

Думаю, кто не справится сам. Сможет здесь попросить, кого-то помочь или подсказать.

РЕШЕНИЕ✔️ оцениваю как СЛОЖНО, но возможно, главное захотеть👌

постарался максимально упростить инструкцию, чтобы у всех была возможность, попробовать самостоятельно сделать ремонт или помогать другим. Так как таблиц очень много.

ПОЕХАЛИ✍️

1.       В отдельный новый модуль.

2.       Скопируй и вставь, функцию getTable. Внутри ничего не меняй. Она универсальная.

Мы будем вызывать её далее, для загрузки нужных таблиц.

3.       Обязательно удали строку Option Explicit. Которая появится в новом модуле.

image.thumb.png.65f10883bf8d91d446cfde428ec6795d.png

Код функции getTable:

Function getTable(id, sourcer, table_name)
    Dim table(35) As Variant
    Dim game(25) As Variant
    
    Select Case table_name:
        Case "table_overall": table_index = 1: my_temper = "0"
        Case "table_home": table_index = 2: my_temper = "0"
        Case "table_away": table_index = 3: my_temper = "0"
        Case "form_overall": table_index = 5: my_temper = "0"
        Case "form_home": table_index = 8: my_temper = "0"
        Case "form_away": table_index = 9: my_temper = "0"
        Case "over_under_overall": table_index = 6: my_temper = "2.5"
        Case "over_under_home": table_index = 17: my_temper = "2.5"
        Case "over_under_away": table_index = 18: my_temper = "2.5"
    End Select
    
    t = 0
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    objHttp.Open "GET", "https://d." & sourcer & "x/feed/df_to_1_" & id & "_" & table_index, False
    objHttp.setRequestHeader "X-Fsign", "SW9D1eZo"
    objHttp.send
    fs_input = objHttp.responseText
    fs_rows = Split(fs_input, "¬~")
    fs_rows_len = UBound(fs_rows) - LBound(fs_rows)
    For i = 0 To fs_rows_len - 1
        fs_row = Split(fs_rows(i), "¬")
        fs_row_len = UBound(fs_row) - LBound(fs_row)
        fs_index = Split(fs_row(0), ChrW(&HF7))
        If IsArray(fs_index) Then
            fs_index_name = fs_index(0)
            fs_index_value = fs_index(1)
        End If
        If fs_index_name = "TR" And temper = True Then
            Erase game
            For j = 0 To fs_row_len
                fs_row_parts = Split(fs_row(j), ChrW(&HF7))
                Select Case fs_row_parts(0):
                    Case "TR": game(0) = fs_row_parts(1)
                    Case "TN": game(3) = fs_row_parts(1)
                    Case "TM":
                        f = fs_row_parts(1)
                        game(6) = f
                    Case "TWR", "OUO": game(9) = fs_row_parts(1)
                    Case "TDR", "OUU": game(12) = fs_row_parts(1)
                    Case "TLR": If IsEmpty(game(15)) Then game(15) = fs_row_parts(1)
                    Case "TG":
                        gols = Split(fs_row_parts(1), ":")
                        If IsEmpty(game(15)) Then game(15) = gols(0)
                        game(16) = gols(1)
                        game(18) = gols(0)
                        game(19) = gols(1)
                    Case "TP": game(25) = fs_row_parts(1)
                End Select
                    
            Next j
            If table_index = 5 And f < 5 Then GoTo next_item
            If t > 35 Then GoTo return_table
            table(t) = game
            t = t + 1
        ElseIf fs_index_name = "ETI" Then
            temper = False
            If fs_index_value = my_temper Then temper = True
        End If
next_item:
    Next i
return_table:
    getTable = table
End Function

       

4.       Далее, нужно найти модуль👁️ в твоей таблице, в котором находятся участки кода с ошибками🐛

Они все, включают в себя ссылку, с приставкой ss_1

Можно в поиск вбить, это ключевое слово и поискать по модулям.

Приблизительно, они выглядят так. Блоки с кодом. Кто пользовался старыми инструкциями по ремонту от меня, должен их знать и помнить.

image.thumb.png.87b572be664bd800d96835f11247e81e.png

 

 

6.    Когда ты обнаружил строку ss_1. Убедись, что она ПЕРВАЯ! Их может быть несколько (2, 3, 6)

Мы будем исправлять все ss_1. Начиная с ПЕРВОЙ.

Не ссылки исправлять, а добавлять новый рабочий код. В этих местах.

7.       Если ты сюда добрался, то ты в НАЧАЛЕ ПУТИ😅

8.       Теперь из ПЕРВОЙ ссылки ss_1. В твоей таблице. Нам нужно узнать, имена переменных для запуска функции getTable.

Приблизительно ссылка ss_1, выглядит так:

https://d." & sourcer & "x/feed/ss_1_" & tournamentEncodedId & "_" & tournamentStageEncodedId & "_table_overall?hp1=" & participantEncodedIds1 & "&hp2=" & participantEncodedIds2 & "&e=" & id

 

Переменные (параметры)🔧 для getTable, которые тебе нужны. Берутся из ссылки ss_1

9.1  Это имя переменной, в которой хранится название флешскора. Стандартное название sourcer. Может быть и другое!

Запиши или запомни его название.

image.thumb.png.18c2e55c989cd742d3595f5eba1a6f9a.png

Если переменной нет, а просто написано flashscore.com/ или ru/ Тогда запиши его название.

9.2   Имя турнирной таблицы. Которую мы восстанавливаем. Например здесь, в этом блоке, мы ремонтируем table_overall

image.thumb.png.a20f5f57d36a4538e6f78082ce49b134.png

9.3   Переменная, которая хранит в себе, ID текущего матча. Смотри в самый конец ссылки --->

image.thumb.png.de9b46ac6760550f85d0655eb21aee1f.png

Может быть имя id или match_id. Или другое, как у тебя.

10.   Всё запомнил или записал.

 

11. Исправляем первый ss_1

image.thumb.png.d20120c4e9c634fadd0236f76f8d8945.png

Каждый блок ss_1. Имеет своё НАЧАЛО и КОНЕЦ.

Начало - это наличие ссылки ss_1

Конец, это слово End If. Или Начало следующего блока ss_1.

Тебе нужно найти разрыв между ними.

 

12. И в конце каждого ss_1. Вызвать getTable. И передать ей переменные (параметры) 9.1, 9.2, 9.3

getTable(   ID матча,     название флешскора,     название турнирной таблицы   )

ранее, ты их записал. Поэтому проблем с поиском не будет.

Вызов getTable. Копируешь код целиком и вставляешь между концом и началом следующего ss_1

Это нужно вставить в разрыв.

b1 = 2
table_overall = getTable(id, sourcer, "table_overall")
For Each submatches In table_overall
        If IsEmpty(submatches) Then Exit For
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(0)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(3)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(6)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(9)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(12)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(15)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(18)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(19)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(25)
        b1 = b1 + 1
Next submatches

Вот так, должно, выглядеть:

image.thumb.png.8065a6ec92c47edfc18d2459a339bcdb.png

 

13. СМОТРИ внимательно! На скрине, я отметил, что должно совпадать с оригиналом. В точности, как в старом коде, который там есть.

image.thumb.png.70736ca88b73d30ed6c93b8785895806.png

1. Имя листа.

2. Имя ячеек.

3. Индексы.

Всё, должно совпадать на 100%

Ты сам, смотришь и проверяешь.

Если Имя листа другое у тебя. Ты меняешь на своё имя.

Если Индексов, меньше, лишние убираешь.

14. Первый блок ss_1 ты починил. МОЛОДЕЦ👍

15. Далее, все остальные ss_1. Ремонтируются аналогично. Первому.

Например, ты идёшь дальше.

И встретил такой блок ss_1. Он отвечает за загрузку таблицы ТБ 2,5. Для домашней команды. Имя over_under_home.

image.thumb.png.fdb3888588550066bc6db509b75601ae.png

Здесь, имя листа, имя ячеек и индексы другие и их меньше. Как быть?

Ваш новый код, должен быть таким!

Количество индексов, уменьшаем. Пишем другое имя листа. И ячейки тоже меняем.

В вызове меняем имя таблицы на over_under_home.

image.thumb.png.c38ec4363e8d23e60f3f9c89dffb0082.png

Вроде бы ВСЁ!😉 Для людей опытных напишу, коротко. Наша задача убрать полностью старый код и заменить на новый. А так как ячейки и имя листа, остаются теми же. То в новом коде, нам нужно. Просто прописать их имена и всё. Я оставил, новичкам старый код, чтобы им было легче, а то если, ещё и удалять просить... То можно совсем потеряться и запутаться😅 Кто умеет смотреть скрытые листы и ставить на стоп код, проверьте обязательно, заполнение таблиц на правильность. Мало ли...🧐

 

 

В какой версии микрософта это лучше делать? в 16 чет не запускается vb

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485894
Поделиться на другие сайты

  • Ответов 4,9 тыс
  • Создана
  • Последний ответ

Топ авторов темы

55 минут назад, Shurik91 сказал:

Итак😅, ПОЧТИ УНИВЕРСАЛЬНАЯ ИНСТРУКЦИЯ v. 01.08.2024📎. Чтобы отремонтировать свою любимую таблицу❤️.

В 70%, она должна сработать. Но бывают случаи, когда кто-то уже побывал в таблице или таблица, написана с некоторыми отличиями.

Тогда нужно, повнимательнее быть и проверять, что меняете и где?

Думаю, кто не справится сам. Сможет здесь попросить, кого-то помочь или подсказать.

РЕШЕНИЕ✔️ оцениваю как СЛОЖНО, но возможно, главное захотеть👌

постарался максимально упростить инструкцию, чтобы у всех была возможность, попробовать самостоятельно сделать ремонт или помогать другим. Так как таблиц очень много.

ПОЕХАЛИ✍️

1.       В отдельный новый модуль.

2.       Скопируй и вставь, функцию getTable. Внутри ничего не меняй. Она универсальная.

Мы будем вызывать её далее, для загрузки нужных таблиц.

3.       Обязательно удали строку Option Explicit. Которая появится в новом модуле.

image.thumb.png.65f10883bf8d91d446cfde428ec6795d.png

Код функции getTable:

Function getTable(id, sourcer, table_name)
    Dim table(35) As Variant
    Dim game(25) As Variant
    
    Select Case table_name:
        Case "table_overall": table_index = 1: my_temper = "0"
        Case "table_home": table_index = 2: my_temper = "0"
        Case "table_away": table_index = 3: my_temper = "0"
        Case "form_overall": table_index = 5: my_temper = "0"
        Case "form_home": table_index = 8: my_temper = "0"
        Case "form_away": table_index = 9: my_temper = "0"
        Case "over_under_overall": table_index = 6: my_temper = "2.5"
        Case "over_under_home": table_index = 17: my_temper = "2.5"
        Case "over_under_away": table_index = 18: my_temper = "2.5"
    End Select
    
    t = 0
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    objHttp.Open "GET", "https://d." & sourcer & "x/feed/df_to_1_" & id & "_" & table_index, False
    objHttp.setRequestHeader "X-Fsign", "SW9D1eZo"
    objHttp.send
    fs_input = objHttp.responseText
    fs_rows = Split(fs_input, "¬~")
    fs_rows_len = UBound(fs_rows) - LBound(fs_rows)
    For i = 0 To fs_rows_len - 1
        fs_row = Split(fs_rows(i), "¬")
        fs_row_len = UBound(fs_row) - LBound(fs_row)
        fs_index = Split(fs_row(0), ChrW(&HF7))
        If IsArray(fs_index) Then
            fs_index_name = fs_index(0)
            fs_index_value = fs_index(1)
        End If
        If fs_index_name = "TR" And temper = True Then
            Erase game
            For j = 0 To fs_row_len
                fs_row_parts = Split(fs_row(j), ChrW(&HF7))
                Select Case fs_row_parts(0):
                    Case "TR": game(0) = fs_row_parts(1)
                    Case "TN": game(3) = fs_row_parts(1)
                    Case "TM":
                        f = fs_row_parts(1)
                        game(6) = f
                    Case "TWR", "OUO": game(9) = fs_row_parts(1)
                    Case "TDR", "OUU": game(12) = fs_row_parts(1)
                    Case "TLR": If IsEmpty(game(15)) Then game(15) = fs_row_parts(1)
                    Case "TG":
                        gols = Split(fs_row_parts(1), ":")
                        If IsEmpty(game(15)) Then game(15) = gols(0)
                        game(16) = gols(1)
                        game(18) = gols(0)
                        game(19) = gols(1)
                    Case "TP": game(25) = fs_row_parts(1)
                End Select
                    
            Next j
            If table_index = 5 And f < 5 Then GoTo next_item
            If t > 35 Then GoTo return_table
            table(t) = game
            t = t + 1
        ElseIf fs_index_name = "ETI" Then
            temper = False
            If fs_index_value = my_temper Then temper = True
        End If
next_item:
    Next i
return_table:
    getTable = table
End Function

       

4.       Далее, нужно найти модуль👁️ в твоей таблице, в котором находятся участки кода с ошибками🐛

Они все, включают в себя ссылку, с приставкой ss_1

Можно в поиск вбить, это ключевое слово и поискать по модулям.

Приблизительно, они выглядят так. Блоки с кодом. Кто пользовался старыми инструкциями по ремонту от меня, должен их знать и помнить.

image.thumb.png.87b572be664bd800d96835f11247e81e.png

 

 

6.    Когда ты обнаружил строку ss_1. Убедись, что она ПЕРВАЯ! Их может быть несколько (2, 3, 6)

Мы будем исправлять все ss_1. Начиная с ПЕРВОЙ.

Не ссылки исправлять, а добавлять новый рабочий код. В этих местах.

7.       Если ты сюда добрался, то ты в НАЧАЛЕ ПУТИ😅

8.       Теперь из ПЕРВОЙ ссылки ss_1. В твоей таблице. Нам нужно узнать, имена переменных для запуска функции getTable.

Приблизительно ссылка ss_1, выглядит так:

https://d." & sourcer & "x/feed/ss_1_" & tournamentEncodedId & "_" & tournamentStageEncodedId & "_table_overall?hp1=" & participantEncodedIds1 & "&hp2=" & participantEncodedIds2 & "&e=" & id

 

Переменные (параметры)🔧 для getTable, которые тебе нужны. Берутся из ссылки ss_1

9.1  Это имя переменной, в которой хранится название флешскора. Стандартное название sourcer. Может быть и другое!

Запиши или запомни его название.

image.thumb.png.18c2e55c989cd742d3595f5eba1a6f9a.png

Если переменной нет, а просто написано flashscore.com/ или ru/ Тогда запиши его название.

9.2   Имя турнирной таблицы. Которую мы восстанавливаем. Например здесь, в этом блоке, мы ремонтируем table_overall

image.thumb.png.a20f5f57d36a4538e6f78082ce49b134.png

9.3   Переменная, которая хранит в себе, ID текущего матча. Смотри в самый конец ссылки --->

image.thumb.png.de9b46ac6760550f85d0655eb21aee1f.png

Может быть имя id или match_id. Или другое, как у тебя.

10.   Всё запомнил или записал.

 

11. Исправляем первый ss_1

image.thumb.png.d20120c4e9c634fadd0236f76f8d8945.png

Каждый блок ss_1. Имеет своё НАЧАЛО и КОНЕЦ.

Начало - это наличие ссылки ss_1

Конец, это слово End If. Или Начало следующего блока ss_1.

Тебе нужно найти разрыв между ними.

 

12. И в конце каждого ss_1. Вызвать getTable. И передать ей переменные (параметры) 9.1, 9.2, 9.3

getTable(   ID матча,     название флешскора,     название турнирной таблицы   )

ранее, ты их записал. Поэтому проблем с поиском не будет.

Вызов getTable. Копируешь код целиком и вставляешь между концом и началом следующего ss_1

Это нужно вставить в разрыв.

b1 = 2
table_overall = getTable(id, sourcer, "table_overall")
For Each submatches In table_overall
        If IsEmpty(submatches) Then Exit For
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(0)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(3)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(6)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(9)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(12)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(15)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(18)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(19)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(25)
        b1 = b1 + 1
Next submatches

Вот так, должно, выглядеть:

image.thumb.png.8065a6ec92c47edfc18d2459a339bcdb.png

 

13. СМОТРИ внимательно! На скрине, я отметил, что должно совпадать с оригиналом. В точности, как в старом коде, который там есть.

image.thumb.png.70736ca88b73d30ed6c93b8785895806.png

1. Имя листа.

2. Имя ячеек.

3. Индексы.

Всё, должно совпадать на 100%

Ты сам, смотришь и проверяешь.

Если Имя листа другое у тебя. Ты меняешь на своё имя.

Если Индексов, меньше, лишние убираешь.

14. Первый блок ss_1 ты починил. МОЛОДЕЦ👍

15. Далее, все остальные ss_1. Ремонтируются аналогично. Первому.

Например, ты идёшь дальше.

И встретил такой блок ss_1. Он отвечает за загрузку таблицы ТБ 2,5. Для домашней команды. Имя over_under_home.

image.thumb.png.fdb3888588550066bc6db509b75601ae.png

Здесь, имя листа, имя ячеек и индексы другие и их меньше. Как быть?

Ваш новый код, должен быть таким!

Количество индексов, уменьшаем. Пишем другое имя листа. И ячейки тоже меняем.

В вызове меняем имя таблицы на over_under_home.

image.thumb.png.c38ec4363e8d23e60f3f9c89dffb0082.png

Вроде бы ВСЁ!😉 Для людей опытных напишу, коротко. Наша задача убрать полностью старый код и заменить на новый. А так как ячейки и имя листа, остаются теми же. То в новом коде, нам нужно. Просто прописать их имена и всё. Я оставил, новичкам старый код, чтобы им было легче, а то если, ещё и удалять просить... То можно совсем потеряться и запутаться😅 Кто умеет смотреть скрытые листы и ставить на стоп код, проверьте обязательно, заполнение таблиц на правильность. Мало ли...🧐

 

 

Наркоманы

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485895
Поделиться на другие сайты

работает таблица, даже ни чего не исправлял...

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485896
Поделиться на другие сайты

Здесь я бессилен)) думаю как и 70% каперов,ничего тут не понимаю в этих кодах,ошибках,новых добавлений....увы

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485897
Поделиться на другие сайты

Работает.По инструкции сделал,хотя я ноль в этой теме.

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485898
Поделиться на другие сайты

1 час назад, Shurik91 сказал:

Итак😅, ПОЧТИ УНИВЕРСАЛЬНАЯ ИНСТРУКЦИЯ v. 01.08.2024📎. Чтобы отремонтировать свою любимую таблицу❤️.

В 70%, она должна сработать. Но бывают случаи, когда кто-то уже побывал в таблице или таблица, написана с некоторыми отличиями.

Тогда нужно, повнимательнее быть и проверять, что меняете и где?

Думаю, кто не справится сам. Сможет здесь попросить, кого-то помочь или подсказать.

РЕШЕНИЕ✔️ оцениваю как СЛОЖНО, но возможно, главное захотеть👌

постарался максимально упростить инструкцию, чтобы у всех была возможность, попробовать самостоятельно сделать ремонт или помогать другим. Так как таблиц очень много.

ПОЕХАЛИ✍️

1.       В отдельный новый модуль.

2.       Скопируй и вставь, функцию getTable. Внутри ничего не меняй. Она универсальная.

Мы будем вызывать её далее, для загрузки нужных таблиц.

3.       Обязательно удали строку Option Explicit. Которая появится в новом модуле.

image.thumb.png.65f10883bf8d91d446cfde428ec6795d.png

Код функции getTable:

Function getTable(id, sourcer, table_name)
    Dim table(35) As Variant
    Dim game(25) As Variant
    
    Select Case table_name:
        Case "table_overall": table_index = 1: my_temper = "0"
        Case "table_home": table_index = 2: my_temper = "0"
        Case "table_away": table_index = 3: my_temper = "0"
        Case "form_overall": table_index = 5: my_temper = "0"
        Case "form_home": table_index = 8: my_temper = "0"
        Case "form_away": table_index = 9: my_temper = "0"
        Case "over_under_overall": table_index = 6: my_temper = "2.5"
        Case "over_under_home": table_index = 17: my_temper = "2.5"
        Case "over_under_away": table_index = 18: my_temper = "2.5"
    End Select
    
    t = 0
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    objHttp.Open "GET", "https://d." & sourcer & "x/feed/df_to_1_" & id & "_" & table_index, False
    objHttp.setRequestHeader "X-Fsign", "SW9D1eZo"
    objHttp.send
    fs_input = objHttp.responseText
    fs_rows = Split(fs_input, "¬~")
    fs_rows_len = UBound(fs_rows) - LBound(fs_rows)
    For i = 0 To fs_rows_len - 1
        fs_row = Split(fs_rows(i), "¬")
        fs_row_len = UBound(fs_row) - LBound(fs_row)
        fs_index = Split(fs_row(0), ChrW(&HF7))
        If IsArray(fs_index) Then
            fs_index_name = fs_index(0)
            fs_index_value = fs_index(1)
        End If
        If fs_index_name = "TR" And temper = True Then
            Erase game
            For j = 0 To fs_row_len
                fs_row_parts = Split(fs_row(j), ChrW(&HF7))
                Select Case fs_row_parts(0):
                    Case "TR": game(0) = fs_row_parts(1)
                    Case "TN": game(3) = fs_row_parts(1)
                    Case "TM":
                        f = fs_row_parts(1)
                        game(6) = f
                    Case "TWR", "OUO": game(9) = fs_row_parts(1)
                    Case "TDR", "OUU": game(12) = fs_row_parts(1)
                    Case "TLR": If IsEmpty(game(15)) Then game(15) = fs_row_parts(1)
                    Case "TG":
                        gols = Split(fs_row_parts(1), ":")
                        If IsEmpty(game(15)) Then game(15) = gols(0)
                        game(16) = gols(1)
                        game(18) = gols(0)
                        game(19) = gols(1)
                    Case "TP": game(25) = fs_row_parts(1)
                End Select
                    
            Next j
            If table_index = 5 And f < 5 Then GoTo next_item
            If t > 35 Then GoTo return_table
            table(t) = game
            t = t + 1
        ElseIf fs_index_name = "ETI" Then
            temper = False
            If fs_index_value = my_temper Then temper = True
        End If
next_item:
    Next i
return_table:
    getTable = table
End Function

       

4.       Далее, нужно найти модуль👁️ в твоей таблице, в котором находятся участки кода с ошибками🐛

Они все, включают в себя ссылку, с приставкой ss_1

Можно в поиск вбить, это ключевое слово и поискать по модулям.

Приблизительно, они выглядят так. Блоки с кодом. Кто пользовался старыми инструкциями по ремонту от меня, должен их знать и помнить.

image.thumb.png.87b572be664bd800d96835f11247e81e.png

 

 

6.    Когда ты обнаружил строку ss_1. Убедись, что она ПЕРВАЯ! Их может быть несколько (2, 3, 6)

Мы будем исправлять все ss_1. Начиная с ПЕРВОЙ.

Не ссылки исправлять, а добавлять новый рабочий код. В этих местах.

7.       Если ты сюда добрался, то ты в НАЧАЛЕ ПУТИ😅

8.       Теперь из ПЕРВОЙ ссылки ss_1. В твоей таблице. Нам нужно узнать, имена переменных для запуска функции getTable.

Приблизительно ссылка ss_1, выглядит так:

https://d." & sourcer & "x/feed/ss_1_" & tournamentEncodedId & "_" & tournamentStageEncodedId & "_table_overall?hp1=" & participantEncodedIds1 & "&hp2=" & participantEncodedIds2 & "&e=" & id

 

Переменные (параметры)🔧 для getTable, которые тебе нужны. Берутся из ссылки ss_1

9.1  Это имя переменной, в которой хранится название флешскора. Стандартное название sourcer. Может быть и другое!

Запиши или запомни его название.

image.thumb.png.18c2e55c989cd742d3595f5eba1a6f9a.png

Если переменной нет, а просто написано flashscore.com/ или ru/ Тогда запиши его название.

9.2   Имя турнирной таблицы. Которую мы восстанавливаем. Например здесь, в этом блоке, мы ремонтируем table_overall

image.thumb.png.a20f5f57d36a4538e6f78082ce49b134.png

9.3   Переменная, которая хранит в себе, ID текущего матча. Смотри в самый конец ссылки --->

image.thumb.png.de9b46ac6760550f85d0655eb21aee1f.png

Может быть имя id или match_id. Или другое, как у тебя.

10.   Всё запомнил или записал.

 

11. Исправляем первый ss_1

image.thumb.png.d20120c4e9c634fadd0236f76f8d8945.png

Каждый блок ss_1. Имеет своё НАЧАЛО и КОНЕЦ.

Начало - это наличие ссылки ss_1

Конец, это слово End If. Или Начало следующего блока ss_1.

Тебе нужно найти разрыв между ними.

 

12. И в конце каждого ss_1. Вызвать getTable. И передать ей переменные (параметры) 9.1, 9.2, 9.3

getTable(   ID матча,     название флешскора,     название турнирной таблицы   )

ранее, ты их записал. Поэтому проблем с поиском не будет.

Вызов getTable. Копируешь код целиком и вставляешь между концом и началом следующего ss_1

Это нужно вставить в разрыв.

b1 = 2
table_overall = getTable(id, sourcer, "table_overall")
For Each submatches In table_overall
        If IsEmpty(submatches) Then Exit For
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(0)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(3)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(6)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(9)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(12)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(15)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(18)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(19)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(25)
        b1 = b1 + 1
Next submatches

Вот так, должно, выглядеть:

image.thumb.png.8065a6ec92c47edfc18d2459a339bcdb.png

 

13. СМОТРИ внимательно! На скрине, я отметил, что должно совпадать с оригиналом. В точности, как в старом коде, который там есть.

image.thumb.png.70736ca88b73d30ed6c93b8785895806.png

1. Имя листа.

2. Имя ячеек.

3. Индексы.

Всё, должно совпадать на 100%

Ты сам, смотришь и проверяешь.

Если Имя листа другое у тебя. Ты меняешь на своё имя.

Если Индексов, меньше, лишние убираешь.

14. Первый блок ss_1 ты починил. МОЛОДЕЦ👍

15. Далее, все остальные ss_1. Ремонтируются аналогично. Первому.

Например, ты идёшь дальше.

И встретил такой блок ss_1. Он отвечает за загрузку таблицы ТБ 2,5. Для домашней команды. Имя over_under_home.

image.thumb.png.fdb3888588550066bc6db509b75601ae.png

Здесь, имя листа, имя ячеек и индексы другие и их меньше. Как быть?

Ваш новый код, должен быть таким!

Количество индексов, уменьшаем. Пишем другое имя листа. И ячейки тоже меняем.

В вызове меняем имя таблицы на over_under_home.

image.thumb.png.c38ec4363e8d23e60f3f9c89dffb0082.png

Вроде бы ВСЁ!😉 Для людей опытных напишу, коротко. Наша задача убрать полностью старый код и заменить на новый. А так как ячейки и имя листа, остаются теми же. То в новом коде, нам нужно. Просто прописать их имена и всё. Я оставил, новичкам старый код, чтобы им было легче, а то если, ещё и удалять просить... То можно совсем потеряться и запутаться😅 Кто умеет смотреть скрытые листы и ставить на стоп код, проверьте обязательно, заполнение таблиц на правильность. Мало ли...🧐

 

 

если не сложно можно видео снять?я даже не понял где и что  находиться

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485899
Поделиться на другие сайты

1 час назад, Shurik91 сказал:

Итак😅, ПОЧТИ УНИВЕРСАЛЬНАЯ ИНСТРУКЦИЯ v. 01.08.2024📎. Чтобы отремонтировать свою любимую таблицу❤️.

В 70%, она должна сработать. Но бывают случаи, когда кто-то уже побывал в таблице или таблица, написана с некоторыми отличиями.

Тогда нужно, повнимательнее быть и проверять, что меняете и где?

Думаю, кто не справится сам. Сможет здесь попросить, кого-то помочь или подсказать.

РЕШЕНИЕ✔️ оцениваю как СЛОЖНО, но возможно, главное захотеть👌

постарался максимально упростить инструкцию, чтобы у всех была возможность, попробовать самостоятельно сделать ремонт или помогать другим. Так как таблиц очень много.

ПОЕХАЛИ✍️

1.       В отдельный новый модуль.

2.       Скопируй и вставь, функцию getTable. Внутри ничего не меняй. Она универсальная.

Мы будем вызывать её далее, для загрузки нужных таблиц.

3.       Обязательно удали строку Option Explicit. Которая появится в новом модуле.

image.thumb.png.65f10883bf8d91d446cfde428ec6795d.png

Код функции getTable:

Function getTable(id, sourcer, table_name)
    Dim table(35) As Variant
    Dim game(25) As Variant
    
    Select Case table_name:
        Case "table_overall": table_index = 1: my_temper = "0"
        Case "table_home": table_index = 2: my_temper = "0"
        Case "table_away": table_index = 3: my_temper = "0"
        Case "form_overall": table_index = 5: my_temper = "0"
        Case "form_home": table_index = 8: my_temper = "0"
        Case "form_away": table_index = 9: my_temper = "0"
        Case "over_under_overall": table_index = 6: my_temper = "2.5"
        Case "over_under_home": table_index = 17: my_temper = "2.5"
        Case "over_under_away": table_index = 18: my_temper = "2.5"
    End Select
    
    t = 0
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    objHttp.Open "GET", "https://d." & sourcer & "x/feed/df_to_1_" & id & "_" & table_index, False
    objHttp.setRequestHeader "X-Fsign", "SW9D1eZo"
    objHttp.send
    fs_input = objHttp.responseText
    fs_rows = Split(fs_input, "¬~")
    fs_rows_len = UBound(fs_rows) - LBound(fs_rows)
    For i = 0 To fs_rows_len - 1
        fs_row = Split(fs_rows(i), "¬")
        fs_row_len = UBound(fs_row) - LBound(fs_row)
        fs_index = Split(fs_row(0), ChrW(&HF7))
        If IsArray(fs_index) Then
            fs_index_name = fs_index(0)
            fs_index_value = fs_index(1)
        End If
        If fs_index_name = "TR" And temper = True Then
            Erase game
            For j = 0 To fs_row_len
                fs_row_parts = Split(fs_row(j), ChrW(&HF7))
                Select Case fs_row_parts(0):
                    Case "TR": game(0) = fs_row_parts(1)
                    Case "TN": game(3) = fs_row_parts(1)
                    Case "TM":
                        f = fs_row_parts(1)
                        game(6) = f
                    Case "TWR", "OUO": game(9) = fs_row_parts(1)
                    Case "TDR", "OUU": game(12) = fs_row_parts(1)
                    Case "TLR": If IsEmpty(game(15)) Then game(15) = fs_row_parts(1)
                    Case "TG":
                        gols = Split(fs_row_parts(1), ":")
                        If IsEmpty(game(15)) Then game(15) = gols(0)
                        game(16) = gols(1)
                        game(18) = gols(0)
                        game(19) = gols(1)
                    Case "TP": game(25) = fs_row_parts(1)
                End Select
                    
            Next j
            If table_index = 5 And f < 5 Then GoTo next_item
            If t > 35 Then GoTo return_table
            table(t) = game
            t = t + 1
        ElseIf fs_index_name = "ETI" Then
            temper = False
            If fs_index_value = my_temper Then temper = True
        End If
next_item:
    Next i
return_table:
    getTable = table
End Function

       

4.       Далее, нужно найти модуль👁️ в твоей таблице, в котором находятся участки кода с ошибками🐛

Они все, включают в себя ссылку, с приставкой ss_1

Можно в поиск вбить, это ключевое слово и поискать по модулям.

Приблизительно, они выглядят так. Блоки с кодом. Кто пользовался старыми инструкциями по ремонту от меня, должен их знать и помнить.

image.thumb.png.87b572be664bd800d96835f11247e81e.png

 

 

6.    Когда ты обнаружил строку ss_1. Убедись, что она ПЕРВАЯ! Их может быть несколько (2, 3, 6)

Мы будем исправлять все ss_1. Начиная с ПЕРВОЙ.

Не ссылки исправлять, а добавлять новый рабочий код. В этих местах.

7.       Если ты сюда добрался, то ты в НАЧАЛЕ ПУТИ😅

8.       Теперь из ПЕРВОЙ ссылки ss_1. В твоей таблице. Нам нужно узнать, имена переменных для запуска функции getTable.

Приблизительно ссылка ss_1, выглядит так:

https://d." & sourcer & "x/feed/ss_1_" & tournamentEncodedId & "_" & tournamentStageEncodedId & "_table_overall?hp1=" & participantEncodedIds1 & "&hp2=" & participantEncodedIds2 & "&e=" & id

 

Переменные (параметры)🔧 для getTable, которые тебе нужны. Берутся из ссылки ss_1

9.1  Это имя переменной, в которой хранится название флешскора. Стандартное название sourcer. Может быть и другое!

Запиши или запомни его название.

image.thumb.png.18c2e55c989cd742d3595f5eba1a6f9a.png

Если переменной нет, а просто написано flashscore.com/ или ru/ Тогда запиши его название.

9.2   Имя турнирной таблицы. Которую мы восстанавливаем. Например здесь, в этом блоке, мы ремонтируем table_overall

image.thumb.png.a20f5f57d36a4538e6f78082ce49b134.png

9.3   Переменная, которая хранит в себе, ID текущего матча. Смотри в самый конец ссылки --->

image.thumb.png.de9b46ac6760550f85d0655eb21aee1f.png

Может быть имя id или match_id. Или другое, как у тебя.

10.   Всё запомнил или записал.

 

11. Исправляем первый ss_1

image.thumb.png.d20120c4e9c634fadd0236f76f8d8945.png

Каждый блок ss_1. Имеет своё НАЧАЛО и КОНЕЦ.

Начало - это наличие ссылки ss_1

Конец, это слово End If. Или Начало следующего блока ss_1.

Тебе нужно найти разрыв между ними.

 

12. И в конце каждого ss_1. Вызвать getTable. И передать ей переменные (параметры) 9.1, 9.2, 9.3

getTable(   ID матча,     название флешскора,     название турнирной таблицы   )

ранее, ты их записал. Поэтому проблем с поиском не будет.

Вызов getTable. Копируешь код целиком и вставляешь между концом и началом следующего ss_1

Это нужно вставить в разрыв.

b1 = 2
table_overall = getTable(id, sourcer, "table_overall")
For Each submatches In table_overall
        If IsEmpty(submatches) Then Exit For
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(0)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(3)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(6)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(9)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(12)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(15)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(18)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(19)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(25)
        b1 = b1 + 1
Next submatches

Вот так, должно, выглядеть:

image.thumb.png.8065a6ec92c47edfc18d2459a339bcdb.png

 

13. СМОТРИ внимательно! На скрине, я отметил, что должно совпадать с оригиналом. В точности, как в старом коде, который там есть.

image.thumb.png.70736ca88b73d30ed6c93b8785895806.png

1. Имя листа.

2. Имя ячеек.

3. Индексы.

Всё, должно совпадать на 100%

Ты сам, смотришь и проверяешь.

Если Имя листа другое у тебя. Ты меняешь на своё имя.

Если Индексов, меньше, лишние убираешь.

14. Первый блок ss_1 ты починил. МОЛОДЕЦ👍

15. Далее, все остальные ss_1. Ремонтируются аналогично. Первому.

Например, ты идёшь дальше.

И встретил такой блок ss_1. Он отвечает за загрузку таблицы ТБ 2,5. Для домашней команды. Имя over_under_home.

image.thumb.png.fdb3888588550066bc6db509b75601ae.png

Здесь, имя листа, имя ячеек и индексы другие и их меньше. Как быть?

Ваш новый код, должен быть таким!

Количество индексов, уменьшаем. Пишем другое имя листа. И ячейки тоже меняем.

В вызове меняем имя таблицы на over_under_home.

image.thumb.png.c38ec4363e8d23e60f3f9c89dffb0082.png

Вроде бы ВСЁ!😉 Для людей опытных напишу, коротко. Наша задача убрать полностью старый код и заменить на новый. А так как ячейки и имя листа, остаются теми же. То в новом коде, нам нужно. Просто прописать их имена и всё. Я оставил, новичкам старый код, чтобы им было легче, а то если, ещё и удалять просить... То можно совсем потеряться и запутаться😅 Кто умеет смотреть скрытые листы и ставить на стоп код, проверьте обязательно, заполнение таблиц на правильность. Мало ли...🧐

 

 

Спасибо за ваш труд!! Работает.

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485901
Поделиться на другие сайты

22 минуты назад, Adok сказал:

если не сложно можно видео снять?я даже не понял где и что  находиться

к сожалению, сейчас совсем мало свободного времени. Кто разобрался и желает, может снять. Я не против, а только ЗА.

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485902
Поделиться на другие сайты

Всем добрый день!

Очень интересно. Но. Ничего не понятно.

Вот часть информации листа tInfoClass программы Proga_Farella_исправл_Mod_Sold, которую выкладывали вчера. Где тут значение из п. 9.2. инструкции, непонятно. Почему "End if" несколько штук и после какого вставлять и исправлять информацию, тоже не понятно.

I need help. Please.

 

 Set Games(i) = New Collection
        If GetFromSite("GET", "https://d." & opts.sourcer, "x/feed/ss_1_" & id & "_" & Stage_id & Srcs(i), response, "", opts.req) Then
            If dbg Then savetofile ThisWorkbook.Path & "\" & id & "_" & Stage_id & Srcs(i) & "_parse.html", response
            response = Replace(response, Chr(9), "")
            response = Replace(response, Chr(10), "")
            response = Replace(response, Chr(13), "")
            objRegExp.Pattern = pattr
            Dim rows
            rows = Split(response, "class=""table__row")
            If i > 5 Then Lasts(i) = -0.5
            If UBound(rows) > 0 Then
                Dim j
                For j = 1 To UBound(rows)
                    If InStr(1, rows(j), pretest, vbTextCompare) > 0 Then
                        If objRegExp.test(rows(j)) = True Then
                            Set omatches = objRegExp.Execute(rows(j))
                            
                            For Each m In omatches
                                
                                If i < 6 Then
                                    Lasts(i) = m.submatches(2)
                                Else
                                    If m.submatches(0) = 1 Then
                                        Lasts(i) = Lasts(i) + 1
                                    End If
                                End If
                                If (i < 3) Or (i > 2 And i < 6 And Lasts(i) = 5) Or (i > 5 And Lasts(i) = 2.5) Then
                                'rec = Array(m.submatches(0), m.submatches(3), m.submatches(6), m.submatches(9), m.submatches(12), m.submatches(15), m.submatches(18), m.submatches(19), m.submatches(22))
                                    If i < 6 Then
                                        rec = Array(m.submatches(0), m.submatches(1), m.submatches(2), m.submatches(3), m.submatches(4), m.submatches(5), m.submatches(6), m.submatches(7), m.submatches(8))
                                        If InStr(1, rec(8), "</a>") > 0 Then rec(8) = getbetween(">", "</a>", True)
                                    Else
                                        rec = Array(m.submatches(0), m.submatches(1), m.submatches(2), m.submatches(3), m.submatches(4), m.submatches(5), m.submatches(6))
                                    End If
                                    Games(i).Add rec
                                    If Games(i).Count >= 34 Then Exit For
                                Else
                                    If (i > 3 And i < 6) Or (i > 5 And Lasts(i) > 2.5) Then
                                        Exit For 'ýòî ñòðàííî äëÿ îâåððàë ôîðì âûõîäà èç öèêëà íåò à âîò äëÿ îñòàëüíûõ ôîðì âûõîä ïðè ñóáìàò÷(6)<>5 ñòîèò âûõîä èç öèêëà
                                    End If
                                End If
                            Next
                        Else
                            
                            If dbg Then
                                savetofile ThisWorkbook.Path & "\unparset_" & id & "_" & Stage_id & "_ROW(" & j & " ).html", rows(j)
                                Stop
                            End If
                        
                        End If
                    Else
                        If dbg Then
                            savetofile ThisWorkbook.Path & "\unparset_" & id & "_" & Stage_id & "_ROW(" & j & " ).html", rows(j)
                            Stop
                        End If
                    
                    End If
                Next
            Else
                Exit Function
            End If
        Else
            Exit Function
        End If
    Next

    Parse = True
End Function
 

 

Proga_Farella_исправл_Mod_Sold.xlsb

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485908
Поделиться на другие сайты

Народ, подскажите, где искать эти модули? Куда заходить? 

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485911
Поделиться на другие сайты

9 минут назад, VikTuk сказал:

Всем добрый день!

Очень интересно. Но. Ничего не понятно.

Вот часть информации листа tInfoClass программы Proga_Farella_исправл_Mod_Sold, которую выкладывали вчера. Где тут значение из п. 9.2. инструкции, непонятно. Почему "End if" несколько штук и после какого вставлять и исправлять информацию, тоже не понятно.

Таблица Farela, построена иначе, там не всё так просто, она исключение. Которое входит в 30% Нужно разбираться с ней отдельно.

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485912
Поделиться на другие сайты

кто умеет сделайте ремонт пожалуйста таблицы 

macbeth-v-3.1_08-2021.xlsb

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485913
Поделиться на другие сайты

1 минуту назад, MARYAN сказал:

кто умеет сделайте ремонт пожалуйста таблицы 

macbeth-v-3.1_08-2021.xlsb 266.9 kB · 0 загрузок

Умеет только автор инструкции)))

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485914
Поделиться на другие сайты

14 часов назад, YuriyNM сказал:

Neden yalan söylüyorsun, hiçbir şey işe yaramıyor

neden yalan söyleyeyim?

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485915
Поделиться на другие сайты

13 часов назад, Shurik91 сказал:

Итак😅, ПОЧТИ УНИВЕРСАЛЬНАЯ ИНСТРУКЦИЯ v. 01.08.2024📎. Чтобы отремонтировать свою любимую таблицу❤️.

В 70%, она должна сработать. Но бывают случаи, когда кто-то уже побывал в таблице или таблица, написана с некоторыми отличиями.

Тогда нужно, повнимательнее быть и проверять, что меняете и где?

Думаю, кто не справится сам. Сможет здесь попросить, кого-то помочь или подсказать.

РЕШЕНИЕ✔️ оцениваю как СЛОЖНО, но возможно, главное захотеть👌

постарался максимально упростить инструкцию, чтобы у всех была возможность, попробовать самостоятельно сделать ремонт или помогать другим. Так как таблиц очень много.

ПОЕХАЛИ✍️

1.       В отдельный новый модуль.

2.       Скопируй и вставь, функцию getTable. Внутри ничего не меняй. Она универсальная.

Мы будем вызывать её далее, для загрузки нужных таблиц.

3.       Обязательно удали строку Option Explicit. Которая появится в новом модуле.

image.thumb.png.65f10883bf8d91d446cfde428ec6795d.png

Код функции getTable:

Function getTable(id, sourcer, table_name)
    Dim table(35) As Variant
    Dim game(25) As Variant
    
    Select Case table_name:
        Case "table_overall": table_index = 1: my_temper = "0"
        Case "table_home": table_index = 2: my_temper = "0"
        Case "table_away": table_index = 3: my_temper = "0"
        Case "form_overall": table_index = 5: my_temper = "0"
        Case "form_home": table_index = 8: my_temper = "0"
        Case "form_away": table_index = 9: my_temper = "0"
        Case "over_under_overall": table_index = 6: my_temper = "2.5"
        Case "over_under_home": table_index = 17: my_temper = "2.5"
        Case "over_under_away": table_index = 18: my_temper = "2.5"
    End Select
    
    t = 0
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    objHttp.Open "GET", "https://d." & sourcer & "x/feed/df_to_1_" & id & "_" & table_index, False
    objHttp.setRequestHeader "X-Fsign", "SW9D1eZo"
    objHttp.send
    fs_input = objHttp.responseText
    fs_rows = Split(fs_input, "¬~")
    fs_rows_len = UBound(fs_rows) - LBound(fs_rows)
    For i = 0 To fs_rows_len - 1
        fs_row = Split(fs_rows(i), "¬")
        fs_row_len = UBound(fs_row) - LBound(fs_row)
        fs_index = Split(fs_row(0), ChrW(&HF7))
        If IsArray(fs_index) Then
            fs_index_name = fs_index(0)
            fs_index_value = fs_index(1)
        End If
        If fs_index_name = "TR" And temper = True Then
            Erase game
            For j = 0 To fs_row_len
                fs_row_parts = Split(fs_row(j), ChrW(&HF7))
                Select Case fs_row_parts(0):
                    Case "TR": game(0) = fs_row_parts(1)
                    Case "TN": game(3) = fs_row_parts(1)
                    Case "TM":
                        f = fs_row_parts(1)
                        game(6) = f
                    Case "TWR", "OUO": game(9) = fs_row_parts(1)
                    Case "TDR", "OUU": game(12) = fs_row_parts(1)
                    Case "TLR": If IsEmpty(game(15)) Then game(15) = fs_row_parts(1)
                    Case "TG":
                        gols = Split(fs_row_parts(1), ":")
                        If IsEmpty(game(15)) Then game(15) = gols(0)
                        game(16) = gols(1)
                        game(18) = gols(0)
                        game(19) = gols(1)
                    Case "TP": game(25) = fs_row_parts(1)
                End Select
                    
            Next j
            If table_index = 5 And f < 5 Then GoTo next_item
            If t > 35 Then GoTo return_table
            table(t) = game
            t = t + 1
        ElseIf fs_index_name = "ETI" Then
            temper = False
            If fs_index_value = my_temper Then temper = True
        End If
next_item:
    Next i
return_table:
    getTable = table
End Function

       

4.       Далее, нужно найти модуль👁️ в твоей таблице, в котором находятся участки кода с ошибками🐛

Они все, включают в себя ссылку, с приставкой ss_1

Можно в поиск вбить, это ключевое слово и поискать по модулям.

Приблизительно, они выглядят так. Блоки с кодом. Кто пользовался старыми инструкциями по ремонту от меня, должен их знать и помнить.

image.thumb.png.87b572be664bd800d96835f11247e81e.png

 

 

6.    Когда ты обнаружил строку ss_1. Убедись, что она ПЕРВАЯ! Их может быть несколько (2, 3, 6)

Мы будем исправлять все ss_1. Начиная с ПЕРВОЙ.

Не ссылки исправлять, а добавлять новый рабочий код. В этих местах.

7.       Если ты сюда добрался, то ты в НАЧАЛЕ ПУТИ😅

8.       Теперь из ПЕРВОЙ ссылки ss_1. В твоей таблице. Нам нужно узнать, имена переменных для запуска функции getTable.

Приблизительно ссылка ss_1, выглядит так:

https://d." & sourcer & "x/feed/ss_1_" & tournamentEncodedId & "_" & tournamentStageEncodedId & "_table_overall?hp1=" & participantEncodedIds1 & "&hp2=" & participantEncodedIds2 & "&e=" & id

 

Переменные (параметры)🔧 для getTable, которые тебе нужны. Берутся из ссылки ss_1

9.1  Это имя переменной, в которой хранится название флешскора. Стандартное название sourcer. Может быть и другое!

Запиши или запомни его название.

image.thumb.png.18c2e55c989cd742d3595f5eba1a6f9a.png

Если переменной нет, а просто написано flashscore.com/ или ru/ Тогда запиши его название.

9.2   Имя турнирной таблицы. Которую мы восстанавливаем. Например здесь, в этом блоке, мы ремонтируем table_overall

image.thumb.png.a20f5f57d36a4538e6f78082ce49b134.png

9.3   Переменная, которая хранит в себе, ID текущего матча. Смотри в самый конец ссылки --->

image.thumb.png.de9b46ac6760550f85d0655eb21aee1f.png

Может быть имя id или match_id. Или другое, как у тебя.

10.   Всё запомнил или записал.

 

11. Исправляем первый ss_1

image.thumb.png.d20120c4e9c634fadd0236f76f8d8945.png

Каждый блок ss_1. Имеет своё НАЧАЛО и КОНЕЦ.

Начало - это наличие ссылки ss_1

Конец, это слово End If. Или Начало следующего блока ss_1.

Тебе нужно найти разрыв между ними.

 

12. И в конце каждого ss_1. Вызвать getTable. И передать ей переменные (параметры) 9.1, 9.2, 9.3

getTable(   ID матча,     название флешскора,     название турнирной таблицы   )

ранее, ты их записал. Поэтому проблем с поиском не будет.

Вызов getTable. Копируешь код целиком и вставляешь между концом и началом следующего ss_1

Это нужно вставить в разрыв.

b1 = 2
table_overall = getTable(id, sourcer, "table_overall")
For Each submatches In table_overall
        If IsEmpty(submatches) Then Exit For
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(0)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(3)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(6)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(9)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(12)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(15)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(18)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(19)
        ThisWorkbook.Sheets("имя твоего листа").Range("имя ячейки" & b1).Value = submatches(25)
        b1 = b1 + 1
Next submatches

Вот так, должно, выглядеть:

image.thumb.png.8065a6ec92c47edfc18d2459a339bcdb.png

 

13. СМОТРИ внимательно! На скрине, я отметил, что должно совпадать с оригиналом. В точности, как в старом коде, который там есть.

image.thumb.png.70736ca88b73d30ed6c93b8785895806.png

1. Имя листа.

2. Имя ячеек.

3. Индексы.

Всё, должно совпадать на 100%

Ты сам, смотришь и проверяешь.

Если Имя листа другое у тебя. Ты меняешь на своё имя.

Если Индексов, меньше, лишние убираешь.

14. Первый блок ss_1 ты починил. МОЛОДЕЦ👍

15. Далее, все остальные ss_1. Ремонтируются аналогично. Первому.

Например, ты идёшь дальше.

И встретил такой блок ss_1. Он отвечает за загрузку таблицы ТБ 2,5. Для домашней команды. Имя over_under_home.

image.thumb.png.fdb3888588550066bc6db509b75601ae.png

Здесь, имя листа, имя ячеек и индексы другие и их меньше. Как быть?

Ваш новый код, должен быть таким!

Количество индексов, уменьшаем. Пишем другое имя листа. И ячейки тоже меняем.

В вызове меняем имя таблицы на over_under_home.

image.thumb.png.c38ec4363e8d23e60f3f9c89dffb0082.png

Вроде бы ВСЁ!😉 Для людей опытных напишу, коротко. Наша задача убрать полностью старый код и заменить на новый. А так как ячейки и имя листа, остаются теми же. То в новом коде, нам нужно. Просто прописать их имена и всё. Я оставил, новичкам старый код, чтобы им было легче, а то если, ещё и удалять просить... То можно совсем потеряться и запутаться😅 Кто умеет смотреть скрытые листы и ставить на стоп код, проверьте обязательно, заполнение таблиц на правильность. Мало ли...🧐

 

 

сколько надо потратить времяни чтобы столько написать, ролик снять 10 минут

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485916
Поделиться на другие сайты

1 час назад, виталий морозов сказал:

сколько надо потратить времяни чтобы столько написать, ролик снять 10 минут

Вообще в чем смысл вообще было это писать, слишком много возни. Не каждый сможет сделать. Ждем когда выложат готовые таблицы 🤥🤥 .

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485919
Поделиться на другие сайты

16 часов назад, Valera сказал:

Ты дятел? Я и написал что нет, не работает 

Извиняюсь.не тому написал,но не дятел конечно.но что то около этого😃

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485920
Поделиться на другие сайты

Здравствуйте! Тепер Таблица перестал загружать коэффициенты 

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485923
Поделиться на другие сайты

26 минут назад, YuriyNM сказал:

Извиняюсь.не тому написал,но не дятел конечно.но что то около этого😃

Нормально все, проехали😄🤝

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485924
Поделиться на другие сайты

15 минут назад, Jahongir Gayiberdiyev сказал:

Здравствуйте! Тепер Таблица перестал загружать коэффициенты 

коэффициенты работают, только что проверил. Проверяли загрузку с других флешскоров ?

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485925
Поделиться на другие сайты

13 часов назад, k.a.isakov сказал:

Народ, подскажите, где искать эти модули? Куда заходить? 

Добрый день.

Вот так , похоже.

image.thumb.jpeg.0a670be3de8926c25e8bc556d7c2c5fc.jpeg

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485928
Поделиться на другие сайты

Починю любую табличку кроме фарелькинои за ящик пятничного пива 🙂. Писать в личку кнопка сообщения наверху справа. 🤝

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485929
Поделиться на другие сайты

может у кого получилось исправить  таблицу Фареля,выложат сюда

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485931
Поделиться на другие сайты

Или лист на сегодня-завтра с матчами

Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485932
Поделиться на другие сайты

1 час назад, Shurik91 сказал:

коэффициенты работают, только что проверил. Проверяли загрузку с других флешскоров ?

Рабочий код для загрузки коэфициентов напишите пожалуйста сюда. Еще проблема форма обшая не загружает польнистю

Место Команда Игр Выиграно Ничьих Проиграно Забито Пропущено Очков   Место Команда Игр Выиграно Ничьих Проиграно Забито Пропущено Очков   Место Команда Игр Выиграно Ничьих Проиграно Забито Пропущено Очков
3 Атлетико Насьональ 5 3 0 2 6 5 9   1 Онсе Кальдас 2 2 0 0 3 0 6   1 Атлетико Насьональ 3 2 0 1 4 3 6
                    2 Медельин 3 1 2 0 2 1 5   2 Ла Экидад 3 2 0 1 3 2 6
                    3 Форталеза 2 1 1 0 3 2 4   3 Форталеза 1 1 0 0 2 0 3
                    4 Букараманга 2 1 1 0 1 0 4   4 Санта Фе 1 1 0 0 1 0 3
                    5 Америка Де Кали 1 1 0 0 4 0 3   5 Онсе Кальдас 1 1 0 0 1 0 3
                    6 Депортиво Пасто 1 1 0 0 2 0 3   6 Америка Де Кали 2 1 0 1 3 3 3
                    7 Толима 1 1 0 0 2 1 3   7 Перейра 2 1 0 1 2 2 3
                    8 Хуниор 1 1 0 0 2 1 3   8 Медельин 1 0 1 0 1 1 1
                    9 Ла Экидад 1 1 0 0 1 0 3   9 Толима 1 0 1 0 1 1 1
                    10 Агилас Дорадас 2 1 0 1 4 4 3   10 Мильонариос 2 0 1 1 2 3 1
                    11 Санта Фе 2 1 0 1 2 2 3   11 Патриотас 2 0 1 1 2 3 1
                    12 Энвигадо 2 1 0 1 2 2 3   12 Хуниор 2 0 1 1 0 1 1
                    13 Атлетико Насьональ 2 1 0 1 2 2 3   13 Хагуарес Кордоба 2 0 1 1 0 1 1
                    14 Мильонариос 2 1 0 1 2 2 3   14 Депортиво Кали 1 0 0 1 1 2 0
                    15 Петролера 2 1 0 1 2 3 3   15 Букараманга 1 0 0 1 0 1 0
                    16 Депортиво Кали 2 1 0 1 1 2 3   16 Агилас Дорадас 1 0 0 1 0 1 0
                    17 Перейра 1 0 1 0 1 1 1   17 Петролера 1 0 0 1 0 1 0
                    18 Хагуарес Кордоба 1 0 1 0 0 0 1   18 Депортиво Пасто 2 0 0 2 2 4 0
                    19 Чико 1 0 0 1 0 1 0   19 Чико 2 0 0 2 1 3 0
                    20 Патриотас 1 0 0 1 0 2 0   20 Энвигадо 1 0 0 1 0 4 0
                                                         
                                                         
                                                         
Ссылка на комментарий
https://brcbet.com/topic/68703-remont-tablits/page/65/#findComment-485938
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.




×
×
  • Создать...