Точно, я хотел бы проверить, открыта ли моя книга Excel (только одна). ЕСЛИ это открыто, ТО используйте некоторый код, чтобы получить некоторые данные из него, иначе откройте мой файл Excel и получите некоторые данные из него. Я хотел бы, чтобы мой файл Excel всегда был открыт, пока я работаю над своим документом Word.
Ниже приведен код в текстовом документе, чтобы попытаться достичь этого:
Dim appExcel As Excel.Application
Dim xlWBook As Excel.Workbook
On Error Resume Next
Set appExcel = GetObject(, "Excel.Application")
If appExcel Is Nothing Then
Set appExcel = CreateObject("Excel.Application")
Set xlWBook = appExcel.Workbooks.Open(ActiveDocument.Path & strFile)
EndIf
' Some code
xlWBook.Sheets(3).Cells(4,2).value = strData1
' or the other way
strData2 = xlWBook.Sheet(4).Cells(3,5).Value
' ...etc...
xlWBook.Close SaveChanges:=True
appExcel.Quit
Set xlWBook = Nothing
Set appExcel = Nothing
Нужно ли закрывать его (как указано выше), зная, что я буду использовать этот вид кода для другого модуля или пользовательской формы? Я на правильном пути? Или лучше открывать его каждый раз, а затем закрывать, когда вы закончите?
Моя цель - не открывать и не закрывать файл Excel каждый раз, когда мне что-то нужно из него. Обратите внимание, что вначале я открываю свой файл Excel с помощью нажатия на кнопку на ленте, чтобы ввести данные непосредственно на него, поэтому пользователь может оставить его открытым, но он может закрыть его.
Последнее подумал: мне узнать, открыт ли файл excel? Если да, закройте его, а затем открывайте и закрывайте каждый раз, когда мне это нужно.
Спасибо.