Я пытаюсь посмотреть, открыта ли книга Excel (Logtemplate.xlsm) с помощью HP Размышления VBA.And, если рабочая книга открыта на моем рабочем столе, затем отправьте
Текст из Размышления на следующую доступную строку в этой книге. Я могу открыть книгу Excel, но она обновит только текстовое сообщение , а в следующий раз, когда я попытаюсь запустить vba, он снова откроет тот же файл excel и не обновит текст. Я очень новичок в VBA, и любая помощь была бы весьма признательна. Заранее спасибо.Excel VBA, чтобы узнать, открыта ли рабочая книга и если она записывает данные
Sub Test()
On Error GoTo 0
With Session
Wait 1
Dim Text As String
Dim TopRow, LastRow, LastColumn As Integer
Dim excelApp As Object
Dim wb As Workbook
Dim eRow As Long
TopRow = .ScreenTopRow
LastRow = TopRow + .DisplayRows
LastColumn = .DisplayColumns
Text = .GetText(.CursorRow - 1, 0, .CursorRow, 125)
On Error GoTo 0
Set wb = Nothing
On Error Resume Next
Set wb = Workbooks("Logtemplate.xlsm")
On Error GoTo 0
If wb Is Nothing Then
Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = True
Set excelApp = Workbooks.Open("C:\Logtemplate.xlsm")
excelApp.Worksheets("Sheet1").Select
excelApp.Worksheets("Sheet1").Range("A2").Select
eRow = excelApp.Worksheets("Sheet1").Cells(Rows.Count, 1).End (xlUp).Offset (1, 0).Row
Cells(eRow + 1, 1).Select
Cells(eRow, 1).Value = Text
On Error Resume Next
If Not wb("Logtemplate.xlsm") Is Nothing Then
Set excelApp = Worksheets("Sheet1").Select
End If
On Error Resume Next
excelApp.Worksheets("Sheet1").Select
excelApp.Worksheets("Sheet1").Range("A2").Select
eRow = excelApp.Worksheets("Sheet1").Cells(Rows.Count, 1).End (xlUp).Offset (1, 0).Row
Cells(eRow + 1, 1).Select
Cells(eRow, 1).Value = Text
End Sub
Благодарим вас за ответ. Vba находится в HP Reflections (Attachmate), и он вызывает excel как объект. Моя проблема заключается в том, что я не могу заставить vba определить, что рабочая книга excel уже открыта ... и если она возобновляет отправку текста (как .GetText) из Reflections. – arduinooo