title: VBA Error Handling when trying to open Workbook
body: <p>I am trying to loop through all files in a folder, open them and remove document info. I am having trouble dealing with files that cannot be opened or when opened have a pop us regarding disabling macros. I tried to solve this using on error resume next and on error goto 0. But then I get a runtime failure because my workbook object (wb) has not been set when I was trying to close files that did open.</p>
  
  <p>I have read the documentation on "On Error Resume Next" &amp; "On error goto 0" but I do not believe I am using them correctly here.
  Any help is greatly appreciated, Thanks.</p>
  
  <pre><code>Option Explicit
  Sub test_Scrubber_New()
  
  Dim directory As String, fileName As String, i As Variant, wb As Workbook
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
  
  'directory = "C:\Users\bayli\Desktop\Files for Testing\"
  directory = "C:\Users\bayli\Desktop\excel files\"
  fileName = Dir(directory &amp; "*.xl??")
  
  i = 0
  Do While fileName &lt;&gt; ""
      On Error Resume Next
      Set wb = Workbooks.Open(directory &amp; fileName)
      On Error GoTo 0
          'remove info
          ActiveWorkbook.RemoveDocumentInformation (xlRDIAll)
      wb.Close True
      i = i + 1
      fileName = Dir()
      Application.StatusBar = "Files Completed:  " &amp; i
  Loop
  
  Application.StatusBar = False
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True
  MsgBox "Complete"
  
  End Sub
  </code></pre>
  
  <p>I updated my code to include: If Not wb Is Nothing Then remove the info  as @PatricK suggested and it is working however it keeps stopping with a pop up about updating links. If I click "Do not update" my code continues working as needed but is there a way to handle this problem. I am looping through over 5k files so as you can imagine it is taking a while. The time it is taking is not a problem but currently I am sitting here having to click "dont update" quite a few times. I thought Application.DisplayAlerts = False would prevent these pop ups however it is not.</p>