誰能給我說下電腦的宏是什麼意思
提問者:永萌mamoの小晴 | 瀏覽 次 | 提問時間:2016-12-11 | 回答數量:3
簡單說來,宏就是一個包含一係列命令的腳本。最常接觸到的就是Office軟件中的宏程序。 什麼是宏 Excel 辦公軟件自動集成了“VBA”高級程序語言,用此語言編製出的程序就叫“宏...
已有3條答案
簡單說來,宏就是一個包含一係列命令的腳本。最常接觸到的就是Office軟件中的宏程序。
什麼是宏
Excel 辦公軟件自動集成了“VBA”高級程序語言,用此語言編製出的程序就叫“宏”。使用“VBA”需要有一定的編程基礎和耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般製表功能,很少使用到“VBA”。
用“VBA”語言編製程序,並集成到Excel中,可以定製特定的、功能強大的Excel軟件(這正是Excel強大功能的突出所在)。
但是,有極少數的人可能會利用“VBA”語言編製專門破壞電腦係統的病毒程序,並集成到Excel中,給電腦使用者帶來損失。為了防止這種情況的發生,Excel自帶了“宏”檢測功能。當發現正在打開的Excel文件帶有“宏”時,會提示用戶注意,並讓用戶自行選擇是否啟用“宏”。電腦提示語言如下:“ x x 文件中包含宏。... 宏可能會攜帶病毒。取消宏雖可以確保安全,但如果這些宏本身是安全的,則又會損失某些功能。”
是否啟用“宏”,取決於軟件的來源。如果不知道軟件的來源,則不要啟用;如果知道其來源,則應當啟用,否則將無法使用軟件中設定的功能。
宏是一種規則或模式,或稱語法替換 ,用於說明某一特定輸入(通常是字符串)如何根據預定義的規則轉換成對應的輸出(通常也是字符串)。這種替換在預編譯時進行,稱作宏展開。就是一些命令組織在一起,作為一個單獨命令完成一個特定任務。
一.計算機中的“宏”
計算機科學裏的宏是一種抽象,它根據一係列預定義的規則替換一定的文本模式。Excel 辦公軟件自動集成了“VBA”高級程序語言,用此語言編製出的程序就叫“宏”。使用“VBA”需要有一定的編程基礎和耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般製表功能,很少使用到“VBA”。
解釋器或編譯器在遇到宏時會自動進行這一模式替換。對於編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這一術語也常常被用於許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,使用“宏”這個詞的使用暗示著將小命令或動作轉化為一係列指令。
宏的用途在於自動化頻繁使用的序列或者是獲得一種更強大的抽象能力--但這常常是一回事。
計算機語言如C或彙編語言有簡單的宏係統,由編譯器或彙編器的預處理器實現。C的宏預處理器的工作隻是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C 程序員可以獲得更精巧的宏。
Lisp類語言如Common Lisp和Scheme有更精巧的宏係統: 宏的行為如同是函數對自身程序文本的變形,並且可以應用全部語言來表達這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控製一節代碼的計算。
獲得了控製代碼的執行順序(見惰性計算和非限製函數)的能力,使得新創建的語法結構與語言內建的語法結構不可區分。例如,一種Lisp 方言有 cond 而沒有if ,就可以使用宏由前者定義後者。Lisp 語法的去部主要擴展,比如麵向對象的CLOS 係統,可以由宏來定義。