从Word打开Excel并执行操作

我想创build一个marco,使我能够在Word中工作时在Excel表格中添加一些内容。 我设法得到一些工作,从Word打开一个Excel文件:

Dim excelApp As Excel.Application Dim openExcel As Workbook Dim var1 As Integer Set excelApp = New Excel.Application Set openExcel = excelApp.Workbooks.Open("C:\Documents and Settings\aa471714\Desktop\Book1.xls") excelApp.Visible = True 

但是现在我想添加在Excel中应该发生的代码。 但是当我添加相关的代码:

 Sheets("Sheet2").Select Range("A4").Select 

这似乎并不奏效。 我可以俯视吗?

亲爱的问候,

渣子

请记住,在Word中创build的macros默认应用程序始终是Word应用程序。 因此,每当您想要在Excel中进行任何操作时,您都需要通过添加对Excel应用程序(或其他Excel对象的完整引用)(如下所示)来声明它。

请记住,您将需要在这种情况下添加扩展的对象层次结构。

回到你的代码 – 添加这种types的对象引用应该可以解决这个问题:( 包括一些额外的重新版本)

 'comments referring to Object hierarchy openExcel.Sheets("Sheet2").Select 'OK because sheet is an object below Workbook excelApp.Range("A4").Select 'NEW, Range is object below Application or... openExcel.Sheets("Sheet2").Range("A4").Select 'IMPROVED, Range is object below sheet 'general- Range.Select works only for activesheet!! 

对象openExcel保持对excelApp表示的Excel应用程序的excelApp