Excel vba从不同的Excel应用程序访问工作簿实例

时间:2012-02-01 21:25:40

标签: excel vba

所以说你有两个单独的工作簿可以在一个单独的Excel进程中打开,如何访问其他工作簿并通过VBA对其进行更改?有没有办法循环遍历所有Excel应用程序,看看他们打开了哪些工作簿?非常感谢!

2 个答案:

答案 0 :(得分:0)

使用AppActivate然后使用SendKeys找到一个有点不太优雅的解决方案。 SendKeys键入一个宏的热键,它包含代码,可以执行我想要的工作簿,例如以有序的方式关闭它,这样第一个应用程序就可以打开它。

答案 1 :(得分:-1)

以下显示打开的工作簿的名称,其中工作表的名称以及单元格A1的值。这应该足以让你前进。

  Dim InxWB As Long
  Dim InxWS As Long
  For InxWB = 1 To Workbooks.Count
    With Workbooks(InxWB)
      Debug.Print "Workbook """ & .Name & """ contains the following sheets:"
        For InxWS = 1 To .Sheets.Count
          Debug.Print "    " & .Sheets(InxWS).Name
          Debug.Print "      Cell A1 contains: " & _
                                              .Sheets(InxWS).Cells(1, 1).Value
       Next
    End With
  Next