引言
在進行CAPP項目開發時,最終要生成多種工藝卡片。由于VB具有極強的界面設計能力,且易學易用,支持面向對象、事件驅動、ActiveX技術以及強大的數據庫處理能力,很多用戶喜歡用VB作為CAPP項目的開發語言。但VB的表格處理能力一般,特別是處理復雜表格時,顯得力不從心。而Excel作為Micro sof t公司的表格處理軟件有著強大的功能。為此,在充分利用VB諸多優點的基礎上,結合Excel的表格處理能力,成功解決了CAPP項目開發中復雜表格生成這一難題。
1 解決問題的思路與方法
首先利用VB強大的界面設計能力,在其開發環境下用Label(標簽)、Textbox(文本框)、Ole(用于嵌入圖片)、MSFlexGrid(網格)等控件“畫出”一張空白卡片,這張卡片是由各種控件組成的,可充分利用基于VB的CAPP系統強大的功能,進行卡片內容的快速填充和編輯,生成內容上完全符合實際需要的“準工藝卡”。由于其不是真正意義上的表格,而且目的在于利用CAPP系統強大功能進行快速生成,所以并不適用于打印輸出和實際生產。
利用Excel強大的表格處理功能,根據需要事先設計出各種實用的空白工藝卡片模版,其表格組成應與VB環境下對應的表格完全相同。實際使用時,只需調用需要的卡片模版,然后將CAPP系統生成的工藝表格中相關控件的內容傳入Excel表格對應的單元格,即可生成真正意義上的工藝卡片。
2 VB中各控件內容向Excel表格中的傳送
由于Excel應用程序是外部可創建對象,所以能從VB應用程序內部來程序化操作Excel,方法是利用VB的OLE自動化技術獲取Excel的控制句柄,從而通過VB直接控制Excel的各種操作。由于對Excel的操作都是在VB的主界面下進行的,用戶感覺就像使用VB自己的表格一樣,十分方便。
2.1 利用VB啟動Excel并打開對應的工作薄和表
a.在工程中引用Micro sof t Excel類型庫。從VB的“工程”菜單中選擇“引用”欄,選中Micro sof tExcel 11.0 Object Library(Excel 2003),然后單擊“確定”,表示在工程中引用Excel類型庫。
b.在通用對象的聲明過程中定義Excel對象。
Dim ExApp A s Excel Applicatio n
Dim ExBoo k A s Excel Wo rkBoo k
Dim ExSheet A s Excel Wo rksheet
c.在程序中打開已經存在的Excel工件簿文件并設置活動工作表。
Set ExApp=CreateObject("Excel.Applica2tio n")’創建Excel對象
Set ExBoo k=ExApp.Wo rkboo ks.Open("Excel工藝模版文件名")’打開工件簿文件
ExApp.Visible=True’設置Excel對象可見
Set ExSheet=ExBoo k.Wo rksheet s("表名")’設置活動工作表
2.2 MSFlex Grid的文本向Excel單元格的傳送
在CAPP項目開發中,工藝卡片中的主要內容是文本和圖形。其中,VB環境下的文本內容主要存于文本框和MSFlexGrid網格控件中,其中又以MSFlex Grid網格控件為主。下面以VB的MS2Flex Grid網格控件向Excel單元格傳送文本為例,介紹通用的程序代碼。
以下代碼將MSFlexGrid1網格控件第1行、第1列至第1行、第4列的內容傳送到Excel表的“e1”~“h1”的單元格中。i=1
Fo r j=101 To 104‘101~104為字母e~h的
A SCII碼值
r=Chr(j)&i
ExSheet.Range(r).Value=MSFlex Grid1.
Text Mat rix(i,j-100)
Next j
2.3 VB中的圖形向Excel單元格的傳送
在CAPP項目中所使用的各種工藝圖形,均以文件的形式進行保存,本文使用的圖形文件為Au2to CAD的dwg文件。若用變量Pict ure_name表示工藝卡片中插入的圖形文件名(含路徑),則可利用工作表的OLEObjects對象的Add方法,將此圖形文件插入到Excel表格的某一單元格(如"a7")中,具體代碼如下:
ExSheet.Range("a7").Activate
ExSheet.OL EObject s.Add(FileName:=Pic2
t ure_name,Link:=Fal se).Select
需要說明的是,插入到Excel表格中的圖形大小,可能與Excel模版中設定的圖形區域不一致,可以在預覽時(此時可通過代碼自動打開所生成的Excel工藝卡片)進行如下調整:選中卡片中插入的圖形;單擊右鍵,在快捷菜單中選擇“顯示‘圖片’工具欄”;利用圖片工具欄中的“裁剪”和“壓縮圖片”按鈕,將圖片調整到合適尺寸。
2.4 已生成的Excel工藝表格的保存
以下代碼將已生成的Excel工藝表格以文件的形式保存起來,供預覽、打印及實際生產之用,并關閉Excel以及相應的工作薄和工作表。
Exapp.DisplayAlert s=Fal se
Exbook.SaveA s("生成的Excel工藝表格文件名")
Exbook.Close
Exapp.DisplayAlert s=True
Set Exboo k=Not hing
Set ExSheet=Not hing
Set Exapp=Not hing
3 預覽及打印功能的實現
在VB環境下,利用OLE容器控件,調用Cre2ateLink方法可以在運行時從已生成的工藝卡片文件中創建一個鏈接對象[1],從而方便地打開已生成的Excel工藝表格,實現預覽及打印,方法如下:在VB下建立一窗體(Name屬性設置為Frm Excel),在其上放置一OL E控件(Name屬性設置為Ole1),然后在預覽及打印菜單的相應事件過程中編寫下列代碼。
Frm Excel.Ole1.CreateLink"生成的Excel工藝卡片文件名"
Frm Excel.Ole1.DoVerb‘運行時激活對象
4 結束語
通過VB和Excel的有機結合,充分發揮各自軟件的優勢和特色,使編程更加簡練、實用,使復雜的表格處理更加簡便。對于表格中的圖形處理,由于采用了OLE技術,故表格中既可以插入常用的AutoCAD圖形文件,也可以插入Pro2E,SoldWorkS等圖形文件,使用戶對圖形軟件的選擇處于完全開放的狀態,極大地方便了用戶。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF