亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi4.0直接控制Word97

2019-11-18 18:26:43
字體:
來源:轉載
供稿:網友
用Delphi4.0直接控制Word97

編號:QA003053
建立日期: 2000年6月15日 最后修改日期:2000年6月15日
所屬類別:

文章:

    摘要:玩過PowerBuilder的朋友一定知道,PB中最重要的技術就是它的DataWindow技術,用它來設計表單、處理數據錄入、設計報表十分方便。然而Delphi的報表支持功能遠不及PB。Delphi的專業版中包括了QuickReport,不過它是集合由QSD AS(一家挪威公司)授權的報表組件。當然,我們也可以使用外部報表工具,如ReportSmith或Cristal Report。不過控制稍嫌復雜,并且它們與Delphi之間缺少集成性。
    我們在開發《公文管理系統》網絡版時,在實現公文打印時,嘗試過不同的方法來實現。我們的要求是將一篇普通公文按公文格式打印出來,而用戶能對其進行排版進行一些簡單的控制。小輝剛開始是用的QuickReport來試的,效果很不盡人意,特別是對一些中文格式的支持方面;后來小輝一不作二不休,干脆自己手工編寫打印程序,不依賴設計工具,只可惜小輝技術不到家,寫到一半時玩不下去了,只好另找出路。正好那天來了份《中國計算機報》,上面有一篇介紹如何在VB中使用Excel的文章。小輝一想:何不用Delphi將數據發送到Word,由Word來完成編輯排版工作呢?說穿了,就是用OLE自動化技術。
    小輝一試,效果竟還可以?!m然對于一個程序員來說,自己編的程序中要掛接一個別人的應用程序才能完全實現自己的功能,就象雞群里插只鴨,心里總有點那個。但由于開發任務緊,主任又隔三隔四的來催,雖然最終有點不倫不類,小輝也顧不得那么多了。好了,廢話少說,看看小輝是怎樣實現的吧——
    鏈接:http://www.xiaohui.com
    主持人:由于原鏈接已經失效。我們在這里提供原文:
    一、前 言
    
      玩過PowerBuilder的朋友一定知道,PB中最重要的技術就是它的DataWindow技術,用它來設計表單、處理數據錄入、設計報表十分方便。然而Delphi的報表支持功能遠不及PB。Delphi的專業版中包括了QuickReport,不過它是集合由QSD AS(一家挪威公司)授權的報表組件。當然,我們也可以使用外部報表工具,如ReportSmith或Cristal Report。不過控制稍嫌復雜,并且它們與Delphi之間缺少集成性。
      我們在開發《公文管理系統》網絡版時,在實現公文打印時,嘗試過不同的方法來實現。我們的要求是將一篇普通公文按公文格式打印出來,而用戶能對其進行排版進行一些簡單的控制。小輝剛開始是用的QuickReport來試的,效果很不盡人意,特別是對一些中文格式的支持方面;后來小輝一不作二不休,干脆自己手工編寫打印程序,不依賴設計工具,只可惜小輝技術不到家,寫到一半時玩不下去了,只好另找出路。正好那天來了份《中國計算機報》,上面有一篇介紹如何在VB中使用Excel的文章。小輝一想:何不用Delphi將數據發送到Word,由Word來完成編輯排版工作呢?說穿了,就是用OLE自動化技術。
      小輝一試,效果竟還可以?!m然對于一個程序員來說,自己編的程序中要掛接一個別人的應用程序才能完全實現自己的功能,就象雞群里插只鴨,心里總有點那個。但由于開發任務緊,主任又隔三隔四的來催,雖然最終有點不倫不類,小輝也顧不得那么多了。好了,廢話少說,看看小輝是怎樣實現的吧——
    
    二、窗體設計
    
      說穿了其實很簡單。小輝在這里做了一個簡單的示例程序:
      1. 設置窗體Form1的Font.name為‘宋體’,Font.size為12;
      2. 窗體上依次放置lable1-labe5五個tLable控件,其caption屬性分別為‘文號’、‘標題’、‘收文單位’、‘正文’、‘發文單位’
      3. 在窗體上依次放置 tEdit、tEdit、tEdit、tMemo、tEdit五個編輯控件,其name屬性分別為:ED_WenHao、ED_BiaoTi、ED_ShouWenDanWei、ED_ZhenWen、ED_FaWenDanWei。
      4. 在窗體上依次放置兩個tButton控件,其name屬性分別為Btn_PRintToWord、btn_Quit,Caption屬性分別為‘打印’和‘退出’。
      窗體設計格式可參考本文末所附圖片。
    
    
    三、代碼設計
    
      
      程序段如下所示:
    unit Unit1;
    
    interface
    
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls,OleCtnrs,ComObj;
    
    type
     TForm1 = class(TForm)
     Label1: TLabel;
     Label2: TLabel;
     Label3: TLabel;
     Label4: TLabel;
     Label5: TLabel;
     ED_WenHao: TEdit;
     ED_BiaoTi: TEdit;
     ED_ShouWenDanWei: TEdit;
     ED_ZhenWen: TMemo;
     ED_FaWenDanWei: TEdit;
     Btn_PrintToWord: TButton;
     Btn_Quit: TButton;
     procedure Btn_PrintToWordClick(Sender: TObject);
     procedure Btn_QuitClick(Sender: TObject);
     private
     { Private declarations }
     public
     { Public declarations }
    end;
    
    var
     Form1: TForm1;
    
    implementation
    
    {$R *.DFM}
    
    //開始:數據發送到word事件
    procedure TForm1.Btn_PrintToWordClick(Sender: TObject);
    vAR
     VarWord: Variant;// 創建WORD時所用
    begin
     try
     // 1. 建立OleObject,連接word97
     VarWord:=CreateOleObject('word.basic');
     // 2. 建立Word97的新文件
     VarWord.FileNew;
     // 3. 設置Word97的基本狀態
     VarWord.ViewZoom75; //設置顯示比例為75%
     VarWord.ViewPage; //改為頁面顯示方式
     // 4. 將當前數據控件上的信息發送至Word97
     // 4.1 發送文號數據
     VarWord.CenterPara; //居中
     Varword.font('宋體'); //設置字體
     VarWord.FontSize(14); //設置字號
     varword.insert(#13+#13+ ED_WenHao.Text+#13+#13+#13);
     // 4.2 發送標題數據
     VarWord.font('黑體');
     VarWord.Fontsize(16);
     VarWord.insert( ED_BiaoTi.text+#13);
     // 4.3 發送收文單位數據
     VarWord.LeftPara; //左對齊
     VarWord.Font('宋體');
     VarWord.fontSize(14);
     VarWord.Insert(#13+ ED_ShouWenDanWei.Text+':'+#13);
     // 4.5 發送正文數據
     VarWord.fontSize(14);
     VarWord.Insert( ED_ZhenWen.Text+#13);
     // 4.6 發送發文單位數據
     VarWord.RightPara; //右對齊
     VarWord.fontSize(14);
     VarWord.Insert( ED_FaWenDanWei.Text+#13);
     // 5 最后設置
     VarWord.StartOfdocument; //到文首
     VarWord.AppMaxiMize; //設置窗口最大化
     VarWord.AppShow; //顯示應用程序
     except
     showmessage('運行 Microsoft Word 失敗!');
     end; //end of try
    end;
    //end:數據發送到word事件
    
    
    //開始:窗口關閉事件
    procedure TForm1.Btn_QuitClick(Sender: TObject);
    begin
     close;
    end;
    //End:窗口關閉事件
    
    end.
    // 這是主程序的尾部
    
    
    四、附 注
    
    一、說明
     ?。?、因只是一個演示示例,故沒有與后臺數據庫連接起來,實際操作可將相應的tEdit、tMemo控件用tDBEdit、tDBMemo控件所代替,增加tTable、tDataSource等控件,連接數據庫。
      2、本示便沒有考慮如何進行批量打印
      3、程序在Pwin97、Delphi 4.0專業版、中文Word97下通過。
     ?。?、由于Word有不同的版本,微軟在每種外語中轉換了一些OLE自動化接口,如果用其他版本的Word,本程序運行有可能出錯。
      5、可以通過word97幫助中歸結的宏命令來得到相應的驅動命令;亦或可在Word97下單擊[工具]菜單--單擊[自定義]--單擊[鍵盤]按鈕,可以查看到Word97中分類別顯示的Word命令。
    
    二、優點與缺點
    
     ?。薄⑼ㄟ^OLE自動化技術,將公文的排版打印工作交給Word去完成,對最終用戶而言,控制較方便。
     ?。?、在Word97的若對數據進行了修改,則不能傳回調用它的主程序,反映到數據庫中。這是它的不便這處。
      3、本例只是在特殊情況下的一種應用,若要打印大量數據標簽,制作表格,小輝覺得還是用報表靈活一些

文章來源:小輝程序員之路。


上一篇:Delphi數據集過濾技巧

下一篇:在Delphi中如何把數據庫中的記錄引到word中

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产精品乱码不99按摩| 懂色av中文一区二区三区天美| 综合激情国产一区| 国产色婷婷国产综合在线理论片a| 欧美日产国产成人免费图片| 2025国产精品视频| 国产精品久久一区主播| 久久免费视频网站| 色噜噜狠狠狠综合曰曰曰| 成人免费大片黄在线播放| 成人免费福利在线| 国产精品入口夜色视频大尺度| 日韩免费观看av| 日韩视频欧美视频| 亚洲日本成人女熟在线观看| 国语自产精品视频在免费| 欧美一级大胆视频| 国产日韩在线精品av| 亚洲美女av网站| 亚洲精品国产综合区久久久久久久| 欧美在线性视频| 亚洲天堂免费视频| 精品一区二区三区四区在线| 欧美黑人性生活视频| 亚洲毛片在线看| 91高清视频免费| 亚洲欧美激情一区| 久久久久国产精品免费网站| 欧美多人乱p欧美4p久久| 亚洲精品美女网站| 高清欧美一区二区三区| 17婷婷久久www| 国产91|九色| 欧美日本在线视频中文字字幕| 91精品国产777在线观看| 国产欧美日韩精品丝袜高跟鞋| 疯狂蹂躏欧美一区二区精品| 亚洲最大av网| 久久免费精品视频| 国产999精品久久久影片官网| 亚洲成人av中文字幕| 日av在线播放中文不卡| 国产成人精品视频在线| 一区二区在线视频| 精品久久久视频| 国产福利精品av综合导导航| 日韩女优在线播放| 亚洲欧美一区二区三区久久| 国产欧美精品一区二区三区介绍| 成人免费视频网| 91在线免费网站| 欧美成人精品激情在线观看| 永久免费看mv网站入口亚洲| 中文字幕视频一区二区在线有码| 国产亚洲精品久久| 热久久99这里有精品| 日韩在线观看电影| 大荫蒂欧美视频另类xxxx| 日韩电影第一页| 福利二区91精品bt7086| 国产精品久久久999| 亚洲美女av黄| 精品少妇一区二区30p| 中文字幕日韩欧美在线视频| 欧美—级高清免费播放| 亚洲最大福利视频| 欧美亚洲在线视频| 欧美激情一区二区三区高清视频| 国产欧美久久久久久| 亚洲欧美激情在线视频| 欧美在线视频导航| 黑人极品videos精品欧美裸| 8x拔播拔播x8国产精品| 亚洲跨种族黑人xxx| 亚洲天堂av图片| 精品久久久久久久久久久久久久| 久久频这里精品99香蕉| 欧美视频中文字幕在线| 亚洲免费中文字幕| 成人h片在线播放免费网站| 亚洲午夜性刺激影院| 亚洲欧美一区二区激情| 成人激情视频在线观看| 亚洲国产精品美女| 欧美在线影院在线视频| 欧美性感美女h网站在线观看免费| 精品久久久久久中文字幕大豆网| 亚洲美女久久久| 久久精品一偷一偷国产| 久久久久99精品久久久久| 色偷偷91综合久久噜噜| 亲子乱一区二区三区电影| 日韩欧美在线第一页| 98精品国产高清在线xxxx天堂| 日韩在线一区二区三区免费视频| 中文字幕少妇一区二区三区| 成人网中文字幕| 欧美激情免费看| 国产91精品在线播放| 国产在线观看不卡| 欧美日韩一区二区精品| 黄网站色欧美视频| 一本大道香蕉久在线播放29| 国产欧洲精品视频| 欧美激情在线狂野欧美精品| 91久久精品国产91性色| 中文字幕成人在线| 欧美精品久久久久| 欧美日韩免费区域视频在线观看| 精品日本美女福利在线观看| 91精品国产网站| 亚洲高清av在线| 91在线观看免费网站| 亚洲欧美日韩一区二区三区在线| 日韩欧美成人精品| 国内免费精品永久在线视频| 亚洲欧洲中文天堂| 疯狂做受xxxx高潮欧美日本| 91欧美精品午夜性色福利在线| 国内揄拍国内精品少妇国语| 亚洲精品国产福利| 日韩精品丝袜在线| 国产亚洲欧洲高清一区| 欧美亚洲在线视频| 2020欧美日韩在线视频| 日韩av中文字幕在线免费观看| 国产91精品高潮白浆喷水| 亚洲成色999久久网站| 欧美高清在线观看| 亚洲第一精品福利| 久久久999国产精品| 亚洲高清一区二| 欧美亚洲日本黄色| 欧美性猛交xxxx黑人猛交| 日韩国产欧美区| 欧美激情乱人伦一区| 欧美激情第三页| 欧美放荡办公室videos4k| 精品中文字幕在线观看| 姬川优奈aav一区二区| 亚洲精品按摩视频| 亚洲电影免费观看| 亚洲天堂男人天堂| 国产精品自产拍在线观看中文| 亚洲91精品在线观看| 成人伊人精品色xxxx视频| 久久精品国产久精国产一老狼| 欧洲午夜精品久久久| 国产精品久久久久91| 黄色一区二区在线| 欧美成年人视频网站| 国产精品高清在线| 国产suv精品一区二区三区88区| 欧美一区二区三区精品电影| 俺也去精品视频在线观看| xvideos亚洲人网站| 欧美在线观看视频| 欧美黑人性生活视频| 久久久久久久久久久亚洲| 国产精品丝袜一区二区三区| 久久韩剧网电视剧| 亚洲а∨天堂久久精品9966| 国产噜噜噜噜久久久久久久久| 欧美精品一区二区三区国产精品|