打开空Excel电子表格并从Access VBA写入它不起作用

我写了一个Access 2007应用程序,打开一个空的Excel电子表格,并用下面的(缩写的)VBA代码写入它:

Dim Excel_App As Excel.Application Set Excel_App = CreateObject("Excel.Application") Excel_App.Visible = True Excel_App.Workbooks.Add With Excel_App .Columns("A:ZZ").ColumnWidth = 25 .Range("A2:ZZ2").VerticalAlignment = xlCenter .Range("A2:ZZ2").Font.FontStyle = "Bold" .Range("A" & CStr(iHeadingRows)).Select .ActiveCell.FormulaR1C1 = "ABC" End With 

以上代码适用于我testing过的所有Windows(Vista | Xp)/ Access 2007(更新了所有修补程序)的安装,但是客户的一个。 在他的电子表格中,空白的Excel电子表格被打开,但是当我试图写入它并且产生运行时错误时,它仍然是空的。

是否有可能为用户制定一些系统策略,或者某些特定的设置阻止了我在其他PC上testing过的正常行为? 如果是这样的话,可以做些什么来以最不显眼的方式解决它?

感谢您的任何build议!

就这样,这个问题不是没有答案。 显然,问题的根源在于,之前的Excel版本只有256列,而您尝试访问“ZZ”列中的单元格。

这是一个应该与所有Excel版本一起运行的解决scheme:

 Dim Excel_App As Excel.Application Set Excel_App = CreateObject("Excel.Application") Excel_App.Visible = True Excel_App.Workbooks.Add With Excel_App .Range("A:A").EntireRow.ColumnWidth = 25 .Range("A2").EntireRow.VerticalAlignment = xlCenter .Range("A2").EntireRow.Font.FontStyle = "Bold" .Range("A" & CStr(iHeadingRows)).Select .ActiveCell.FormulaR1C1 = "ABC" End With