【正文】
be careful when making changes. Once you39。s always loaded into the document. It contains all the userinterface elements that users see, as well as the class module named ArcID, which contains all the UIDs for the application39。ll see the aspects of the VBA development environment in which you39。s FeatureLayer。當(dāng) ArcMap 打開文檔時,這個變量是自動設(shè)置到當(dāng)前文檔中的。 完成代碼的編輯 在代碼編輯完之后,用戶可以從 ArcMap or ArcCatalog 中運(yùn)行該代碼。 在 Visual Basic 編輯器中只運(yùn)行一個進(jìn)程 1. 在項(xiàng)目瀏覽器中,打開包含想要運(yùn)行的進(jìn)程的模組。關(guān)于運(yùn)行和調(diào)試 VBA 程序,比如添加斷點(diǎn),添加注釋,逐步執(zhí)行等信息可以在 Visual Basic 在線幫助中查詢。在保存好文件之后,它的文件名就會在瀏覽 器中的項(xiàng)目名后面的括號里顯示出來。如果其他人想要查看或 是編輯該項(xiàng)目時,必須輸入相關(guān)密碼才可以。在屬性對話框中,點(diǎn)擊“保護(hù)”標(biāo)簽,并且選擇“ Lock Project for Viewing”。如果選擇“否”,則 VBA 就刪除了該項(xiàng)目。在移走一個項(xiàng)目之前,要保證在其它模組和用戶模式中保留的代碼和已經(jīng)移走的代碼沒有關(guān)系。同樣也可以從已有的項(xiàng)目中導(dǎo)出一些條目,從項(xiàng)目選擇想要導(dǎo)入到項(xiàng)目瀏覽器的項(xiàng)目,從“文件”菜單中選擇“導(dǎo)出文件”,然后添加到保 存該文件的地方。 如果想在 ArcMap 或是 ArcCatalog 期間里對一些行為做出回復(fù)時,引用它的“ Show”方法,例如: vbModeless 39。 5. 對用戶模式或是上面的控制進(jìn)行編碼。 在用戶模式下添加和啟動編碼 1. 在項(xiàng)目瀏覽器中,選擇你想添加在一個用戶模式里的項(xiàng)目。一個用戶模式是一個包含用戶接口控制的容器,比如命令按鈕和文本框。 添加用戶模式 如果你想要自己的代碼給用戶提示信息,或者,當(dāng)用戶請求一個 ArcGIS 應(yīng)用命令、工具或是對一些事件的回復(fù)時,你想要顯示一些 行為執(zhí)行的結(jié)果,那么就要使用 VBA 的用戶模式。 6. 聲明所有局部變量為靜態(tài)變量,檢查“ All Local variables as Statics”這個檢測框。 2. 點(diǎn)擊“插入”按鈕,然后點(diǎn)擊“進(jìn)程”。全局變量在整個代碼執(zhí)行的時間內(nèi)都存在,而局部變量只有當(dāng)在進(jìn)程中定義聲明運(yùn)行時才有效。具有私有范圍的進(jìn)程叫做私有進(jìn)程。 模組和類模組能包括不止一個進(jìn)程:子進(jìn)程、函數(shù)或?qū)傩浴? 4. 按下 Enter 鍵或是點(diǎn)擊“創(chuàng)建” 5. 宏的子進(jìn)程的框價結(jié)構(gòu)酒會出現(xiàn)在代碼窗口中。如果在你指定一個模組后沒有再模組在被特別的指定,而且一個模組已經(jīng)屬于激活狀態(tài),則該宏就會被放置在那個模組中。 在一個模組中添加一個宏 ArcMap 和 ArcCatalog 都提供一個快捷的方式在一個模組中創(chuàng)建一個簡單的宏。 2. 點(diǎn)擊工具菜單,指 向宏,然后點(diǎn)擊 Visual Basic 編輯器。這會在你的代碼中產(chǎn)生另外一些可利用的應(yīng)用對象??梢哉f,你有多少的模組、類模組和用戶模式,你就可以打開多少個與之相對應(yīng)的代碼窗口。當(dāng)然你可以在模組、類模組或是模型中的 中添加代碼,但是當(dāng)在一次產(chǎn)生改變時,一定要小心。這個項(xiàng)目能夠在模組、類模組、模型以及其它任何特定的組塊中存儲代碼,比如具有數(shù)據(jù)的圖表,或是具有幀界面的頁等等。 因?yàn)槿魏我恍╆P(guān)于 Normal 的修改都會在你創(chuàng)造或打開一個文檔時的每個時刻受到影響,所以當(dāng)對 Normal 進(jìn)行修改時你應(yīng)該格外小心些。 壓縮框有一個和自身文檔相聯(lián)系的默認(rèn)的項(xiàng)目,該文檔一自身的名稱列在項(xiàng)目瀏覽器中。一個項(xiàng)目是一些項(xiàng)目的集合,在這些項(xiàng)目中你可以添加相關(guān)的代碼。 VBA 的開發(fā)環(huán)境 首先你將會看見 VBA 開發(fā)環(huán)境的外觀,在這里你將會做一些工作,這些工作特別適用于 ESRI 應(yīng)用程序。當(dāng)腳本通常能夠被用語簡單自動化時, VBA 是最先進(jìn)的科技,特別是對于一些特殊的應(yīng)用自動化而言。同時,當(dāng)你必須建立一個用于解決損傷的特殊的方法時, Visual Basic 是非常有效的。 VBA 是一個嵌入式的編程開發(fā)環(huán)境,它可以幫助開發(fā)者借助 Microsoft Visual Basic 的能力來解決客戶端的問題。例如,當(dāng)用戶打開一個文檔,點(diǎn)擊一個按鈕,或是通過修改一個正在編輯的草圖來更新數(shù)據(jù)時,都會引發(fā)代碼的運(yùn)行。 簽名: 年 月 日 注: 請將該封面與附件裝訂成冊。 指導(dǎo)教師評語: 外文資料緊扣畢業(yè)設(shè)計課題,翻譯準(zhǔn)確、文字流暢、語句通順,信息量足,能夠獨(dú)立按時完成翻譯工作。當(dāng)一個事件發(fā)生時,代碼隨之而運(yùn)行。 Microsoft Visual Basic 系列還包括 Visual Basic 開發(fā)系統(tǒng)(主要有學(xué)習(xí)版本、專業(yè)版本和企業(yè)版本)和 Visual Basic 腳本版本( VBScript)。 Visual Basic、 VBA 以及 VBScript 之間的區(qū)別是什么?我們什么時候使用其中的一種應(yīng)用而取代另一種應(yīng)用呢? Visual Basic 是一個用于建立單獨(dú)的軟件部件的標(biāo)準(zhǔn)獨(dú)立工具,例如,我們可以用它來編輯可執(zhí)行的程序, COM 部件和動態(tài)插件控制。 VBScript 是 Visual Basic 語言中幾個比較低級的版本,它是被設(shè)計為專門用于在WEB 網(wǎng)頁上使用的語言。而 主要用于Microsoft Office 97 和 98 中 的 Access, Excel, PowerPoint, 以及 Word 中。一個項(xiàng)目能夠組成和你的工作需求一樣多的模組,類模組和用戶模式。一個用戶模式是一個包含了用戶接口控制的容器,比如命令按鈕和文本框。它包含了所有用戶能看見的用戶接口的因素和 ArcID 的類模組,在這些模組中包含了所有應(yīng)用命令的用戶標(biāo)識符。從一個開發(fā)者的角度來看,這是一個基礎(chǔ)性的模板,它是一個可以裝載一個附加項(xiàng)目到文檔里的文檔文件,它作為模板項(xiàng)目以文件名的方式被列于項(xiàng)目瀏覽器中。在ArcCatalog 中沒有默認(rèn)的項(xiàng)目,而且你不能裝載任何模板。在這個項(xiàng)目代碼窗口中,你可以書寫、顯示、編輯代碼。 如果你的工作需要,你可以參考自己的項(xiàng)目來添加一個額外的對象庫或類型庫。 開始使用 Visual Basic 編輯器 1. 啟動 ArcMap 和 ArcCatalog。它顯示了文檔的模組、類模組和用戶形式的清單條目。如果你不詳創(chuàng)建一個特殊的模組名,應(yīng)用程序會自動創(chuàng)建一個叫“ modulexx”的模組, 而且在這個模組中存儲你想創(chuàng)建的那個宏。 3. 點(diǎn)擊在宏的位置下拉列表框中的下拉箭頭,選在你想創(chuàng)建該宏的 VBA 項(xiàng)目。而 Idocument 接口提供了進(jìn)入文檔標(biāo)題、類型、累加器,命令集,父應(yīng)用以及 Visual Basic 項(xiàng)目的入口。 每一個進(jìn)程都有它私有的和公共的范圍。 在進(jìn)程中的變量也許是局部的或是全局的。 在已經(jīng)存在的模組中添加進(jìn)程 1. 在項(xiàng)目瀏覽器中,雙擊 ArcMap 對象, ArcCatalog 對象或是模 組文件夾,然后選擇一個模組的名稱,通過點(diǎn)擊“ View Code ”按鈕可以查看模組的試圖是否屬于激活狀態(tài)。 5. 點(diǎn)擊“范圍”單選按鈕,選擇是其范圍是公有或是私有。 關(guān)于進(jìn)程的更多信息,可以在 Microsoft Visual Basic 在線幫助里獲得參考。有了這些控制,除了文本框和命令按鈕以外,你還可以使用一些附加的控制。同時也可以將該模式設(shè)置為模組的形式,這樣用戶 必須在使用任何應(yīng)用之前進(jìn)行回復(fù),或者也可以設(shè)置為非模型形式,這樣當(dāng)遇到接下來的代碼時就會自動執(zhí)行。 4. 在工具框中選擇你想添加給用戶的控制工具?;蛘咧苯釉谝粋€模組或類模組中插入一個進(jìn)程,然后在進(jìn)行編碼。這樣可以選擇任意的 VBA 模組,用戶模式或是類模組來添加一個復(fù)制的文件到你的項(xiàng)目中去。但是,如果該項(xiàng)目存在磁盤上時,這個行為并沒有刪除這個文件。如果在該對話框中選擇“是”,則“導(dǎo)出文件”對話框就會打開。如果想要鎖住一個項(xiàng)目,可以在項(xiàng)目瀏覽器中右擊該項(xiàng)目,模板項(xiàng)目或是 Normal,然后在出現(xiàn)的內(nèi)容菜單中點(diǎn)擊該屬性項(xiàng)目。這樣,當(dāng)再一次打開或是別人打開該文件時,該功臣就被鎖住了。要保存 ArcMap 文檔和 VBA 項(xiàng)目時,從ArcMap 的“文件”菜單中選擇“保存”或是從 Visual Basic 編輯器里的“文件”菜單中選擇“保存為”這兩個命令都可以將所有的項(xiàng)目和項(xiàng)目都保存在文件中。這一部分討論在設(shè)計階段的 Visual Basic 編輯器里運(yùn)行代碼。私有的進(jìn)程在任何菜單或是對話框中都不會出現(xiàn)的。只有光標(biāo)標(biāo)住的進(jìn)程才會被執(zhí)行。 使用全局應(yīng)用對象 Application 和 ThisDocument 是全局系統(tǒng)變量的例子,當(dāng) ArcMap 運(yùn)行時,這些變量可以被在 VBA 中的任意的模式或類所接受。or Set pMxDoc =ThisDocument 附件 1:外文原文(復(fù)印件) Visual Basic for Applications Development Environment The Visual Basic Environment (General) This topic discusses how to program in the VBA environment to control either ArcMap, ArcCatalog, or ArcScene by accessing the objects they expose. Your code manipulates the objects by getting and setting properties on their interfaces, such as setting the MaximumScale and MinimumScale of a Map39。s value. The code runs when an event occurs, for example, when a user opens a document, clicks a button, or alters data by modifying an edit sketch. Before we learn the knowledge of Visual Basic for Application Development Environment, we firstly learn the conception of Visual Basic for Application. What is Visual Basic for Applications? Micros