當前位置:學問君>學習教育>畢業論文>

利用VBA編程實現從EXCEL表到AUTOCAD錶轉換

學問君 人氣:2.69W

摘要:該程序可將Excel表格中的所有單元格全部按原來大小、風格轉換到AutoCAD檔案中來。在轉換過程中,表格線條的轉換和文字轉換是重點。文字轉換採用了直接利用AddMtext命令提供的屬性進行轉換,避免了已往修改形檔案來進行文字標註的方法,直接控制表格文字字型、大小、下劃線、上下腳標,傾斜,加粗等,使每個文字的風格均可以得到很好的控制,極大提高了文字標註的靈活性。

利用VBA編程實現從EXCEL表到AUTOCAD錶轉換

關鍵詞:計算

---- 一、前言

---- Microsoft Excel 軟件具有十分強大的製表、表格計算等功能,是普通人員常用的製表工具。可以透過其內嵌的VBA語言可以控制Microsoft Excel 的整個操作過程。

---- AutoCAD是由AutoDesk公司的'工程繪圖軟件,是CAD市場的主流產品,功能十分強大,是工程製圖人員常用的軟件之一。AutoDesk公司從R14版以後,爲其提供了VBA語言接口。

---- 在工程製圖中,常常需要在圖中插入繪製表格,一般有兩種方法。其一,是利用剪貼板,將Microsoft Excel表格拷貝至剪貼板中,然後開啟AutoCAD檔案,再將剪貼板中的檔案粘貼至所需位置。這種方法十分簡單,但有其固有的缺點。①在儲存檔案必須將和檔案儲存在一起,一旦缺少excel環境,則再對錶格繼續修改。②同時開啟多個表格操作,需要佔據較大的內存空間。③檔案體積變得很大,表格有時在檔案中以圖標形式顯示,不便於觀察。

---- 第二種方法,即利用Microsoft Excel、AutoCAD都提供的VBA功能,編制程序進行轉換,將Microsoft Excel表格按原來樣子轉換,即把Microsoft Excel表格中的文字和線條資訊全部讀取出來,在AutoCAD檔案裏按照一一對應的方式寫出來,確保轉換後的表格與原表格一致。這樣徹底避免了前種方法的缺點,便於表格內容編輯。本文着重介紹此方法。

---- 二、表格轉換工作機理分析及具體實現方法

---- 1.表格轉換工作機理分析

---- 在製表過程中,經常遇到兩個概念,表和方格。

---- 在Microsoft Excel中,與表對應的對象是工作表(Sheet或Worksheet),與每一個表格方格相對應的對象是單元格區域(range),它可以僅包括一個單元格(cell),也可以由多個單元格合併而成。

---- 在AutoCAD中,沒有與表對應的對象,但表可以理解由若干條線和文字對象組合而成。

---- 根據上述分析,可以發現如下的轉換方法:

---- 讀取Microsoft Excel檔案中的最小對象----單元格區域(range)的主要資訊---線條和文字,然後在AutoCAD檔案裏在指定圖層、位置畫線條,書寫文字。透過循環,遍歷所有單元格區域(range),邊讀邊寫,最終完成表格的轉換。轉換過程中,保持線條、文字及其相關屬性不發生改變。

---- 下面就轉換工作的兩個主要對象表格線條和表格文字進行討論。

---- 2、表格線條的轉換

---- Microsoft Excel 中內嵌的VBA爲我們獲取Excel檔案資訊提供了極大便利。通常,透過訪問range對象,可以獲得許多資訊。訪問分析表格的屬性應從分析range開始。每一個range包括許多對象和屬性,例如,font對象可以返回range的字型資訊。透過遍歷,即可獲得整個表格資訊。獲取表格資訊的目的在於準確地按照位置畫表格線,同時確定文字位置。

---- 在獲取表格資訊時,存在一個最佳算法問題。以下就畫線問題爲例,闡明問題和解決方法。

---- 假設表格由a(a