我编写了一个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
上面的代码适用于Windows(Vista | Xp)/ Access 2007的所有安装(使用所有补丁更新)我已经测试过,但是客户是一个。 在他的那个上,空的Excel电子表格被打开,但当我尝试写入它并且生成运行时错误时,它仍然是空的。
用户或某些特定设置的某些系统策略是否可能阻止我在其他PC上测试的正常行为? 如果是这样的话,可以做些什么来以最不显眼的方式解决它?
感谢您的任何建议!
答案 0 :(得分:0)
就这样,这个问题不会没有答案。显然问题的根源是,先前的Excel版本只有256列,并且您尝试访问“ZZ”列中的单元格。
这是一个应该与所有Excel版本一起运行的解决方案:
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