我已将图像粘贴(未链接)到我的 Excel 工作簿中。当我尝试添加任何 Private Sub 宏代码时,下次打开工作簿时,图像会显示消息“此图像无法显示”。但是,其他工作表上的图像可以正确显示,如果我将工作簿保存在不同的工作表上,当它重新打开到不同的工作表时,只有该工作表上的图像不会显示,而其他工作表上的图像现在可以正确显示。我正在运行 Excel 2016 for Mac。
需要明确的是,我没有使用宏来显示图像。图像已添加到文档中,并且应该始终显示。我只是尝试添加几行 Private Sub 代码,以便我的最终用户在关闭工作簿之前不必担心一些设置。这是一个很大的工作簿(可能会增加问题),我希望工作簿始终以“手动”计算模式保存,并关闭保存前计算。
我尝试向 Private Sub 添加“Application.ScreenUpdating = False”术语,并尝试重新插入图片,正如其他问题的答案所建议的那样,但它无法解决问题。这是我目前的代码。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.CalculateBeforeSave = False
Application.ScreenUpdating = True
End Sub
我知道我可以强制保存工作簿,然后打开一张没有图片的工作表。不过,我将其发送给最终用户,并且希望它看起来更干净。大多数情况下,我只是对这个问题感到无尽的困惑,并且很想找到更直接的解决方案!
我也遇到过同样的问题。但这只是在我复印了一张带有图片的纸张后才发生的。然后,如果该工作表是打开的活动工作表,则将其应用于任何工作表。删除并重新添加图片没有帮助。我的解决方案是将此代码添加到 Workbook_Open 事件中,以通过隐藏和取消隐藏来强制显示活动工作表上的所有图像。 (最初隐藏的任何形状都会恢复为隐藏状态。)
Private Sub Workbook_Open()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Visible = Not shp.Visible
shp.Visible = Not shp.Visible
Next
End Sub