stevenvanheerden
asked on
Word and Excel Problem
I have recently had Office 2013 installed, running on a Windows 7 system. I have a Word document that was created on earlier versions of Word (2010). The document is protected with a password and it contains 7 graphs which are linked to Excel spreadsheets. Once the graphs have been updated in Excel one could always update the graphs in the Word Document by selecting the “Update Link” button. I have upgraded the Excel file containing the graphs to Office 2013 files. However trying to update the Word document to a new file with a new file name in Word 2013 seems impossible. The updated file does not save and one is returned to the dialogue box from which you saved the file. One can see the updated Word file name in the dialogue box but when, at later stage, you try and open the updated Word file, it is empty. After the first attempt to open the updated Word file, it disappears altogether.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
This will list your custom xml files... you can run it on a document before and after you make changes.. I've commented out the delete line...
Sub cleanDeadXML()
' PURPOSE: Delete XML duplicates and Empty files from this
' document.
On Error GoTo eh
Dim iXML As Integer
Dim iXML_dupe As Integer
Dim sXML As String
Dim cXML As CustomXMLParts
Debug.Print ThisDocument & " has " & ThisDocument.CustomXMLParts.Count & " XML parts"
Restart:
For iXML = ThisDocument.CustomXMLParts.Count To 1 Step -1
If Len(ThisDocument.CustomXMLParts(iXML).NamespaceURI) < 1 Then
Debug.Print "Delete: " & iXML
ThisDocument.CustomXMLParts(iXML).Delete
Else
sXML = ThisDocument.CustomXMLParts(iXML).NamespaceURI
Set cXML = ThisDocument.CustomXMLParts.SelectByNamespace(sXML)
Debug.Print "Part: " & iXML & " " & sXML
If cXML.Count > 1 Then
For iXML_dupe = cXML.Count To 2 Step -1
Debug.Print "Delete duplicate XML Part: " & sXML & "(" & iXML_dupe & ")"
'' cXML(iXML_dupe).Delete
Next iXML_dupe
Debug.Print "Restarting... "
GoTo Restart ' Else, deleting duplicates will result in a subscript out of range error
End If
End If
Next iXML
lbl_Exit:
Set cXML = Nothing
Exit Sub
End Sub
@stevenvanheerden - Thank you and I was happy to help.
I've had a similar issue in Wd 2010 - it refuses to save, can't even use save as... For me the problem was always related to Custom XML Parts...
If you can reproduce the error reliably then a fix might become more likely. I'd start with checking to see if there is any Custom XML and if so deleting it.
Another issue that I had caused document corruptions but did not prevent saving was when Word inadvertently allowed content controls to be nested in an unsupported way. e.g. you can put a plain text content control inside a rich text content control but if you manage to do it the other way around expect trouble...