title: FileSave() Word Macro
body: <p>I have written a macro which when a file is created and the little save button is clicked the macro is triggered(as it overrides the default FileSave function). The macro extracts information from a table in my document, converts it to a string then cleanses that string of any carriage returns then uses that as the file name. An if statement then runs checking whether a hidden row in the table has a value of 1 and if not then it will set the value to 1 and save the document at the location specified with the new filename.</p>
  
  <p>All of this works great except when I re-open the file to edit it, as my users will do, and click save again it tries to run everything again, completely ignoring my If statements first statement and will add a carriage return to the start of the filename effectively breaking the save function to SharePoint as it has an invalid character in it. If you then click save again it will seemingly run the macro as normal and save it by actually reading the if statement correctly. Am I doing something wrong here? </p>
  
  <p>Here is the code:</p>
  
  <pre><code>Sub FileSave()
      Dim strText As String
      Dim strClean As String
      Dim strFileName As String
      Dim strLocation As String
      Dim strSavedName As String
      Dim strCleanSave As String
  
      strText = ActiveDocument.Tables(1).Rows(1).Cells(2).Range.Text
  
      strClean = Application.CleanString(strText)
  
      strFileName = strClean + "_" + Format(Date, "yyyy-mm-dd")
  
      strLocation = "[My SharePoint Site]"
  
      If ActiveDocument.Tables(1).Rows(1).Cells(3).Range.Text = "1" Then
          strSavedName = ActiveDocument.Name
          strCleanSave = Application.CleanString(strSavedName)
          ActiveDocument.SaveAs FileName:=strSavedName
          Exit Sub
      Else
          ActiveDocument.Tables(1).Rows(1).Cells(3).Range.Text = "1"
          ActiveDocument.SaveAs FileName:=strLocation &amp; strFileName &amp; ".docx"
      End If
  End Sub
  </code></pre>