用VB5直接控制Excel 97VB -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【clearvueentertainment.com - 電腦資料】

    用VB5直接控制Excel 97 作者:馮宗文 用VB5可編寫直接控制Excel操作的程序,方法是用VB的OLE自動化 技術獲取Excel 97 的控制句柄,從而直接控制Excel 97的一系列操作 ,

用VB5直接控制Excel 97VB

。與用VBA語言編寫的Excel控制程序相比,兩者主要有如下差異: 1. 實現(xiàn)VB5對Excel的直接控制后

   

   

    用VB5直接控制Excel 97

    作者:馮宗文

    用VB5可編寫直接控制Excel操作的程序,方法是用VB的OLE自動化 技術獲取Excel 97 的控制句柄,從而直接控制Excel 97的一系列操作 。與用VBA語言編寫的Excel控制程序相比,兩者主要有如下差異:

    1. 實現(xiàn)VB5對Excel的直接控制后,可在用戶所編的程序中調用Ex cel,即從控制界面直接調入Excel,且退出Excel后又回到控制界面,使 人看起來就如Excel是依附于用戶程序上。這給既想獲取Excel的強大 支持,又想編寫"傻瓜"軟件交給不熟悉計算機的用戶使用的程序員來 說,其好處是不言而喻的。VBA則必須依附于特定的Excel環(huán)境,且只有 先進入確定的Excel環(huán)境后,才能運行VBA程序。

    2. 用VB5實現(xiàn)Excel的控制后,所有程序可編譯成完整的EXE執(zhí)行 文件,直接在Win 95 /NT平臺上執(zhí)行,運行環(huán)境更為簡潔明了,程序更 易加密。不會因為有多個程序指令塊帶來管理麻煩,也不易因用戶的 不小心使用而出現(xiàn)程序丟失,造成功能短缺。VBA編寫的程序最大的不 方便是不能編譯成執(zhí)行文件,不能脫離其主應用程序獨立運行。

    3. VBA在Excel環(huán)境中,幾乎是一個萬能的工具,可通過建立功能 強大的宏指令來擴展或模擬Excel的全部功能。而VB的OLE自動技術目 前還不能實現(xiàn)Excel所有功能的模擬與控制。

    操作步驟

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

    1. 引用Microsoft Excel類型庫:

    *從"工程"菜單中選擇"引用"欄;

    *選擇Microsoft Excel 8.0 Object Library;

    *選擇"確定"。

    2. 聲明顯式數(shù)據類型:

    Dim x1 as Excel.Application

    3. 創(chuàng)建新實例,獲取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 注釋:聲明顯式數(shù)據類型

    Set x1=CreateObject("Excel.Application")

    注釋:創(chuàng)建新實例

    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

    ’圖形數(shù)據來源

    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

最新文章