Откройте файл Excel для чтения с VBA без дисплея

Вы уже запускаете свой первый HTTP-вызов «getList» ... вы используете forEach для перебора результатов и получения количества просмотров ... Это все хорошо.

Когда вы вызываете второй HTTP-вызов «getViews (id)», убедитесь, что результаты сохранены со ссылкой на VideoId; Таким образом, вы можете просто использовать * ngIf для отображения результатов, когда они будут готовы ...

HTML

ID# {{video.videoId}}: {{video.title}} "{{video.description}}"

number of views: {{viewership.viewCount}}

релевантный TS:

this.videos.forEach(element =>{
  this.views.push({ "videoId":element.videoId, "viewCount": this.getViews(element.videoId) });
});

Для рабочей демонстрации, посмотрите здесь [112 ] - Счастливого обучения !!

58
задан Community 9 July 2018 в 19:34
поделиться

5 ответов

Не уверенный, если можно открыть их невидимо в текущем экземпляре Excel

, можно открыть новый экземпляр Excel, хотя, скройте его и затем откройте рабочие книги

Dim app as New Excel.Application
app.Visible = False 'Visible is False by default, so this isn't necessary
Dim book As Excel.Workbook
Set book = app.Workbooks.Add(fileName)
'
' Do what you have to do
'
book.Close SaveChanges:=False
app.Quit
Set app = Nothing

, Поскольку другие отправили, удостоверьтесь, что Вы моетесь после того, как Вы закончены с любыми открытыми рабочими книгами

74
ответ дан Patrick McDonald 24 November 2019 в 18:44
поделиться

Откройте их от нового экземпляра Excel.

Sub Test()

    Dim xl As Excel.Application
    Set xl = CreateObject("Excel.Application")

    Dim w As Workbook
    Set w = xl.Workbooks.Add()

    MsgBox "Not visible yet..."
    xl.Visible = True

    w.Close False
    Set xl = Nothing

End Sub

необходимо не забыть мыться после того, как Вы будете сделаны.

1
ответ дан guillermooo 24 November 2019 в 18:44
поделиться

В Excel скройте рабочие книги и сохраните их, как скрытый. Когда Ваши загрузки приложения их их не покажут.

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

0
ответ дан JohnW 24 November 2019 в 18:44
поделиться

Если это соответствует вашим потребностям, я бы просто использовал

Application.ScreenUpdating = False

с дополнительным преимуществом ускорения вашего кода, вместо того, чтобы замедлять его с помощью второго экземпляра Excel.

30
ответ дан 24 November 2019 в 18:44
поделиться

Даже если у вас есть свой ответ, для тех, кто нашел этот вопрос, также можно открыть электронную таблицу Excel в качестве хранилища данных JET. Заимствовав строку подключения из проекта, в котором я ее использовал, она будет выглядеть примерно так:

strExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & objFile.Path & ";Extended Properties=""Excel 8.0;HDR=Yes"""
strSQL = "SELECT * FROM [RegistrationList$] ORDER BY DateToRegister DESC"

Обратите внимание, что «RegistrationList» - это имя вкладки в книге. В Интернете есть несколько руководств с подробностями о том, что можно и что нельзя делать, открывая лист таким образом.

Просто подумал, что добавлю. :)

11
ответ дан 24 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: