第一遍打印无错误,第二遍则出错,发生在:sheet1.Range("A1:K29").Select,代码如下。

truemichael 2000-07-08 10:34:00
Dim xlapp As Excel.Application
Dim sheet1 As Worksheet
Dim xlbook As Workbook
Set xlapp = New Excel.Application
Set xlapp = CreateObject("excel.application")
xlapp.Visible = False
Set xlbook = xlapp.Workbooks.Open(App.Path & "\ddgl.xls")
Set sheet1 = xlbook.Worksheets(1)
sheet1.Range("A1:K29").Select
Selection.ClearContents
这里填加信息
ActiveCell.Replace What:="TRUE", Replacement:="¡Å", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="TRUE", Replacement:="¡Å", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="FALSE", Replacement:="¡Á", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("E23").Select
xlbook.Save
sheet1.PrintOut
xlapp.Quit
...全文
168 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bgxy 2001-09-08
  • 打赏
  • 举报
回复
用excel object编程,最好把xlapp.Visible = False改成xlapp.Visible = true,在VB中用debug一步一步跟着走。

你的问题应该是没有清除实例。
以下几句:
Set xlapp = CreateObject("excel.application")
xlapp.Visible = False
Set xlbook = xlapp.Workbooks.Open(App.Path & "\ddgl.xls")
Set sheet1 = xlbook.Worksheets(1)
sheet1.Range("A1:K29").Select
中建立了excel实例,打开xls文件,选择A1:K29范围的单元格
打印完成后只是关闭了excel,并没有清除实例
这样试试
xlapp.Quit
set xlapp=nothing

而且在sheet1.Range("A1:K29").Select之前加一句
sheet1.Range("A1").Select
看一下是否正确选择了A1
如果还出错,逐行debug,看是在选择A1时出错还是A1:K29时出错,也许有眉目



truemichael 2001-09-07
  • 打赏
  • 举报
回复
up

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