內置函數

內置函數

編程語言中預先定義的函數。

具體:嵌入到主調函數中的函數稱為內置函數,又稱內嵌函數。作用是提高程序的執行效率,大多編程語言都有自己的內置函數,如javascript內置函數等。內置函數的存在極大的提升了程序員的效率和程序的閱讀。

函數定義


一組預定義的函數,這些函數作為Transact-SQL和多維表達式(MDX)語言的部分而提供。

JavaScript


abs方法返回一個數的絕對值。
acos方法返回一個數的反餘弦。
anchor方法在對象的指定文本兩端加上一個帶NAME屬性的HTML錨點。
asin方法返回一個數的反正弦。
atan方法返回一個數的反正切。
atan2方法返回從X軸到點(y,x)的角度(以弧度為單位)。
cos方法返回一個數的餘弦。
sin方法返回一個數的正弦。
sqrt方法返回一個數的平方根。
tan方法返回一個數的正切。
round方法將一個指定的數值表達式舍入到最近的整數並將其返回。
random方法返回一個0和1之間的偽隨機數
parseFloat方法返回從字元串轉換而來的浮點數
parseInt方法返回從字元串轉換而來的整數。
pow方法返回一個指定冪次的底表達式的值。
2.字元串函數
atEnd方法返回一個表明枚舉運算元是否處於集合結束處的Boolean值。
big方法在String對象的文本兩端加入HTML標識。
blink方法將HTML的標識添加到String對象中的文本兩端。
bold方法將HTML的標識添加到String對象中的文本兩端。
ceil方法返回大於或等於其數值參數的最小整數。
charAt方法返回位於指定索引位置的字元。
charCodeAt方法返回指定字元的Unicode編碼。
compile方法將一個正則表達式編譯為內部格式。
concat方法(Array)返回一個由兩個數組合併組成的新數組。
concat方法(String)返回一個包含給定的兩個字元串的連接的String對象。
dimensions方法返回VBArray的維數。
escape方法對String對象編碼,以便在所有計算機上都能閱讀。
eval方法對JScript代碼求值然後執行之。
exec方法在指定字元串中執行一個匹配查找。
exp方法返回e(自然對數的底)的冪。
fixed方法將HTML的標識添加到String對象中的文本兩端。
floor方法返回小於或等於其數值參數的最大整數。
fontcolor方法將HTML帶COLOR屬性的;標識添加到String對象中的文本兩端。
fontsize方法將HTML帶SIZE屬性的;標識添加到String對象中的文本兩端。
fromCharCode方法返回Unicode字元值的字元串。
indexOf方法返回在String對象中第一次出現子字元串的字元位置。
slice方法(Array)返回數組的一個片段。
slice方法(String)返回字元串的一個片段。
small方法將HTML的;標識添加到String對象中的文本兩端。
sort方法返回一個元素被排序了的Array對象。
split方法將一個字元串分割為子字元串,然後將結果作為字元串數組返回。strike方法將HTML的標識添加到String對象中的文本兩端。
sub方法將HTML的標識放置到String對象中的文本兩端。
substr方法返回一個從指定位置開始並具有指定長度的子字元串。
substring方法返回位於String對象中指定位置的子字元串。
sup方法將HTML的標識放置到String對象中的文本兩端。
unescape方法對用escape方法編碼的String對象進行解碼。
UTC方法返回1970年1月1日零點的全球標準時間(UTC)(或GMT)與指定日期之間的毫秒數.
valueOf方法返回指定對象的原始值。
toLocaleString方法返回一個轉換為使用當地時間的字元串的日期。
toLowerCase方法返回一個所有的字母字元都被轉換為小寫字母的字元串。
toString方法返回一個對象的字元串表示。
toUpperCase方法返回一個所有的字母字元都被轉換為大寫字母的字元串。
toUTCString方法返回一個轉換為使用全球標準時間(UTC)的字元串的日期。
ubound方法返回在VBArray的指定維中所使用的最大索引值。
test方法返回一個Boolean值,表明在被查找的字元串中是否存在某個模式。
toArray方法返回一個從VBArray轉換而來的標準JScript數組。
3.日期函數
getDate方法使用當地時間返回Date對象的月份日期值。
getDay方法使用當地時間返回Date對象的星期幾。
getFullYear方法使用當地時間返回Date對象的年份。
getHours方法使用當地時間返回Date對象的小時值。
getItem方法返回位於指定位置的項。
getMilliseconds方法使用當地時間返回Date對象的毫秒值。
g
getYear方法返回Date對象中的年份。
isFinite方法返回一個Boolean值,表明某個給定的數是否是有窮的。
isNaN方法返回一個Boolean值,表明某個值是否為保留值NaN(不是一個數)。
italics方法將HTML的標識添加到String對象中的文本兩端。
item方法返回集合中的當前項。
join方法返回一個由數組中的所有元素連接在一起的String對象。
lastIndexOf方法返回在String對象中子字元串最後出現的位置。
lbound方法返回在VBArray中指定維數所用的最小索引值。
link方法將帶HREF屬性的HTML錨點添加到String對象中的文本兩端。
log方法返回某個數的自然對數
match方法使用給定的正則表達式對象對字元串進行查找,並將結果作為數組返回。
max方法返回給定的兩個表達式中的較大者。
min方法返回給定的兩個數中的較小者。
moveFirst方法將集合中的當前項設置為第一項。
moveNext方法將當前項設置為集合中的下一項。
parse方法對包含日期的字元串進行分析,並返回該日期與1970年1月1日零點之間相差的毫秒數。
replace方法返回根據正則表達式進行文字替換后的字元串的拷貝。
reverse方法返回一個元素反序的Array對象。
search方法返回與正則表達式查找內容匹配的第一個子字元串的位置。
setDate方法使用當地時間設置Date對象的數值日期。
setFullYear方法使用當地時間設置Date對象的年份。
setHours方法使用當地時間設置Date對象的小時值。
setMilliseconds方法使用當地時間設置Date對象的毫秒值。
setMinutes方法使用當地時間設置Date對象的分鐘值。
setMonth方法使用當地時間設置Date對象的月份。
setSeconds方法使用當地時間設置Date對象的秒值。
setTime方法設置Date對象的日期和時間。
setUTCDate方法使用全球標準時間(UTC)設置Date對象的數值日期。
setUTCFullYear方法使用全球標準時間(UTC)設置Date對象的年份。
setUTCHours方法使用全球標準時間(UTC)設置Date對象的小時值。
setUTCMilliseconds方法使用全球標準時間(UTC)設置Date對象的毫秒值。
setUTCMinutes方法使用全球標準時間(UTC)設置Date對象的分鐘值。
setUTCMonth方法使用全球標準時間(UTC)設置Date對象的月份。
setUTCSeconds方法使用全球標準時間(UTC)設置Date對象的秒值。
setYear方法使用Date對象的年份。
toGMTString方法返回一個轉換為使用格林威治標準時間(GMT)的字元串的日期。

