| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1836 人关注过本帖
标题:VB如何操作当前已经打开的工作薄?
只看楼主 加入收藏
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
结帖率:51.67%
收藏
已结贴  问题点数:20 回复次数:2 
VB如何操作当前已经打开的工作薄?
我知道:Set xlBook = xlApp.Workbooks.Open(App.Path & FileName)是去打开一个工作薄.

现在想作一个示例: 在当前已打开的EXCEL中活动工作表中写一个字符...
代码如下:

Public n As Integer '用来记录第1选择了关键后的数字
Public nj As Integer '用来记录第2选择了加总字段的数字
Public mxz As Integer '用来记录2以后没有被选中字段的数字
Public xlApp As Excel.Application '定义EXCEL类
Public xlBook As Excel.Workbook '定义工件簿类
Public xlsheet, xlsheet2, xlsheet3 As Excel.Worksheet '定义工作表类
Private Sub Command1_Click()
 Dim iRow As Integer
 Dim I As Integer
 Dim shzx
  On Error Resume Next
Set xlApp = GetObject(, "Excel.Application") '判断Excel是否打开
If xlApp.xlBook.ActiveWorkbook.Sheets.Count = 0 Then
MsgBox "请打开一个工作簿!", vbInformation, "提示"
Exit Sub
End If   
  Set xlsheet = xlApp.xlBook.ActiveWorksheets(2) '打开sheet1工作表
  xlsheet.Activate
  xlsheet.Cells(2, 3) = "操作已打开的工作表"
   
End Sub  

  为何总是执行了 "请打开一个工作簿!" 这句就没有退出了..我明明打开了两个EXCEL表呀?
请高手帮忙指点一下.
搜索更多相关主题的帖子: 记录 工作表 EXCEL 
2011-10-27 12:25
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:10 
图片附件: 游客没有浏览图片的权限,请 登录注册

无知
2011-10-28 00:09
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
收藏
得分:10 
在获取对象的时候可能出错了,而你用了On Error Resume Next
 所以无法捕捉到错误,试试下面的实现

Set xlApp = GetObject(, "Excel.Application")
        If Err.Number <> 0 Then ExcelWasNotRunning = True

        If ExcelWasNotRunning Then                         '没有获取到
            xlApp.Quit: GoTo Errlab
        End If

        If xlApp.Workbooks.Count = 0 Then
            xlApp.Quit: GoTo Errlab
        End If
Errlab:
     msgbox "获取打开文件出错!"
     Err.Clear

-------------程序*酒*人生
2011-10-29 20:16
快速回复:VB如何操作当前已经打开的工作薄?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033485 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved