国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用OLE操作Excel

2019-11-17 05:29:44
字體:
來源:轉載
供稿:網友

  用OLE操作Excel(目前最全的資料)(04.2.19更新)
本文檔部分資料來自互聯網,大部分是ccrun(老妖)在Excel中通過錄制宏-->察看宏代碼-->轉為CB代碼而來.本文檔不斷更新中.歡迎大家關注.

要在應用程序中控制Excel的運行,首先必須在編制自動化客戶程序時包含Comobj.hpp
#include "Comobj.hpp"

C++ Builder把Excel自動化對象的功能包裝在下面的四個Ole Object Class函數中,應用人員可以很方便地進行調用。
設置對象屬性:void        OlePRopertySet(屬性名,參數……);
獲得對象屬性:Variant     OlePropertyGet(屬性名,參數……);
調用對象方法:1) Variant  OleFunction(函數名,參數……);
             2) void     OleProcedure(過程名,參數……);

在程序中可以用宏定義來節省時間:

#define   PG   OlePropertyGet
#define   PS   OlePropertySet
#define   FN   OleFunction
#define   PR   OleProcedure

舉例:
ExcelApp.OlePropertyGet("workbooks").OleFunction("Add");
可寫為
ExcelApp.PG("workbooks").FN("Add");

C++ Builder中使用OLE控制Excel2000,必須把握Excel2000的自動化對象及Microsoft Word Visual Basic幫助文件中的關于Excel的對象、方法和屬性。對象是一個Excel元素,屬性是對象的一個特性或操作的一個方面,方法是對象可以進行的動作。
首先定義以下幾個變量:
Variant ExcelApp,Workbook1,Sheet1,Range1;

1、Excel中常用的對象是:application,Workbooks,Worksheets等。
  
  ★創建應用對象★
       Variant ExcelApp;
       ExcelApp = Variant::CreateObject ("Excel.Application");
       或者
       ExcelApp = CreateOleObject ("Excel.Application");

  ★創建工作簿對象★
       Variant WorkBook1;
       WorkBook1 = ExcelApp.PG("ActiveWorkBook");

  ★創建工作表對象★
       Variant Sheet1;
       Sheet1 = WorkBook1.PG("ActiveSheet");

  ★創建區域對象★
       Variant Range;
       Range = Sheet1.PG("Range","A1:A10");    
       或者使用
       Excel.Exec(PropertyGet("Range")<<"A1:C1").Exec(Procedure("Select"));

2、常用的屬性操作:

  
  ★使Excel程序不可見★
       ExcelApp.PS("Visible", (Variant)false);
        
  ★新建EXCEL文件★
    
    ◎ 新建系統模板的工作簿
       ExcelApp.PG("workbooks").FN("Add")      //默認工作簿
       ExcelApp.PG("workbooks").FN("Add", 1)   //單工作表
       ExcelApp.PG("workbooks").FN("Add", 2)   //圖表  
       ExcelApp.PG("workbooks").FN("Add", 3)   //宏表
       ExcelApp.PG("workbooks").FN("Add", 4)   //國際通用宏表
       ExcelApp.PG("workbooks").FN("Add", 5)   //與默認的相同
       ExcelApp.PG("workbooks").FN("Add", 6)   //工作簿且只有一個表
       或者使用ExcelApp的Exec方法
       Excel.Exec(PropertyGet("Workbooks")).Exec(Procedure("Add"));
    ◎ 新建自己創建的模板的工作簿
       ExcelApp.PG("workbooks").FN("Add", "C://Temp//result.xlt");
        
  ★打開工作簿★
       ExcelApp.PG("workbooks").FN("open", "路徑名.xls")  
        
  ★保存工作簿★
       WorkBook1.FN("Save");            //保存工作簿
       WorkBook1.FN("SaveAs", "文件名");//工作簿保存為,路徑注重用"//"
        
  ★退出EXCEL★
       ExcelApp.FN ("Quit");
       ExcelApp = Unassigned;
       或者
       ExcelApp.Exec(Procedure("Quit"));
        
  ★操作工作表★
    
    ◎ 選擇選擇工作表中第一個工作表
       Workbook1.PG("Sheets", 1).PR("Select");
       Sheet1 = Workbook1.PG("ActiveSheet");

    
    ◎ 重命名工作表
       Sheet1.PS("Name", "Sheet的新名字");
    
    ◎ 當前工作簿中的工作表總數
       int nSheetCount=Workbook1.PG("Sheets").PG("Count");       
        
  ★操作行和列★
   
    ◎ 獲取當前工作表中有多少行和多少列:
       Sheet1.PG("UsedRange").PG("Columns").PG("Count"); //列數
       Sheet1.PG("UsedRange").PG("Rows").PG("Count");    //行數
    
    ◎ 設置列寬
       ExcelApp.PG("Columns", 1).PS("ColumnWidth", 22);
       或者
       Range = ExcelApp.PG("Cells", 1, 3);
       Range.PS("ColumnWidth", 22);      
    
    ◎ 設置行高
       ExcelApp.PG("Rows", 2).PS("RowHeight", 25);
       或者
       Range = ExcelApp.PG("Cells", 2, 1);        
&nb

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 驻马店市| 惠东县| 彝良县| 建水县| 城市| 双峰县| 乌海市| 南阳市| 田林县| 西安市| 八宿县| 昭平县| 临江市| 凤山市| 大新县| 阿荣旗| 钟祥市| 白沙| 湘潭市| 涞水县| 太和县| 云阳县| 抚宁县| 岫岩| 临西县| 黑龙江省| 商水县| 新密市| 宁国市| 鄂托克前旗| 吕梁市| 邢台市| 上林县| 洪江市| 塔城市| 扎赉特旗| 新竹县| 张家口市| 同德县| 大姚县| 宜丰县|