VB


Abs(number)
返回參數的絕對值,其類型和參數相同。
必要的number參數是任何有效的數值表達式,如果number包含Null,則返回Null,如果number是未初始化的變數,則返回0。
一個數的絕對值是將正負號去掉以後的值。例如,ABS(-1)和ABS⑴都返回1。
Array(arglist)
返回一個包含數組的Variant。
所需的arglist參數是一個用逗號隔開的值表,這些值用於給Variant所包含的數組的各元素賦值。如果不提供參數,則創建一個長度為0的數組。
用來表示數組元素的符號由變數名、圓括弧以及括弧中的所需元素的索引號組成。在下面的示例中,第一條語句創建一個Variant的變數A。第二條語句將一個數組賦給變數A。最後一條語句將該數組的第二個元素的值賦給另一個變數。
DimAAsVariant
A=Array(10,20,30)
B=A⑵
使用Array函數創建的數組的下界受OptionBase語句指定的下界的決定,除非Array是由類型庫(例如VBA.Array)名稱限定。如果是由類型庫名稱限定,則Array不受OptionBase的影響。
注意沒有作為數組聲明的Variant也可以表示數組。除了長度固定的字元串以及用戶定義類型之外,Variant變數可以表示任何類型的數組。儘管一個包含數組的Variant和一個元素為Variant類型的數組在概念上有所不同,但對數組元素的訪問方式是相同的。
Asc(string)
返回一個Integer,代表字元串中首字母的字元代碼。
必要的string參數可以是任何有效的字元串表達式。如果string中沒有包含任何字元,則會產生運行時錯誤。
在非DBCS系統下,返回值範圍為0–255。在DBCS系統下,則為-32768–32767。
注意AscB函數作用於包含在字元串中的位元組數據,AscB返回第一個位元組的字元代碼,而非字元的字元代碼。AscW函數返回Unicode字元代碼,若平台不支持Unicode,則與Asc函數功能相同。
Atn(number)
返回一個Double,指定一個數的反正切值。
必要的number參數是一個Double或任何有效的數值表達式。
Atn函數的參數值(number)為直角三角形兩邊的比值並返回以弧度為單位的角。這個比值是角的對邊長度除以角的鄰邊長度之商。
值的範圍在-pi/2和pi/2弧度之間。
為了將角度轉換為弧度,請將角度乘以pi/180。為了將弧度轉換為角度,請將弧度乘以180/pi。
注意Atn是Tan的反三角函數Tan的參數值為角度,返回直角三角形的兩條邊的比值。不要將Atn和餘切函數混淆,餘切函數值是正切函數值的倒數,cotangent=(1/tangent)。
CallByName(object,procedurename,calltype,[arguments()])
執行一個對象的方法,或者設置或返回一個對象的屬性。
object必需的;變體型(對象)。函數將要執行的對象的名稱。
procedurename必需的;變體型(字元串)。一個包含該對象的屬性名稱或者方法名稱的字元串表達式。
calltype必需的;常數。一個vbCallType類型的常數,代表正在被調用的過程的類型。
arguments()可選的:變體型(數組)。
CallByName函數用於獲取或者設置一個屬性,或者在運行時使用一個字元串名稱來調用一個方法。
在下面的例子中,第一行使用CallByName來設置一個文本框的MousePointer屬性,第二行得到MousePointer屬性的值,第三行調用Move方法來移動文本框:
CallByNameText1,"MousePointer",vbLet,vbCrosshair
Result=CallByName(Text1,"MousePointer",vbGet)
CallByNameText1,"Move",vbMethod,100,100
Choose(index,choice-1[,choice-2,...[,choice-n]])
從參數列表中選擇並返回一個值。
Choose函數的語法具有以下幾個部分:
index必要參數,數值表達式或欄位,它的運算結果是一個數值,且界於1和可選擇的項目數之間。
choice必要參數,Variant表達式,包含可選擇項目的其中之一。
Choose會根據index的值來返回選擇項列表中的某個值。如果index是1,則Choose會返回列表中的第1個選擇項。如果index是2,則會返回列表中的第2個選擇項,以此類推。
可以使用Choose來查閱一個列表中的項目。例如,如果index所指定的值為3,而choice-1="one"、choice-2="two"、且choice-3="three",那麼Choose將返回"three"。當index代表一選項組中的值時,則這項功能將會特別有用。
即使它只返回一個選項值,Choose仍然會計算列表中的每個選擇項。所以應該注意到這項副作用。例如,當在每個選擇項表達式中使用了MsgBox函數作為其中的一部分時,每計算一個選擇項,就會顯示一次消息框。
當index小於1或大於列出的選擇項數目時,Choose函數返回Null。
如果index不是整數,則會先四捨五入為與其最接近的整數。
Chr(charcode)
返回String,其中包含有與指定的字元代碼相關的字元。
Command
返回命令行的參數部分,該命令行用於裝入MicrosoftVisualBasicVisualBasic開發的可執行程序。
當從命令行裝入VisualBasic時,/cmd之後的命令行的任何部分作為命令行的參數傳遞給程序。下面的示例中,cmdlineargs代表Command函數返回的參數信息。
VB/cmdcmdlineargs
對於使用VisualBasic開發並編譯為.exe文件的應用程序,Command返回出現在命令行中應用程序名之後的任何參數。例如:
MyAppcmdlineargs
Cos(number)
返回一個Double,指定一個角的餘弦值。
CreateObject(class,[servername])
創建並返回一個對ActiveX對象的引用。
每個支持自動化的應用程序都至少提供一種對象類型。例如,一個字處理應用程序可能會提供Application對象,Document對象,以及Toolbar對象。
要創建ActiveX對象,只需將CreateObject返回的對象賦給一個對象變數:
'聲明一個對象變數來存放該對象
'的引用。DimasObject採用後期綁定方式。
DimExcelSheetAsObject
SetExcelSheet=CreateObject("Excel.Sheet")
上述代碼將啟動該應用程序創建該對象,在本例中就是創建一個MicrosoftExcel電子數據表。對象創建后,就可以在代碼中使用自定義的對象變數來引用該對象。在下面的示例中,可以使用對象變數ExcelSheet來訪問新建對象的屬性和方法,以及訪問MicrosoftExcel的其它對象,包括應用程序對象和單元格集合。
'設置Application對象使Excel可見
ExcelSheet.Application.Visible=True
'在表格的第一個單元中寫些文本
ExcelSheet.Cells(1,1).Value="ThisiscolumnA,row1"
'將該表格保存到C:\test.doc目錄
ExcelSheet.SaveAs"C:\TEST.DOC"
'使用應用程序對象的Quit方法關閉Excel。
ExcelSheet.Application.Quit
'釋放該對象變數
SetExcelSheet=Nothing
使用AsObject子句聲明對象變數,可以創建一個能包含任何類型對象引用的變數。不過,該變數訪問對象是後期綁定的,也就是說,綁定在程序運行時才進行。要創建一個使用前期綁定方式的對象變數,也就是說,在程序編譯時就完成綁定,則對象變數在聲明時應指定類ID。例如,可以聲明並創建下列MicrosoftExcel引用:
DimxlAppAsExcel.Application
DimxlBookAsExcel.Workbook
DimxlSheetAsExcel.WorkSheet
SetxlApp=CreateObject("Excel.Application")
SetxlBook=xlApp.Workbooks.Add
SetxlSheet=xlBook.Worksheets⑴
前期綁定的變數引用可以提供更好的性能,但該變數只能存放聲明中所指定的類的引用。
可以將CreateObject函數返回的對象傳給一個參數為對象的函數。例如,下面的代碼創建並傳遞了一個Excel.Application對象的引用:
CallMySub(CreateObject("Excel.Application"))
可以在一個遠端連網的計算機上創建一個對象,方法是把計算機的名稱傳遞給CreateObject的servername參數。這個名稱與共享名稱的機器名部份相同:對於一個共享名稱為"\\\\MyServer\\Public,"的servername參數是"MyServer"。
下面的代碼返回在一個名為MyServer的遠端計算機上運行的Excel實例的版本號:
DimxlAppAsObject
SetxlApp=CreateObject("Excel.Application","MyServer")
Debug.PrintxlApp.Version
如果遠端伺服器不存在或者不可用,則會發生一個運行時錯誤。
注意當該對象當前沒有實例時,應使用CreateObject。如果該對象已有實例在運行,就會啟動一個新的實例,並創建一個指定類型的對象。要使用當前實例,或要啟動該應用程序並載入一個文件,可以使用GetObject函數。
如果對象已登記為單個實例對象,則不管執行多少次CreateObject,都只能創建該對象的一個實例。
CurDir[(drive)]
返回一個Variant(String),用來代表當前的路徑。
可選的drive參數是一個字元串表達式,它指定一個存在的驅動器。如果沒有指定驅動器,或drive是零長度字元串(""),則CurDir會返回當前驅動器的路徑。
CVErr(errornumber)
返回Error子類型的Variant,其中包含指定的錯誤號。
必要的errornumber參數可以是任何有效的錯誤號代碼。
可以在過程中,使用CVErr函數來創建用戶自定義錯誤。例如,如果創建一個函數,它可以接受若干個參數,且正常返回一個字元串,則可以讓函數來判斷輸入的參數,確認它們是在可接受的範圍內。如果不是的話,此函數將不會返回所要的字元串。在這種情況下,CVErr可以返回一個錯誤號,並告知應該採取的行動。
注意,Error的隱式轉換是不允許的,例如,不能直接把CVErr的返回值賦值給一個非Variant的變數。然而,可以對CVErr的返回值進行顯式轉換(使用CInt、CDbl等等),並賦值給適當的數據類型變數。
Date
返回包含系統日期的Variant(Date)。
DateAdd(interval,number,date)
返回包含一個日期的Variant(Date),這一日期還加上了一段時間間隔。
DateAdd函數語法中有下列命名參數:
interval必要。字元串表達式,是所要加上去的時間間隔。
number必要。數值表達式,是要加上的時間間隔的數目。其數值可以為正數(得到未來的日期),也可以為負數(得到過去的日期)。
date必要。Variant(Date)或表示日期的文字,這一日期還加上了時間間隔。
interval參數具有以下設定值:
yyyy年
q季
m月
y一年的日數
d日
w一周的日數
ww周
h時
n分鐘
s秒
可以使用DateAdd函數對日期加上或減去指定的時間間隔。例如,可以用DateAdd來計算距今天為三十天的日期;或者計算距現在為45分鐘的時間。
為了對date加上“日”,可以使用“一年的日數”(“y”),“日”(”d”)或“一周的日數”(”w”)。
DateAdd函數將不返回有效日期。在以下實例中將1月31日加上一個月:
DateAdd(m,1,31-Jan-95)
上例中,DateAdd返回1995年2月28日,而不是1995年2月31日。如果date是1996年1月31日,則由於1996年是閏年,返回值是1996年2月29日。
如果計算的日期超前100年(減去的年度超過date中的年份),就會導致錯誤發生。
如果number不是一個Long值,則在計算時取最接近的整數值來計算。
注意DateAdd返回值的格式由ControlPanel設置決定,而不是由傳遞到date參數的格式決定。
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])
返回Variant(Long)的值,表示兩個指定日期間的時間間隔數目。
interval設置同上
firstdayofweek參數的設定值如下:
常數值描述
vbUseSystem0使用NLSAPI設置。
vbSunday1星期日(預設值)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
常數值描述
vbUseSystem0用NLSAPI設置。
vbFirstJan11從包含1月1日的星期開始(預設值)。
vbFirstFourDays2從第一個其大半個星期在新的一年的一周開始。
vbFirstFullWeek3從第一個無跨年度的星期開始。
DatePart(interval,date[,firstdayofweek[,firstweekofyear]])
返回一個包含已知日期的指定時間部分的Variant(Integer)。
DatePart函數可以用來計算日期並返回指定的時間間隔。例如,可以使用DatePart計算某個日期是星期幾或目前為幾點鐘。
firstdayofweek參數會影響使用時間間隔符號“W”或“WW”計算的結果。
如果date是日期文字,則指定的年份成為該日期的固定部分。但是,如果date用雙引號("")括起來,且年份略而不提,則在每次計算date表達式時,當前年份都會插入到代碼之中。這樣就可以書寫適用於不同年份的程序代碼。
DateSerial(year,month,day)
返回包含指定的年、月、日的Variant(Date)。
為了指定某個日期,如1991年12月31日,DateSerial函數中的每個參數的取值範圍應該是可接受的;即,日的取值範圍應在1-31之間,而月的取值範圍應在1-12之間。但是,當一個數值表達式表示某日之前或其後的年、月、日數時,也可以為每個使用這個數值表達式的參數指定相對日期。
以下示例中使用了數值表達式代替絕對日期。這裡,DateSerial函數返回1990年8月1日的十年(1990-10)零兩個月(8-2)又一天(1-1)之前的日期;換句話說,就是1980年5月31日。
DateSerial(1990-10,8-2,1-1)
year參數的數值若介於0與29之間,則將其解釋為2000–2029年,若介於30和99之間則解釋為1930–1999年。而對所有其它year參數,則請用四位數值表示(如1800)。
當任何一個參數的取值超出可接受的範圍時,它會適時進位到下一個較大的時間單位。例如,如果指定了35天,則這個天數被解釋成一個月加上多出來的日數,多出來的日數將由其年份與月份來決定。如果一個參數值超出-32,768到32,767的範圍,就會導致錯誤發生。
DateValue(date)
返回一個Variant(Date)。
Day(date)
返回一個Variant(Integer),其值為1到31之間的整數,表示一個月中的某一日。
DDB(cost,salvage,life,period[,factor])
返回一個Double,指定一筆資產在一特定期間內的折舊。可使用雙下落收復平衡方法或其它指定的方法進行計算。
Dir[(pathname[,attributes])]
返回一個String,用以表示一個文件名、目錄名或文件夾名稱,它必須與指定的模式或文件屬性、或磁碟卷標相匹配。
Dir函數的語法具有以下幾個部分:
部分描述
pathname可選參數。用來指定文件名的字元串表達式,可能包含目錄或文件夾、以及驅動器。如果沒有找到pathname,則會返回零長度字元串("")。
attributes可選參數。常數或數值表達式,其總和用來指定文件屬性。如果省略,則會返回匹配pathname但不包含屬性的文件。
attributes參數的設置可為:
常數值描述
vbNormal0(預設)指定沒有屬性的文件。
vbReadOnly1指定無屬性的只讀文件
vbHidden2指定無屬性的隱藏文件
VbSystem4指定無屬性的系統文件
vbVolume8指定卷標文件;如果指定了其它屬性,則忽略vbVolume
vbDirectory16指定無屬性文件及其路徑和文件夾。
注意這些常數是由VBA所指定的,在程序代碼中的任何位置,可以使用這些常數來替換真正的數值。
Dir支持多字元(*)和單字元(?)的通配符來指定多重文件。
由於Macintosh不支持通配符,使用文件類型指定文件組。可以使用MacID函數指定文件類型而不用文件名。比如,下列語句返回當前文件夾中第一個TEXT文件的名稱:
Dir("SomePath",MacID("TEXT"))
為選中文件夾中所有文件,指定一空串:
Dir("")
在MicrosoftWindows中,如果在Dir函數中使用MacID函數,將產生錯誤。
任何大於256的attribute值都被認為是MacID函數的值。
在第一次調用Dir函數時,必須指定pathname,否則會產生錯誤。如果也指定了文件屬性,那麼就必須包括pathname。
Dir會返回匹配pathname的第一個文件名。若想得到其它匹配pathname的文件名,再一次調用Dir,且不要使用參數。如果已沒有合乎條件的文件,則Dir會返回一個零長度字元串("")。一旦返回值為零長度字元串,並要再次調用Dir時,就必須指定pathname,否則會產生錯誤。不必訪問到所有匹配當前pathname的文件名,就可以改變到一個新的pathname上。但是,不能以遞歸方式來調用Dir函數。以vbDirectory屬性來調用Dir不能連續地返回子目錄。
提示由於文件名並不會以特別的次序來返回,所以可以將文件名存儲在一個數組中,然後再對這個數組排序。
DoEvents()
轉讓控制權,以便讓操作系統處理其它的事件。
Environ({envstring|number})
返回String,它關連於一個操作系統環境變數。在Macintosh中不可用
如果在環境字元串表格中找不到envstring,則會返回一個零長度字元串("")。如果找到,則Environ會返回一段文本,文本是賦值給指定的envstring的,也就是說,在環境字元串表格中對應那個環境變數的等號(=)後面的那段文本。
如果指定了number,則在環境字元串表格中相應位置上的字元串會返回。在這種情況下,Environ會返回整個文本,包括envstring。如果在指定位置上沒有環境字元串,那麼Environ會返回一個零長度字元串。
EOF(filenumber)
返回一個Integer,它包含Boolean值True,表明已經到達為Random或順序Input打開的文件的結尾。
Error[(errornumber)]
返回對應於已知錯誤號的錯誤信息。
Exp(number)
返回Double,指定e(自然對數的底)的某次方。
FileAttr(filenumber,returntype)
返回一個Long,表示使用Open語句所打開文件的文件方式。
FileAttr函數的語法具有以下幾個命名參數:
filenumber必要。Integer類型,任何有效的文件號。
returntype必要。Integer類型。它是數字,指出返回信息的類型。指定1則可返回一個代表文件方式的數值。而僅僅在16位系統中,指定2才可以恢復操作系統的文件句柄。在32位系統中不支持Returntype2,它會導致錯誤發生。
當returntype參數值為1時,下列返回值指出文件訪問方式:
方式值
Input1
Output2
Random4
Append8
Binary32
FileDateTime(pathname)
返回一個Variant(Date),此為一個文件被創建或最後修改後的日期和時間。
FileLen(pathname)
返回一個Long,代表一個文件的長度,單位是位元組。
Filter(InputStrings,Value[,Include[,Compare]])
返回一個下標從零開始的數組,該數組包含基於指定篩選條件的一個字元串數組的子集。
Filter函數語法有如下幾部分:
InputStrings必需的。要執行搜索的一維字元串數組。
Value必需的。要搜索的字元串。
Include可選的。Boolean值,表示返回子串包含還是不包含Value字元串。如果Include是True,Filter返回的是包含Value子字元串的數組子集。如果Include是False,Filter返回的是不包含Value子字元串的數組子集。
Compare可選的。數字值,表示所使用的字元串比較類型。有關其設置,請參閱下面的“設置值”部分。
Compare參數的設置值如下:
常數值描述
vbUseCompareOption–1使用OptionCompare語句的設置值來執行比較。
vbBinaryCompare0執行二進位比較。
vbTextCompare1執行文字比較。
vbDatabaseCompare2隻用於MicrosoftAccess。基於您的資料庫信息來執行比較。
如果在InputStrings中沒有發現與Value相匹配的值,Filter返回一個空數組。如果InputStrings是Null或不是一個一維數組,則產生錯誤。
Filter函數所返回的數組,其元素數目剛好是所找到的匹配項目數。
Format(expression[,format[,firstdayofweek[,firstweekofyear]]])
返回Variant(String),其中含有一個表達式,它是根據格式表達式中的指令來格式化的。
expression必要參數。任何有效的表達式。
format可選參數。有效的命名表達式或用戶自定義格式表達式。
firstdayofweek可選參數。常數,表示一星期的第一天。
firstweekofyear可選參數。常數,表示一年的第一周。
設置值
firstdayofweek參數有下面設置:
常數值說明
vbUseSystem0使用NLSAPI設置。
VbSunday1星期日(預設)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
firstweekofyear參數有下面設置:
常數值說明
vbUseSystem0使用NLSAPI設置。
vbFirstJan11從包含一月一日的那一周開始(預設)。
vbFirstFourDays2從本年第一周開始,而此周至少有四天在本年中。
VbFirstFullWeek3從本年第一周開始,而此周完全在本年中。
說明
格式化作法
數字使用預先定義的命名數值格式或創建用戶自定義數值格式。
日期和時間使用預先定義的命名日期/時間格式或創建用戶自定義日期/時間格式。
日期和時間序數使用日期和時間格式或數值格式。
字元串創建自定義的字元串格式。
如果在格式化數字時沒有指定format,Format會提供與Str函數類似的功能,儘管它是國際化的。然而,以Format作用在正數上不會保留正負號空間,而以Str的話則會。
FormatCurrency(Expression[,NumDigitsAfterDecimal[,IncludeLeadingDigit[,UseParensForNegativeNumbers[,GroupDigits]]]])
返回一個貨幣值格式的表達式,它使用系統控制面板中定義的貨幣符號。
Expression必需的。要格式化的表達式。
NumDigitsAfterDecimal可選的。數字值,表示小數點右邊的顯示位數。預設值為–1,表示使用計算機的區域設置值。
IncludeLeadingDigit可選的。三態常數,表示小數點前是否顯示一個零。關於其值,請參閱“設置值”部分。
UseParensForNegativeNumbers可選的。三態常數,表示是否把負數值放在園括弧內。關於其值,請參閱“設置值”部分。
GroupDigits可選的。三態常數,表示是否用組分隔符對數字進行分組,組分隔符由計算機的區域設置值指定。關於其值,請參閱“設置值”部分。
常數值描述
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2使用計算機區域設置中的設置值。
說明
當忽略一個或多個選項參數時,被忽略的參數值由計算機的區域設置值提供。
貨幣符號相對貨幣值的位置由計算機的區域設置值確定。
注意除起始的零外,所有設置值信息都來自“區域設置”的“貨幣”選項卡,起始的零來自“數字”選項卡。
FormatDateTime(Date[,NamedFormat])
返回一個日期或時間格式的表達式。
FormatDateTime函數語法有如下幾部分:
部分描述
Date必需的。要被格式化的日期表達式。
NamedFormat可選的。數字值,表示日期/時間所使用的格式。如果忽略該值,則使用vbGeneralDate。
設置值
NamedFormat參數的設置值如下:
常數值描述
vbGeneralDate0顯示日期和/或時間。如果有日期部分,則用短日期格式顯示。如果有時間部分,則用長時間格式顯示。如果都有,兩部分都顯示。
vbLongDate1用計算機區域設置值中指定的長日期格式顯示日期。
vbShortDate2用計算機區域設置值中指定的短日期格式顯示日期。
vbLongTime3用計算機區域設置值中指定的時間格式顯示時間。
vbShortTime4用24小時格式(hh:mm)顯示時間。
返回一個數字格式的表達式。
FormatNumber函數語法有如下幾部分:
部分描述
Expression必需的。要被格式化的表達式。
IncludeLeadingDigit可選的。三態常數,表示小數點前是否顯示零。關於其值,請參閱“設置值”部分。
UseParensForNegativeNumbers可選的。三態常數,表示是否把負數值放在圓括弧內。關於其值,請參閱“設置值”部分。
GroupDigits可選的。的三態常數,表示是否用組分隔符對數字分組,組分隔符在計算機的區域設置值中指定。關於其值,請參閱“設置值”部分。
設置值 IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數的設置值如下:
常數值描述
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2用計算機區域設置值中的設置值。
說明
當忽略一個或多個選項參數時,被忽略的參數值由計算機的區域設置值提供。
注意所有設置值信息都來自“區域設置”的“數字”選項卡。
返回一個百分比格式(乘以100)的表達式,後面有%符號。
FormatPercent函數語法有如下幾部分:
部分描述
Expression必需的。要格式化的表達式。
UseParensForNegativeNumbers可選的。三態常數,表示是否把負數放在圓括弧內。關於其值,請參閱“設置值”部分。
GroupDigits可選的。三態常數,表示是否用組分隔符對數字進行分組,組分隔符在計算機的區域設置值中指定。關於其值,請參閱“設置值”部分。
設置值
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits參數的設置值如下:
常數值描述
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2使用計算機區域設置值中的設置值。
說明
當忽略一個或多個選項參數時,被忽略的參數值由計算機的區域設置值提供。
注意所有的設置值信息都來自“區域設置”的“數字”選項卡。
FreeFile[(rangenumber)]
返回一個Integer,代表下一個可供Open語句使用的文件號。
FV(rate,nper,pmt[,pv[,type]])
返回一個Double,指定未來的定期定額支付且利率固定的年金。
GetAllSettings(appname,section)
從Windows註冊表中返回應用程序項目的所有註冊表項設置及其相應值(開始是由SaveSetting產生)。
GetAttr(pathname)
返回一個Integer,此為一個文件、目錄、或文件夾的屬性。
由GetAttr返回的值,是下面這些屬性值的總和:
vbNormal0常規
vbReadOnly1隻讀
vbHidden2隱藏
vbSystem4系統文件
vbDirectory16目錄或文件夾
vbArchive32上次備份以後,文件已經改變
vbalias64指定的文件名是別名。
注意這些常數是由VBA指定的,在程序代碼中的任何位置,可以使用這些常數來替換真正的值。
若要判斷是否設置了某個屬性,在GetAttr函數與想要得知的屬性值之間使用And運算符與逐位比較。如果所得的結果不為零,則表示設置了這個屬性值。例如,在下面的And表達式中,如果檔案(Archive)屬性沒有設置,則返回值為零:
Result=GetAttr(FName)AndvbArchive
如果文件的檔案屬性已設置,則返回非零的數值。
object.GetAutoServerSettings([progid],[clsid])
返回關於ActiveX部件的註冊狀態的信息。
GetObject([pathname][,class])
返迴文件中的ActiveX對象的引用。
GetSetting(appname,section,key[,default])
從Windows註冊表中的應用程序項目返回註冊表項設置值。
Hex(number)
返回代表十六進位數值的String。
Hour(time)
返回一個Variant(Integer),其值為0到23之間的整數,表示一天之中的某一鐘點。
Ⅱf(expr,truepart,falsepart)
根據表達式的值,來返回兩部分中的其中一個。
IMEStatus
返回一個Integer,用來指定當前MicrosoftWindows的輸入法(IME)方式;只對東亞區版本有效。
下面是日本國別的返回值:
常數值描述
vbIMEModeNoControl0不控制IME(預設)
vbIMEModeOn1打開IME
vbIMEModeOff2關閉IME
vbIMEModeDisable3IME無效
vbIMEModeHiragana4完整寬度Hiragana模式
vbIMEModeKatakana5完整寬度Katakana片假名模式
vbIMEModeKatakanaHalfmode6半寬Katakana模式
vbIMEModeAlphaFullmode7完整寬度Alphanumeric模式
vbIMEModeAlphamode8半寬Alphanumeric模式
下面是韓國地區的返回值:
常數值描述
vbIMEModeAlphaFull7完整寬度Alphanumeric模式
vbIMEModeAlpha8半寬Alphanumeric模式
vbIMEModeHangulFull9完整寬度Hangul模式
vbIMEModeHangul10半寬Hangul模式
下面是中文地區的返回值:
常數值描述
vbIMEModeNoControl0不控制IME(預設)
vbIMEModeOn1打開IME
vbIMEModeOff2關閉IME
Input(number,[#]filenumber)
返回String,它包含以Input或Binary方式打開的文件中的字元。
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
在一對話框來中顯示提示,等待用戶輸入正文或按下按鈕,並返回包含文本框內容的String。
InStr([start,]string1,string2[,compare])
返回Variant(Long),指定一字元串在另一字元串中最先出現的位置。
InstrRev(string1,string2[,start[,compare]])
返回一個字元串在另一個字元串中出現的位置,從字元串的末尾算起。
Int(number)或Fix(number)
返回參數的整數部分。
IPmt(rate,per,nper,pv[,fv[,type]])
返回一個Double,指定在一段時間內對定期定額支付且利率固定的年金所支付的利息值。
IRR(values()[,guess])
返回一個Double,指定一系列周期性現金流(支出或收入)的內部利率。
數學函數公式:
Secant(正割)Sec(X)=1/Cos(X)
Cosecant(餘割)Cosec(X)=1/Sin(X)
Cotangent(餘切)Cotan(X)=1/Tan(X)
InverseSine
(反正弦)
Arcsin(X)=Atn(X/Sqr(-X*X+1))
InverseCosine
(反餘弦)
Arccos(X)=Atn(-X/Sqr(-X*X+1))+2*Atn⑴
InverseSecant
(反正割)
Arcsec(X)=Atn(X/Sqr(X*X-1))+Sgn((X)-1)*(2*Atn⑴)
InverseCosecant
(反餘割)
Arccosec(X)=Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*(2*Atn⑴)
InverseCotangent
(反餘切)
Arccotan(X)=Atn(X)+2*Atn⑴
HyperbolicSine
(雙曲正弦)
HSin(X)=(Exp(X)-Exp(-X))/2
HyperbolicCosine
(雙曲餘弦)
HCos(X)=(Exp(X)+Exp(-X))/2
HyperbolicTangent
(雙曲正切)
HTan(X)=(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))
HyperbolicSecant
(雙曲正割)
HSec(X)=2/(Exp(X)+Exp(-X))
HyperbolicCosecant(雙曲餘割)HCosec(X)=2/(Exp(X)-Exp(-X))
HyperbolicCotangent(雙曲餘切)HCotan(X)=(Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))
InverseHyperbolicSine(反雙曲正弦)HArcsin(X)=Log(X+Sqr(X*X+1))
InverseHyperbolicCosine(反雙曲餘弦)HArccos(X)=Log(X+Sqr(X*X-1))
InverseHyperbolicTangent(反雙曲正切)HArctan(X)=Log((1+X)/(1-X))/2
InverseHyperbolicSecant(反雙曲正割)HArcsec(X)=Log((Sqr(-X*X+1)+1)/X)
InverseHyperbolicCosecantHArccosec(X)=Log((Sgn(X)*Sqr(X*X+1)+1)/X)
InverseHyperbolicCotangent
(反雙曲餘切)
HArccotan(X)=Log((X+1)/(X-1))/2
以N為底的對數LogN(X)=Log(X)/Log(N)
Abs(number)
返回參數的絕對值,其類型和參數相同。
Array(arglist)
返回一個包含數組的Variant。
內置函數舉例:JavaScript內置函數,smarty內置函數等。

