Данные Bloomberg не обновляются во время работы vba - PullRequest
0 голосов
/ 18 мая 2018

В настоящее время я работаю над кодом VBA, который выполняет следующие действия:

1. Копирование тикера с одного листа на другой (та же рабочая книга)

Лист, на который копируется тикер, должен быть обновлен и заполнен bloomberg

Этот лист экспортируется в формате PDF

Выполните тот же процесс, пока на первом листе больше нет тикеров.

У меня проблемы, потому что созданный мной код, похоже, не работает должным образом с Bloomberg.Итерация работает хорошо, как и экспорт в PDF.Однако, пока идет цикл, у Bloomberg недостаточно времени для обновления листа, который я хочу экспортировать.Я получаю три листа из четырех с N / As вместо правильных данных.

Вот что у меня есть до сих пор

Public Sub RefreshStaticLinks()
    Call Worksheets("M").UsedRange.Select
    Call Application.Run("RefreshCurrentSelection")
    Call Application.OnTime(Now + TimeValue("00:01:00"), "M_PDF")
End Sub

Sub Mosaic_PDF()
Dim File_Path As String
Dim File_Name As String
Dim ReportTic As String
Dim Rng As Range, cl As Range


    Set Rng = Worksheets("Set_up").Range("A2:A300")
    With Worksheets("Mosaic")
        For Each cl In Rng
            If cl <> "" Then
                Sheets("Mosaic").Range("G3") = cl
                With Worksheets("Mosaic")

                     Call Application.Run("RefreshStaticLinks")

                End With



                File_Path = "N:\DATA\EQTY\EQFUND\SI\Projects\Standard Reporting\PDF Reports\Mosaic Fundamental Positioning\"
                File_Name = "Fundamental Positioning Summary "
                ReportTic = Format(ActiveWorkbook.Sheets("Mosaic").Range("G3").Text)


                'Exports to pdf
                With ActiveWorkbook
                    With Sheets(Array("Mosaic")).Select
                    ActiveSheet.ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    Filename:=File_Path & File_Name & ReportTic & ".pdf", _
                    Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, _
                    IgnorePrintAreas:=False, _
                    OpenAfterPublish:=True

                    End With
                End With

            End If
        Next cl
    End With



End Sub
...