From MS Access I am generating several MS Access Workbooks. Via the following code I am getting the desired save location for all of the workbooks. The following code was working without issues a few days ago. Now it abruptly fails with no error number. MS Access crashes and I get a prompt to restart MS Access and a backup file is automatically created of the MS Access project I am working on.
Strangely the code works fine if I step through it with the debugger. It simply is not working at full speed.
UPDATE 1:
If I do the falling the save_location call works.
Private Sub make_report()
' TODO#: Change to late binding when working
    Dim strSaveLocation as string
    Dim xl as Excel.Application
    dim wb as Excel.Workbook
    strSaveLocation = save_location("G:\Group2\Dev\z_report")
    Set xl=New Excel.Application
        ' do workbook stuff
        With xl
            strSaveLocation = strSaveLocation & "\report_name.xlsx"
            wb.SaveAs strSavelLocation, xlOpenXMLWorkbook
        End With    ' xl
    Set xl=nothing
End Sub
If I call the save_location function like this it abruptly crashes MS Access. It doesn't throw an error or anything. It just crashes.
Private Sub make_report()
' TODO#: Change to late binding when working
    Dim strSaveLocation as string
    Dim xl as Excel.Application
    dim wb as Excel.Workbook
    Set xl=New Excel.Application
        ' do workbook stuff
        With xl
            ' the call to save_location is inside of the xl procedure
            strSaveLocation = save_location("G:\Group2\Dev\z_report")
            strSaveLocation = strSaveLocation & "\report_name.xlsx"
            wb.SaveAs strSavelLocation, xlOpenXMLWorkbook
        End With    ' xl
    Set xl=nothing
End Sub
By moving the save_location call inside the Excel.Application work string it fails.  I don't understand why.
Private Function save_location(Optional ByVal initialDir As String) As String
On Error GoTo err_trap
    Dim fDialog As Object
    Dim blMatchIniDir As Boolean
    Set fDialog = Application.FileDialog(4)  ' msoFileDialogFolderPicker
        With fDialog
            .Title = "Select Save Location"
            If NOT (initialDir=vbnullstring) then
                .InitialFileName = initialDir
            End If
            If .Show = -1 Then
                ' item selected
                save_location = .SelectedItems(1)
            End If
        End With
    Set fDialog = Nothing
exit_function:
    Exit Function
err_trap:
    Select Case Err.Number
        Case Else
            Debug.Print Err.Number, Err.Description
            Stop
            Resume
    End Select
End Function
- Actions tried:
- Decompile project and recompile
- Create new MS Access project and import all objects
- Compact and repair
- Reset all reference
 
- Notes:
- I am using the client's system and
- I don't know of any system updates
- Client's system is a virtual desktop via VMWare
- Office 2013
- Windows 7 Pro
 
 
    