Python


內置函數計算
len(object):計算長度/元素個數
hash(object):只能轉換不可變對象
round(flout):浮點數四舍六入,五根據精度截斷舍入
max(object):取極大值
min(object):取極小值
sum(iterable[,num]):返回可迭代帶對象元素和,再加上num
abs(num):整數浮點數取絕對值,複數返回模
cmp(x,y)(2.x):比較兩個對象,xy返回1
pow(x,y[,z]):返回x的y次方,有z的話再取餘數
divmod(x,y):返回商和余的元組,xy非複數
int(num/str,base):根據進位將str轉換為十進位整數/將浮點數截斷取整
float(int/str):轉換成浮點數
long(x,base=10)(2.x):將數字或字元串轉換為一個長整型
complex(real[,imag]):生成複數
bin(int):將整數轉換成二進位字元串
ord(int):將整數轉換成八進位字元串
hex(int):將整數轉換成十六進位字元串
chr(int/hex):將十進位/十六進位數字轉換成對應ASCII字元
unichr(i)(2.x):和chr()函數功能基本一樣,只不過是返回unicode的字元
內置函數屬性
delattr(object,attr):刪除屬性
hasattr(object,attr):判斷是否有屬性
setattr(object,attr):修改已有屬性,新建未有屬性
getattr(object,attr[,defualt]):獲取屬性值,沒有屬性則報錯/設置為默認值
isinstance(object,classinfo):判斷對象是否是類型或者指定類的實例
issubclass(class1,class2):判斷前者是否是後者的子類
callable(object):判斷對象是否可以調用(類函數方法一般可以調用)
內置函數容器
str(object):轉換為字元串
list():生成/轉換為列表(傳入字典得到鍵的列表,傳入字元串字元拆分列表)
set(iterable):生成/轉換為集合
frozenset(iterable):生成/轉換為固定集合
tuple(iterable):生成/轉換為元組
dict():創建/轉換為字典
range([start,]end[,step]):返回可迭代對象(2.x版本返回數組),可以轉換成其他容器
xrange(start,stop[,step])(2.x):返回生成器,可以轉換成其他容器
all(iterable):
any(iterable):
slice(start,stop[,step]):制定切片規則
bool():轉換成布爾類型
bytearray([source[,encoding[,errors]]]):返回一個新位元組數組,數組元素可變
bytes([source[,encoding[,errors]]]):bytearray的不可變版本
內置函數內存
id(object):返回對象的內存地址
memoryview(bytes):查看內存地址
內置函數變數
globals():返回當前位置全局變數
locals():把當前位置作用域變數、方法、函數封裝成字典
vars([object]):返回字典
返回object的屬性和屬性值,object必須有__dict__屬性,類的話返回類的類方法、類屬性、實例方法
沒有object時返回當前調用位置的屬性和屬性值,此時相當於locals()
dir([object]):返回列表
返回object的屬性、方法列表
沒有object時返回當前範圍內的變數、方法和定義的類型列表,此時相當於locals()的鍵列表
內置函數基礎操作
input():標準輸入,返回字元串,整合了2.x版本的input和row_input
print(objects,sep='',end='\n',file=sys.stdout,flush=False):列印輸出
format(*args,**kwargs):拼接字元串
open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True):打開文件,相當於python2.x中的file()
help():查看函數或模塊的幫助信息
type(object,bases,dict):
內置函數位元組字元相關
exec(object[,global[,locals]]):執行object字元串表示的python語句,相當於python2.x中execobj和execfile()函數的組合
eval(expression[,globals[,locals]]):函數用來執行一個字元串表達式,並返回表達式的值
compile(source,filename,mode[,flags[,dont_inherit]]):將一個字元串編譯為位元組代碼
repr():將對象轉換成字元串
ascii():將對象轉換成字元串,非ASCII字元通過repr函數進行編碼
__import__():動態導入模塊、類、函數
內置函數處理函數
map(func,iterable):取可迭代對象每一個元素帶入函數,返回函數返回值的列表
zip(iterable,iterable...):將可迭代對象對應索引的元素組成列表,以最短的為主
filter(function,iterable):過濾序列,取可迭代對象每一個元素帶入函數,返回函數返回值為True的列表
reversed(seq):返回反轉的迭代器,可藉助list轉換為列表
sorted(iterable,key=None,reverse=False):排序,返回可迭代對象
reduce(function,iterable[,initializer])(2.x):對參數序列中元素進行累積,每一輪結果作為下一輪參數
內置函數類相關
classmethod(fun):構建類方法,常用裝飾器形式
staticmethod(fun):構建靜態方法(類中方法但不需要self或cls),常用裝飾器形式
property([fget[,fset[,fdel[,doc]]]]):在新式類中返回屬性值,可以使用裝飾器形式,多用於保護私有變數
object():創建基類實例
super(type[,object-or-type]):調用父類(超類)的一個方法
內置函數迭代相關
iter(object[,sentinel]):生成迭代器
next(iterator[,defalut]):返回可迭代對象下一個元素,沒有元素時返回defalut或報錯
enumerate(sequence,[start=0]):返回可遍歷對象的索引和元素(或鍵和值)組成的元組列表