| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1178 人关注过本帖
标题:如何获得打开的工作薄的数量、名称?
只看楼主 加入收藏
l601319
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-11-26
收藏
 问题点数:0 回复次数:1 
如何获得打开的工作薄的数量、名称?
需要解决的问题有以下:
1、怎么让程序在运行的各个过程中都能自动判断当前是否有多个excel实例在运行?(怎么写代码?)
2、每个运行的excel实例各有多少个打开的工作薄?如何获得打开的工作薄的数量、名称?(见本楼代码,错在那里?)
3、怎么我每次用vb新建或者打开excel工作薄的时候总是运行新的excel实例,而不是在已有的excel实例上新建或者打开excel工作薄?(见下一楼的代码)
4、这个申明该如何写?
5、我已经在vb的“工程”里面设置“引用”了“microsoft   excel   12.0   object   library”以及“microsoft   office   12.0   object   library”。
Public   Sub   Command设置工程文件_Click()
        Dim   strxlbnums                   '定义变量
        strxlbnums   =   Application.Workbooks.Count                   '变量赋值
        If   strxlbnums   =   1   Then                   '判断
                Call   无有效工程文件                   '调用子过程,子过程使窗体的大部分控件不可用!
                MsgBox   "没有找到工程文件...请新建工程或者打开已有工程文件!"
        Else
                Call   检查有效工程                   '调用子过程,子过程检查每个工作薄的工作表名称是否符合程序运行要求!
        End   If
        Set   strxlbnums   =   Nothing                   '变量无指向
End   Sub
无论打开多少工作薄,这个代码中变量“strxlbnums”的值总是0或者1。
搜索更多相关主题的帖子: 名称 数量 
2007-11-26 19:24
l601319
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-11-26
收藏
得分:0 
'打开按钮的代码
Private   Sub   Command打开_Click()
        Dim   myname   As   String
        myname   =   Application.GetOpenFilename("excel   工作薄(*.xl*),*.xl*")
        If   myname   <>   "False"   Then
                Workbooks.Open   FileName:=myname
                Application.Visible   =   True
        Else
                MsgBox   "None......."
        End   If
        Form_Activate
End   Sub
'新建按钮的代码
Private   Sub   Command新建_Click()
        Dim   xlapp   As   Object       '定义存放引用对象的变量。
        Set   xlapp   =   CreateObject("excel.application")
        xlapp.SheetsInNewWorkbook   =   4
        With   xlapp
                .Visible   =   True
                .Workbooks.Add
        End   With
        myarray   =   Array("自然高程输入",   "完成高程输入",   "其他参数输入",   "工程量计算")
        For   i   =   1   To   xlapp.Worksheets.Count
                xlapp.Worksheets(i).Name   =   myarray(i   -   1)
        Next   i
        xlapp.SheetsInNewWorkbook   =   3
        Dim   myname   As   String
        xlapp.Visible   =   True
        myname   =   Application.GetSaveAsFilename()
        If   myname   <>   "False"   Then
        Else
        MsgBox   "未保存新建的文件...数据可能丢失..."
        End   If
        Set   xlapp   =   Nothing
        i   =   Empty
End   Sub
2007-11-26 19:24
快速回复:如何获得打开的工作薄的数量、名称?
数据加载中...
 
   



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

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