У меня есть макрос, который я пытаюсь запустить через Access, который откроет лист Excel, выполнит некоторые действия с ним, а затем оставит лист открытым.
У меня большая часть работы работает, за исключением того, что я не могу открыть документ Excel, чтобы открыть его. Если я проверяю диспетчер задач, процесс Excel запускается в фоновом режиме, поэтому что-то происходит, просто ничего, что я физически не вижу.
Я попытался сэмплировать некоторый код, найденный через stackoverflow и другие ресурсы, и я уверен, что вы увидите это в моем текущем коде. Но я пытался около часа безрезультатно.
Private Sub Command1_Click()
Dim fd As FileDialog
Dim MySheetPath As String
Dim Xl As Excel.Application
Dim XlBook As Excel.Workbook
Dim XlSheet As Excel.Worksheet
On Error GoTo ErrorHandler
'allowing selection of the time
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
If fd.Show = True Then
If fd.SelectedItems(1) <> vbNullString Then
MySheetPath = fd.SelectedItems(1)
End If
Else
End
End If
Set Xl = CreateObject("Excel.Application")
Set XlBook = GetObject(MySheetPath)
ShowaWindow (MySheetPath)
Set XlSheet = XlBook.Worksheets(1)
XlSheet.Rows(2).EntireRow.Insert
XlSheet.Range("D2") = "ABC"
Set Xl = Nothing
Set XlBook = Nothing
Set XlSheet = Nothing
Exit Sub
ErrorHandler:
Set fd = Nothing
MsgBox "Error " & Err & ": " & Error(Err)
End Sub
Sub ShowaWindow(sFileName As String)
Dim oWb As Workbook
Set oWb = GetObject(sFileName)
For Each oWb In Workbooks
If LCase(oWb.Name) <> LCase(sFileName) Then
oWb.Windows(1).Visible = True
Exit For
End If
Next
End Sub
В идеале я бы хотел, чтобы рабочий лист отображался.