用VB5直接控制Excel 97VB -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    用VB5直接控制Excel 97 作者:冯宗文 用VB5可编写直接控制Excel操作的程序,方法是用VB的OLE自动化 技术获取Excel 97 的控制句柄,从而直接控制Excel 97的一系列操作 ,

用VB5直接控制Excel 97VB

。与用VBA语言编写的Excel控制程序相比,两者主要有如下差异: 1. 实现VB5对Excel的直接控制后

   

   

    用VB5直接控制Excel 97

    作者:冯宗文

    用VB5可编写直接控制Excel操作的程序,方法是用VB的OLE自动化 技术获取Excel 97 的控制句柄,从而直接控制Excel 97的一系列操作 。与用VBA语言编写的Excel控制程序相比,两者主要有如下差异:

    1. 实现VB5对Excel的直接控制后,可在用户所编的程序中调用Ex cel,即从控制界面直接调入Excel,且退出Excel后又回到控制界面,使 人看起来就如Excel是依附于用户程序上。这给既想获取Excel的强大 支持,又想编写"傻瓜"软件交给不熟悉计算机的用户使用的程序员来 说,其好处是不言而喻的。VBA则必须依附于特定的Excel环境,且只有 先进入确定的Excel环境后,才能运行VBA程序。

    2. 用VB5实现Excel的控制后,所有程序可编译成完整的EXE执行 文件,直接在Win 95 /NT平台上执行,运行环境更为简洁明了,程序更 易加密。不会因为有多个程序指令块带来管理麻烦,也不易因用户的 不小心使用而出现程序丢失,造成功能短缺。VBA编写的程序最大的不 方便是不能编译成执行文件,不能脱离其主应用程序独立运行。

    3. VBA在Excel环境中,几乎是一个万能的工具,可通过建立功能 强大的宏指令来扩展或模拟Excel的全部功能。而VB的OLE自动技术目 前还不能实现Excel所有功能的模拟与控制。

    操作步骤

    用VB5控制Excel 97的操作步骤如下:

    1. 引用Microsoft Excel类型库:

    *从"工程"菜单中选择"引用"栏;

    *选择Microsoft Excel 8.0 Object Library;

    *选择"确定"。

    2. 声明显式数据类型:

    Dim x1 as Excel.Application

    3. 创建新实例,获取Excel的控制句柄:

    Set x1=CreatObject("Excel.Application")

    4. 由于Excel 97启动为不可见,调用后需使其显示出来:

    x1.Visible=True

    5. 交还Excel控制句柄:

    Set x1=Nothing

    同理,用此方法也可直接控制Word、Aclearcase/" target="_blank" >ccess等Microsoft Office 97的其他应用软件,享受其便利和支持。

    操作程序

    Private Sub Contral_Excel_97()

    {

    Dim x1 as Excel.Application 注释:声明显式数据类型

    Set x1=CreateObject("Excel.Application")

    注释:创建新实例

    x1.Workbooks.Add

    ’添加新工作簿

    x1.Range("A1").Value=5 ’A1格赋值

    x1.Range("A2").Value=8 ’A2格赋值

    x1.Range("A3").Value=16 ’A3格赋值

    x1.Range("A4").Value=7 ’A4格赋值

    x1.Charts.Add

    ’插入图形

    x1.ActiveChart.ChartType=x1ColumnClustered

    ’柱状图

    x1.ActiveChart.SetSourceData Source:=x1.Sheets("Sheet1") .Range("A1:A4")

    PlotBy:=x1Columns

    ’图形数据来源

    With x1.ActiveChart

    ’图标题

    .HasTitle=False  ’没有总标题

    .Axes(x1Category,x1Primary).HasTitle=False

    .Axes(x1Value,x1Primary).HasTitle=True

    ’有Y轴标题

    .Axes(x1Value,x1Primary).AxisTitle.Characters

    .Text="销售电视机(台)"

    End With

    With x1.ActiveChart.PageSetup ’图形页面设置

    .CenterHeader="&28" & ListSTNM(Combo2. ListIndex)&"逐日 电视机销售"

    ’标题

    .CenterFooter="&12x x x 商场" ’下边落款

    .RightFooter=Format(Now,"yyyy-m-d-h:n")

    ’右下角显示时间

    .Orientation=x1Landscape  ’打印纸页面横向

    End With

    x1.ActiveChart.PlotArea.Interior.ColorIndex=x1None

    ’无背景色

    x1.ActiveWindow.SelectedSheets.PrintPreview

    ’打印预览

    x1.Visible=True

    ’显示图形

    Set x1=Nothing

    ’交还控制句柄

    原文转自:http://www.ltesting.net

最新文章