VBA Word 宏禁用 Excel 对话框

问题描述

我从 excel 工作表中检索数据,并使用宏将其复制到 word 中。我需要删除我定义范围内的空行,因此使用以下方法

Sub deleteRows()
  Application.displayAlerts = False
  Dim rows As Long,i As Long
  Set r = ActiveSheet.Range("C3:C100")
  rows = r.rows.Count
  For i = rows To 1 Step (-1)
    If WorksheetFunction.CountA(r.rows(i)) = 0 Then r.rows(i).Delete
  Next
  Application.displayAlerts = True
End Sub

现在我想禁用询问我是否要删除整行的弹出窗口。现在这里的另一篇文章提出的简单解决方案显然是将 displayAlerts 设置为 False。现在这行不通,这是正确的,因为应用程序在 Word 中,而不是在弹出窗口源自的 Excel 中。

有谁知道如何禁用跨应用程序的弹出窗口吗?

非常感谢!

解决方法

再次考虑我的问题后,我自己找到了替代解决方案。如果有人手上有类似的问题,我想我会把它留在这里:

Sub deleteRows()
  
  Dim rows As Long,i As Long
  Set r = ActiveSheet.Range("C3:C100")
  rows = r.rows.Count
  For i = rows To 1 Step (-1)
    If WorksheetFunction.CountA(r.rows(i)) = 0 Then r.rows(i).EntireRow.Delete
  Next
  
End Sub

我使用了 EntireRow 方法,所以一开始我什至没有从 Excel 收到警报。