Een familie van Microsoft-spreadsheetsoftware met hulpmiddelen voor het analyseren, in kaart brengen en communiceren van gegevens.
De reden dat mijn bestanden steeds weigerde op te slaan, was dat er Shapes van het type InkComment: type 29 in het werkboek aanwezig waren.
Ik had mooie vraagteken icoontjes gemaakt en als Svg opgeslagen. Deze had ik als afbeelding in gevoegd. Na het verwijderen van de objecten liet het werkboek zich weer normaal opslaan.
Voor wie het nodig heeft, deze macro helpt bij het vinden van de boosdoeners.
Function InventariseerShapes(Optional Wb As Workbook) As String
Dim Ws As Worksheet
Dim Shp As Shape
Dim Line As String, Lines As String
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
If IsMissing(Wb) Then Set Wb = ThisWorkbook
Debug.Print "=== Shape Inventarisatie ==="
For Each Ws In Wb.Worksheets
Line = "Werkblad: " & Ws.Name
Debug.Print Line
Lines = Lines & Line & vbNewLine
For Each Shp In Ws.Shapes
Line = " - " & Shp.Name & " | Type: " & Shp.Type
Debug.Print Line
Lines = Lines & Line & vbNewLine
If Not dict.Exists(Shp.Type) Then
dict.Add Shp.Type, 1
Else
dict(Shp.Type) = dict(Shp.Type) + 1
End If
Next Shp
Next Ws
Line = vbCrLf & "=== Aantallen per Shape Type (Let Op Type: 29 is gevaarlijk!)==="
Debug.Print Line
Lines = Lines & Line & vbNewLine
Dim key
For Each key In dict.Keys
Line = "Type " & key & ": " & dict(key)
Debug.Print Line
Lines = Lines & Line & vbNewLine
Next key
InventariseerShapes = Lines
End Function