#excel #vba #ms-access
#excel #vba #ms-access
Вопрос:
У меня есть форма MS Access, которая открывает двоичный файл Excel (.xlsb) с другого веб-сайта. Я пытаюсь проверить все открытые файлы Excel пользователя, чтобы работать с правильной книгой.
Выполняя приведенный ниже цикл для открытого, но не сохраненного файла Excel, GetObject не находит только что открытую книгу. Этот код находит другие файлы Excel, которые у меня, возможно, уже открыты.
Но, если я сохраню файл Excel, который я открыл из сети, закрою и снова открою его, прежде чем пытаться найти открытые файлы Excel с помощью приведенного ниже кода, код также найдет этот файл.
Есть ли лучший способ для меня записать только что открытое имя файла? В новом файле Excel мне нужно отфильтровать данные с определенных вкладок Excel и добавить эти данные в таблицы Access.
Dim xlApp As Excel.Application
Dim strWBList As String
strWBList = ""
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Dim xlWB As Excel.Workbook
For Each xlWB in xlApp.Workbooks
If Len(strWBList) > 0 Then
strWBList = strWBList amp; ","
End If
strWBList = strWBList amp; xlWB.Name
Next xlWB
Set xlApp = Nothing
Set xlWB = Nothing
End If
MsgBox strWBList
Комментарии:
1. Опубликованный вами код предоставляет вам
Excel.Application
объект, не более того. Что вы имеете в виду, когда этот код возвращает информацию об этом файле ?2. И снова — спасибо за ваш комментарий, я изменил вопрос. Я думал, что причина, по которой мой код не работал, была как-то связана конкретно с двоичными файлами Excel, но сейчас я не уверен.
3. Спасибо. У меня есть форма MS Access, которая открывает двоичный файл Excel (.xlsb) — если ваша программа открывает файл, то это точка, где вы должны получить указатель на книгу. Можете ли вы добавить код, который открывает файл, к вашему вопросу?
4. Установите xlWB = xlApp.Workbooks. Открыть (имя файла в виде строки)
5. Обратите внимание, что у вас может быть запущен другой
Excel.exe
, поэтому, очевидно, вы не найдете книгу в этом экземпляре приложения