VBA ֆունկցիաների օգտագործման օրինակներ. Oracle Vba excel ֆունկցիաների ներկառուցված գործառույթները տողերի հետ աշխատելու համար

  • Ա.Ս.Կ. () - այս ֆունկցիան թույլ է տալիս վերադարձնել անցած նիշի թվային կոդը: Օրինակ, ASC(«D») կվերադարձնի 68: Այս ֆունկցիան օգտակար է հաջորդ կամ նախորդ տառը որոշելու համար: Այն սովորաբար օգտագործվում է ֆունկցիայի հետ համատեղ Քր(), որը կատարում է հակադարձ գործողություն - վերադարձնում է նիշը ըստ փոխանցված թվային կոդի: Այս ֆունկցիայի տարբերակներն են. AscB() Եվ AscW():
    • AscB () - վերադարձնում է նիշի թվային կոդի միայն առաջին բայթը:
    • AscW () - վերադարձնում է Unicode կոդավորման նիշի կոդը
  • Քր () - վերադարձնում է նիշը իր թվային կոդով: Կարող է օգտագործվել Asc() ֆունկցիայի հետ համատեղ, բայց ամենից հաճախ այն օգտագործվում է, երբ անհրաժեշտ է տպել սպասարկման նիշ: (օրինակ մեջբերումներ - «), որովհետեւ Դուք չեք կարող պարզապես չակերտներ մուտքագրել VBA կոդում (դուք պետք է կրկնապատկեք). Սա այն գործառույթն է, որը ես սովորաբար օգտագործում եմ:

    Dim sword As String sWord = Chr(34) & «Word in չակերտներում» & Chr(34)

    Այս գործառույթի համար կան տարբերակներ. ChrB() Եվ ChrW(). Աշխատեք նման գործառույթի նույն ընտրանքների հետ Asc().

  • InStr () Եվ InStrRev () - ամենատարածված հատկանիշներից մեկը: Թույլ է տալիս լարային փոփոխականի մարմնում հայտնաբերել նիշ կամ նիշերի հաջորդականություն և վերադարձնել դրանց դիրքը: Եթե ​​հաջորդականությունը չի գտնվել, ապա վերադարձվում է 0:

    Dim sStr As String sStr = "w" Եթե InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Ապա MsgBox "Որոնման բառն առկա է!" Else MsgBox «Որոնված բառը բացակայում է»: Վերջ Եթե

    Գործառույթների միջև տարբերությունն այն է, որ InStr()-ը որոնում է նշված բառը տողի սկզբից, իսկ InStrRev()-ը տողի վերջից:

  • Ձախ () , Ճիշտ () , միջն () - Ձեր նշած նիշերի քանակը համապատասխանաբար ձախ, աջ կամ միջին գոյություն ունեցող տողային փոփոխականից վերցնելու ունակություն:
    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Mid(sStr, 1, 5)

  • Լեն () - տողում նիշերի քանակը ստանալու ունակություն: Հաճախ օգտագործվում է օղակների, փոխարինող գործողությունների և այլնի հետ:
  • LCase () Եվ UCase () - փոխակերպեք տողը համապատասխանաբար ստորին և մեծատառերի: Հաճախ օգտագործվում է համեմատության համար արժեք պատրաստելու համար, երբ համեմատելիս մեծությունը կարևոր չէ (ազգանուններ, ընկերությունների անվանումներ, քաղաքներ և այլն).
  • LSset () Եվ RSset () - մեկ փոփոխականը մյուսի նշաններով լցնելու ունակություն՝ առանց դրա երկարությունը փոխելու (համապատասխանաբար ձախ և աջ). Լրացուցիչ նիշերը կտրված են, և բացակայող նիշերը փոխարինվում են բացատներով:
  • LTrim () , RTrim () , Կտրել () - ձախ, աջ կամ ձախ և աջ, համապատասխանաբար, տարածությունները հեռացնելու ունակություն:
  • Փոխարինել () - տողի մեջ նիշերի մեկ հաջորդականությունը մյուսով փոխարինելու ունակություն:
    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Replace(sStr, «Hello», «Bay»)

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Replace (sStr, «Hello», «Bay»)

  • Տիեզերք () - ստացեք տող ձեր նշած բացատների քանակից.
    Մեկ այլ նմանատիպ գործառույթ է Spc () , որն օգտագործվում է վահանակի ելքը ձևաչափելու համար։ Այն բազմապատկում է բացատները՝ հիմնվելով հրամանի տողի լայնության վրա:
  • StrComp () - երկու տողեր համեմատելու ունակություն.
  • StrConv () - տողը փոխարկելու ունակություն (մինչև Յունիկոդ և ետ, մեծ և փոքրատառ, բառերի առաջին տառերը մեծատառով և այլն):
    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox StrConv («Բարև, աշխարհ», vbUpperCase)

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox StrConv («Բարև, աշխարհ», vbUpperCase)

    Կոնստանտները կարող են օգտագործվել որպես երկրորդ պարամետրի պարամետր.

    • vbUpperCase:Փոխակերպում է բոլոր տեքստային նիշերը մեծատառի
    • vbLowerCase:Փոխակերպում է բոլոր տեքստային նիշերը փոքրատառերի
    • vbProperCase:Փոխակերպում է յուրաքանչյուր բառի առաջին նիշը մեծատառի
    • *vbWide:Փոխակերպում է տողային նիշերը մեկ բայթից կրկնակի բայթի
    • *vbNarrow:Փոխակերպում է լարային նիշերը կրկնակի բայթից մեկ բայթի
    • **vbKatakana:Փոխակերպում է Հիրագանայի կերպարները Կատականայի կերպարների
    • **vbHiragana:Փոխակերպում է Katakana կերպարները Հիրագանա կերպարների
    • ***vbUnicode:Փոխակերպում է տողը Յունիկոդի՝ օգտագործելով համակարգի լռելյայն կոդային էջը
    • ***vbFromUnicode:Փոխակերպում է Յունիկոդի տողը համակարգի լռելյայն կոդային էջին
    • * կիրառելի է Հեռավոր Արևելքի տեղայնացման համար
      ** Կիրառելի է միայն Ճապոնիայի համար
      *** չի աջակցվում Macintosh օպերացիոն համակարգերում

  • StrReverse () - «հակադարձել» տողը՝ դրա նիշերը հակառակ հերթականությամբ դնելով: Ֆունկցիան աշխատում է միայն Excel 2000 և ավելի բարձր տարբերակներից: Գործառույթի օգտագործման օրինակը, ինչպես նաև բառը վերածելու այլ մեթոդներ կարելի է գտնել այս հոդվածում. Ինչպե՞ս շրջել բառը:
  • Ներդիր () ևս մեկ գործառույթ է, որն օգտագործվում է վահանակի ելքը ձևաչափելու համար: Վերարտադրում է ներդիրի նիշերը ձեր նշած թվով: Եթե ​​քանակություն նշված չէ, պարզապես տեղադրեք ներդիրի նիշը: Կարող եք նաև օգտագործել հաստատունը՝ ներդիրի նիշը լարային արժեքի մեջ տեղադրելու համար vbTab.
  • Լարային () - թույլ է տալիս ստանալ որոշակի թվով նիշերի տող (որոնք կրկին նշված են ձեր կողմից). Սովորաբար օգտագործվում է ելքը ֆունկցիայի հետ համատեղ ձևաչափելու համար Լեն().

(http://www.cyberforum.ru/vba/thread638743.html)

Տարբերակ 1

strW= (="ԿՈՐՈՏԵՎ ԴՄԻՏՐԻ ՎԼԱԴԻՄԻՐՈՎԻՉ") strB=Փոխարինել(Փոխարինել(strW, Chr(61), ""), Chr(34), "")

Տարբերակ

Կարող եք նաև օգտագործել բայթային զանգված.

Sub n() Dim Mass() As Byte, n Long, Zam As String, TXT As String TXT = "="" ԴՄԻՏՐԻ ՎԼԱԴԻՄԻՐՈՎԻՉ ԿՈՐՈՏԵԵՎ" Mass = StrConv(TXT, vbFromUnicode) For n = 0 To UBound(Mass) Եթե Զանգված (n)<>34 And Mass(n)<>61 Հետո Zam = Zam + Chr$(Mass(n)) Հաջորդ MsgBox Zam End Sub

Տարբերակ

Կամ զտում միջինով.

Sub nn() Dim n այնքան երկար, TXT որպես տող, L որպես տող, Zam որպես տող TXT = "="" ԴՄԻՏՐԻ ՎԼԱԴԻՄԻՐՈՎԻՉ ԿՈՐՈՏԵԵՎ" For n = 1 To Len(TXT) L = Mid$(TXT, n, 1) Եթե ​​Լ<>«»» Եվ Լ<>«=" Հետո Zam = Zam + L Հաջորդ MsgBox Zam End Sub

6-րդ գիծը կարելի է փոխարինել հասկիով.
Visual Basic կոդը
1
Եթե ​​L սիրում է «[!»»=]», ապա Zam = Zam + L

Տարբերակ

Նաև դիրքի որոնման և ռեկուրսիայի միջոցով.

Sub test() Dim n As Long, txt As String txt = "=""DMITRY VLADIMIROVICH KOROTEEV" txt = Change(txt, "=") txt = Change(txt, """") MsgBox txt Վերջ ենթաֆունկցիայի փոփոխություն( txt Որպես տող, ինչ որպես տող, կամընտիր Pos = 1) Dim n այնքան երկար, եթե Pos<>0 Ապա n = InStr(Pos, txt, What) Change = Mid$(txt, Pos, IIf(n - Pos)< 0, Len(txt), n - Pos)) + Change(txt, What, IIf(n = 0, 0, n + 1)) End If End Function

Դուք կարող եք նաև օգտագործել կանոնավոր արտահայտություններ, բայց ես դրանք չգիտեմ:

Տարբերակ

Աջից ձախ որոնման և ռեկուրսիայի միջոցով.

Visual Basic կոդը
1 2 3 4 5 6 7 8 Գործառույթի փոփոխություն (txt որպես տող, ինչ որպես տող, կամընտիր Pos այնքան երկար) Dim n քանի դեռ Pos = 0 Ապա Pos = Len(txt) Եթե Pos<>-1 Ապա n = InStrRev(txt, What, Pos) Change = Change(txt, What, IIf(n = 1, -1, n - 1)) + Mid$(txt, n + 1, Pos - n) Վերջ Եթե ​​ավարտի գործառույթը

Տարբերակ

Եվ կա նաև ՊառակտումԵվ Միանալ

Strb = Միանալ (Split (Միանալ (Split(strW, "="), ""), """"), "")

Թեմայից դուրս.Բայց սա սադիստների համար է

Մեծատառ և փոքրատառ

ActiveDocument.Range-ի հետ "uppercase.Text = Ucase(.Text) "lowcase.Text = Lcase(.Text) Ավարտվում է

կամ StrConv() - փոխարկել տողը (Յունիկոդի և ետ, մեծի և փոքրատառի, բառերի առաջին տառերը մեծատառով և այլն) - տե՛ս ստորև

Լարային գործողություններ

String տիպի տվյալների համար կա միայն մեկ գործողություն՝ միացում (միավորում): Օրինակ, երեք տողերի «Պետեր» և »» և «Իվանովիչ» արժեքների միացման գործողության արդյունքը կլինի «Պիտեր Իվանովիչ» տողը: Հնարավոր է նաև կապակցման գործողության համար օգտագործել մեկ այլ օպերատոր, օրինակ՝ «տասը» + «հազար»: Այս արտահայտությունների տարբերությունն այն է, որ առաջին դեպքում օպերանդները կարող են լինել ցանկացած տեսակի արժեք (դրանք պարզապես կվերածվեն տողերի), իսկ երկրորդում երկու օպերանդներն էլ պետք է լինեն String տիպի։ Կան մեծ թվով ֆունկցիաներ տողերի հետ աշխատելու համար (աղյուսակ. լարերի հետ աշխատելու գործառույթներ)։

Աղյուսակ «Լարերի հետ աշխատելու գործառույթներ»

Գործառույթ Նկարագրություն Օրինակ
Լեն (փող.) Որոշում է տողի երկարությունը a=len-ից («Նիշեր») հետևում է a=9
Ձախ (<строка>, <длина>) Քաղվածքներ փաստարկից<строка>ձախ կողմում նշված նիշերի քանակը Ձախ ("1234string", 4) = "1234"
Ճիշտ(<строка>, <длина>) Քաղվածքներ փաստարկից<строка>նշված թվով նիշերի աջ կողմում Right(" 1234string", 6) ="string"
միջին (<строка>, <старт> [, <длина>]) Քաղվածքներ փաստարկից<строка>ենթատող՝ նշված թվով նիշերով, սկսած դիրքից<старт> Mid ("12345678″, 4.3) = "456"
միջին (<строка>, <старт>) Դիրքից հանվում է ենթատող<старт>մինչև տողի վերջը Միջին ("12345678″, 4) = "45678"
LTrim (<строка>) Հեռացնում է տողի սկզբում բացատները LTrim ("տպել") "տպել"
RTrim (<строка>) Հեռացնում է տողի վերջում գտնվող բացերը RTrim ("print") = "տպել"
Կտրել (<строка>) Հեռացնում է տողի սկզբում և վերջում բացատները Կտրել ("տպել") "տպել"
InStr ([<старт>, ] < строка1>, <строка2> [, <сравнение>]) Փնտրում է ենթատողը տողի մեջ: Վերադարձնում է տողի առաջին հայտնվելու դիրքը<строка2>շարել<строка1>, <старт>— այն դիրքը, որտեղից սկսվում է որոնումը: Եթե ​​այս արգումենտը բաց թողնվի, որոնումը սկսվում է տողի սկզբից Instr("C:Temp test.mdb", "Test")=9 Եթե որոնման տողը նշված տողում չէ, ֆունկցիան վերադարձնում է 0:
InStrRev ([<старт>, ] <строка1>, <строка2> [, <сравнение>]) Փնտրում է ենթալարի տողում, բայց սկսում է որոնումը տողի վերջում և վերադարձնում ենթալարի վերջին հայտնվելու դիրքը: Ընտրովի փաստարկ<сравнение>սահմանում է երկու տողերի համեմատության տեսակը
Փոխարինել (<строка>, <строкаПоиск>, <строкаЗамена>) Թույլ է տալիս փոխարինել տողի մի ենթատողը մյուսով: Այս ֆունկցիան որոնում է փաստարկի բոլոր երևույթները<строкаПоиск>վեճի մեջ<строка>և դրանք փոխարինում է<строкаЗамена>

Տողերի արժեքները համեմատելու համար կարող եք օգտագործել սովորական թվային համեմատության օպերատորներ, քանի որ նիշերը համեմատելիս նրանց երկուական կոդերը համեմատվում են: Like օպերատորը նաև օգտագործվում է տողերի արժեքները համեմատելու համար, ինչը թույլ է տալիս հայտնաբերել ոչ ճշգրիտ համընկնում, օրինակ՝ «Input» արտահայտությունը, ինչպես «Input*»-ը, կգնահատվի True, քանի որ համեմատվող տողը սկսվում է «Input» բառով: Աստղանիշը (*) տողի մեջ փոխարինում է նիշերի կամայական թվին: Այլ նիշեր, որոնք մշակվում են Like օպերատորի կողմից համեմատվող տողում.

  • ? - ցանկացած կերպար (մեկ);
  • # – մեկ նիշ (0–9);
  • [<список>] – նիշ, որը համապատասխանում է ցանկի նիշերից մեկին.
  • [!<список>] – նիշ, որը չի համընկնում ցուցակի նիշերից ոչ մեկին:
  • Ա.Ս.Կ.() - այս ֆունկցիան թույլ է տալիս վերադարձնել անցած նիշի թվային կոդը: Օրինակ, ASC(«D») կվերադարձնի 68: Այս ֆունկցիան օգտակար է հաջորդ կամ նախորդ տառը որոշելու համար: Այն սովորաբար օգտագործվում է ֆունկցիայի հետ համատեղ Քր(), որը կատարում է հակադարձ գործողություն - վերադարձնում է նիշը ըստ փոխանցված թվային կոդի: Այս ֆունկցիայի տարբերակներն են. AscB() Եվ AscW():
    • AscB() - վերադարձնում է նիշի թվային կոդի միայն առաջին բայթը:
    • AscW() - վերադարձնում է Unicode կոդավորման նիշի կոդը
  • Քր() - վերադարձնում է նիշը իր թվային կոդով: Կարող է օգտագործվել Asc() ֆունկցիայի հետ համատեղ, բայց ամենից հաճախ այն օգտագործվում է, երբ անհրաժեշտ է տպել սպասարկման նիշ: (օրինակ մեջբերումներ - «), որովհետեւ Դուք չեք կարող պարզապես չակերտներ մուտքագրել VBA կոդում (դուք պետք է կրկնապատկեք). Սա այն գործառույթն է, որը ես սովորաբար օգտագործում եմ:

    Dim sword As String sWord = Chr(34) & «Word in չակերտներում» & Chr(34)

    Այս գործառույթի համար կան տարբերակներ. ChrB() Եվ ChrW(). Աշխատեք նման գործառույթի նույն ընտրանքների հետ Asc().

  • InStr() Եվ InStrRev() - ամենատարածված հատկանիշներից մեկը: Թույլ է տալիս լարային փոփոխականի մարմնում հայտնաբերել նիշ կամ նիշերի հաջորդականություն և վերադարձնել դրանց դիրքը: Եթե ​​հաջորդականությունը չի գտնվել, ապա վերադարձվում է 0:

    Dim sStr As String sStr = "w" Եթե InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Ապա MsgBox "Որոնման բառն առկա է!" Else MsgBox «Որոնված բառը բացակայում է»: Վերջ Եթե

    Գործառույթների միջև տարբերությունն այն է, որ InStr()-ը որոնում է նշված բառը տողի սկզբից, իսկ InStrRev()-ը տողի վերջից:

  • Ձախ() , Ճիշտ() , միջն() - Ձեր նշած նիշերի քանակը համապատասխանաբար ձախ, աջ կամ միջին գոյություն ունեցող տողային փոփոխականից վերցնելու ունակություն:

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Mid(sStr, 1, 5)

  • Լեն() - տողում նիշերի քանակը ստանալու ունակություն: Հաճախ օգտագործվում է օղակների, փոխարինող գործողությունների և այլնի հետ:
  • LCase() Եվ UCase() - փոխակերպեք տողը համապատասխանաբար ստորին և մեծատառերի: Հաճախ օգտագործվում է համեմատության համար արժեք պատրաստելու համար, երբ համեմատելիս մեծությունը կարևոր չէ (ազգանուններ, ընկերությունների անվանումներ, քաղաքներ և այլն).
  • LSset() Եվ RSset() - մեկ փոփոխականը մյուսի նշաններով լցնելու ունակություն՝ առանց դրա երկարությունը փոխելու (համապատասխանաբար ձախ և աջ). Լրացուցիչ նիշերը կտրված են, և բացակայող նիշերը փոխարինվում են բացատներով:
  • LTrim() , RTrim() , Կտրել() - ձախ, աջ կամ ձախ և աջ, համապատասխանաբար, տարածությունները հեռացնելու ունակություն:
  • Փոխարինել() - տողի մեջ նիշերի մեկ հաջորդականությունը մյուսով փոխարինելու ունակություն:

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox Replace (sStr, «Hello», «Bay»)

  • Տիեզերք() - ստացեք տող ձեր նշած բացատների քանակից.
    Մեկ այլ նմանատիպ գործառույթ է Spc() , որն օգտագործվում է վահանակի ելքը ձևաչափելու համար։ Այն բազմապատկում է բացատները՝ հիմնվելով հրամանի տողի լայնության վրա:
  • StrComp() - երկու տողեր համեմատելու ունակություն.
  • StrConv() - տողը փոխարկելու ունակություն (մինչև Յունիկոդ և ետ, մեծ և փոքրատառ, բառերի առաջին տառերը մեծատառով և այլն):

    Dim sStr As String sStr = «Բարև, աշխարհ»: MsgBox StrConv («Բարև, աշխարհ», vbUpperCase)

    Կոնստանտները կարող են օգտագործվել որպես երկրորդ պարամետրի պարամետր.

      • vbUpperCase:Փոխակերպում է բոլոր տեքստային նիշերը մեծատառի
      • vbLowerCase:Փոխակերպում է բոլոր տեքստային նիշերը փոքրատառերի
      • vbProperCase:Փոխակերպում է յուրաքանչյուր բառի առաջին նիշը մեծատառի
      • *vbWide:Փոխակերպում է տողային նիշերը մեկ բայթից կրկնակի բայթի
      • *vbNarrow:Փոխակերպում է լարային նիշերը կրկնակի բայթից մեկ բայթի
      • **vbKatakana:Փոխակերպում է Հիրագանայի կերպարները Կատականայի կերպարների
      • **vbHiragana:Փոխակերպում է Katakana կերպարները Հիրագանա կերպարների
      • ***vbUnicode:Փոխակերպում է տողը Յունիկոդի՝ օգտագործելով համակարգի լռելյայն կոդային էջը
      • ***vbFromUnicode:Փոխակերպում է Յունիկոդի տողը համակարգի լռելյայն կոդային էջին

    * կիրառելի է Հեռավոր Արևելքի տեղայնացումների համար
    ** Կիրառելի է միայն Ճապոնիայի համար
    *** չի աջակցվում Macintosh օպերացիոն համակարգերում

  • StrReverse() - «հակադարձել» տողը՝ դրա նիշերը հակառակ հերթականությամբ դնելով: Ֆունկցիան աշխատում է միայն Excel 2000 և ավելի բարձր տարբերակներից: Գործառույթի օգտագործման օրինակը, ինչպես նաև բառը վերածելու այլ մեթոդներ կարելի է գտնել այս հոդվածում. Ինչպե՞ս շրջել բառը:
  • Ներդիր() ևս մեկ գործառույթ է, որն օգտագործվում է վահանակի ելքը ձևաչափելու համար: Վերարտադրում է ներդիրի նիշերը ձեր նշած թվով: Եթե ​​քանակություն նշված չէ, պարզապես տեղադրեք ներդիրի նիշը: Կարող եք նաև օգտագործել հաստատունը՝ ներդիրի նիշը լարային արժեքի մեջ տեղադրելու համար vbTab.
  • Լարային() - թույլ է տալիս ստանալ որոշակի թվով նիշերի տող (որոնք կրկին նշված են ձեր կողմից). Սովորաբար օգտագործվում է ելքը ֆունկցիայի հետ համատեղ ձևաչափելու համար Լեն().

Հետևյալ երեք գործառույթները թույլ են տալիս աշխատել տողերի զանգվածի հետ

Պառակտում (<строка> [, <разделитель>]) – տողը վերածում է ենթատողերի զանգվածի: Լռելյայնորեն, տարածությունն օգտագործվում է որպես սահմանազատող: Այս ֆունկցիան հարմար է օգտագործել նախադասությունը բառերի բաժանելու համար: Այնուամենայնիվ, այս գործառույթում կարող եք նշել ցանկացած այլ սահմանազատիչ: Օրինակ, Split(3, «Սա փորձնական նախադասություն է») վերադարձնում է երեք տողային արժեքների զանգված՝ «This», «test», «sentence»: Միանալ (<массивСтрок> [, <разделитель>]) – փոխակերպում է տողերի զանգվածը մեկ տողի՝ նշված սահմանազատիչով: Զտել (<массивСтрок>, <строкаПоиск>[, <включение>] [, <сравнение>]) – սկանավորում է տողերի արժեքների զանգվածը և որոնում բոլոր ենթատողերը, որոնք համապատասխանում են տվյալ տողին: Այս ֆունկցիան ունի չորս արգումենտ.<строкаПоиск>- որոնման տող;<включение>– պարամետր (բուլյան արժեք), որը սահմանում է, թե արդյոք վերադարձված տողերը կներառեն որոնված ենթատողը, կամ, ընդհակառակը, կվերադարձվեն միայն այն զանգվածի այն տողերը, որոնք չեն պարունակում որոնված տողը որպես ենթատող.<сравнение>- պարամետր, որը սահմանում է տողերի համեմատության մեթոդը: Եվս երեք գործառույթ ապահովում են տողերի փոխարկում՝ LCase(<строка>) – փոխակերպում է տողի բոլոր նիշերը փոքրատառերի, օրինակ LCase(«MAIL») ֆունկցիան վերադարձնում է «mail» տողը; UCase (<строка>) – վերափոխում է տողի բոլոր նիշերը մեծատառի; StrConv (<строка>, <преобразование>) – կատարում է լարային փոխակերպումների մի քանի տեսակներ՝ կախված երկրորդ պարամետրից: Այս պարամետրը նկարագրվում է ներկառուցված հաստատուններով, օրինակ՝ StrConv ֆունկցիան ("Russia", VbProperCase) վերադարձնում է "Russia" արժեքը։

Իսկ վերջին երկու ֆունկցիաները ստեղծում են նիշերի տողեր

Տիեզերք (<число>) – ստեղծում է տող, որը բաղկացած է նշված թվով բացատներից. Տող (<число>, <символ>) – ստեղծում է տող, որը բաղկացած է առաջին արգումենտում նշված նիշերի քանակից: Խորհրդանիշն ինքնին նշված է երկրորդ արգումենտում:

Օրինակ

Ստեղծեք ծրագիր, որն աշխատում է լարային փոփոխականներով: Դա անելու համար ստեղծեք ձև, որի պիտակները պարունակում են հետևյալ հաղորդագրությունները. 1 պիտակ. հաղորդվում է առաջին տեքստային դաշտում մուտքագրված տողի երկարությունը (1 տող); 2 պիտակ. երրորդ տեքստային դաշտի բոլոր նիշերը (3-րդ տող) վերածում է մեծատառերի; 3-րդ պիտակ. ցուցադրում է առաջին և երկրորդ տեքստային դաշտերի բովանդակությունը (տող 1 և 2) միասին:

Կատարման տեխնոլոգիա

  • Բացեք Word-ը, պահպանեք փաստաթուղթը և անցեք VBA խմբագրին:
  • Ստեղծեք ստորև նկարի նման ձև:
  • Գրեք իրադարձությունների մշակիչ OK կոճակի համար:
  • Կազմել ծրագիրը։
  • Գործարկեք ձևը:

Private Sub CommandButton1_Click() Dim a որպես տող Dim b Որպես տող Dim c Որպես տող Dim k Որպես տող Dim d Որպես տող Dim n Որպես ամբողջ թիվ a=TextBox1.Text n=Len(a) Label7.Caption=«առաջինի երկարությունը տող է” & n & "նիշերը" c=TextBox3.Text k=Ucase(с) Label8.Caption=k b=TextBox2.Text d=a + " " + b Label9.Caption=d Վերջ ենթակետ

Առաջադրանք

Անհրաժեշտ է, որ Excel-ում A1 բջիջում որոնում կատարվի A2 սյունակում ստորակետերով առանձնացված բառերի համար, և արդյունքը, և գտնված բառերը, իրենց կրկնությունների քանակով (հնարավորության դեպքում) փնտրված տեքստում գրվեն. մեկ այլ, երրորդ, բջիջ: (Ավելի լավ կլիներ, եթե դրանք ինչ-որ կերպ ընդգծվեին (կամ ընդգծվեին) առաջին վանդակում... որպեսզի անմիջապես տեսանելի լինեին: Ահա թե ինչպես եք բառերը դնում զանգվածի մեջ.

Visual Basic կոդը
1 2 3 4 5 6 Dim m() Որպես տող If InStr(1, Cells(1, 2).Value, ","") > 0 then m = Split(Replace(Cells(1, 2).Value, " ", ""), " ,"") Այլապես ReDim m(0): m(0) = Trim(Cells(1, 2). Արժեք) Վերջ, եթե

Եվ հետո մի օղակում որոնում եք բոլոր բառերը (կրկին օղակում, բնադրված) Ավելացվել է 23 րոպե հետո

Visual Basic կոդը
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Տարբերակ Համեմատել Տեքստի տարբերակ Բացահայտ Sub QWERT() Dim R, N, K Dim m() Որպես տող If InStr(1, Cells(1, 2).Value, ",") > 0 Այնուհետեւ m = Split(Replace(Cells( 1, 2).Արժեք, " ", ""), ",") Այլապես ReDim m(0): m(0) = Trim(Cells(1, 2).Value) End If For R = 0 To UBound( m) N = 1 Եթե InStr(1, Cells(1, 1).Value, m(R)) > 0 Ապա K = InStr(N, Cells(1, 1).Value, m(R)) Արեք COLOR K , Len(m(R)) N = K + Len(m(R)) K = InStr(N, Cells(1, 1).Value, m(R)) Loop while K > 0 End If Next R End Sub ԵնթաԳՈՒՅՆ (ST, LN) բջիջներով (1, 1). Նիշեր (Սկիզբ՝=ST, երկարություն՝=LN). Տառատեսակ .Գույն = RGB(0, 0, 255)

Ավելացվել է 15 րոպե հետո Եվ այսպես, այն կփնտրի բառի սկզբում և կընտրի ամբողջ բառը

Visual Basic կոդը
1 2 3 4 5 6 7 8 9 10 11 Ենթ ԳՈՒՅՆ (ST, LN) LN = LN - 1 Do LN = LN + 1 Loop while VBA. Mid(Cells(1, 1). Արժեք, ST + LN, 1)<>" " Բջիջներով (1, 1). Նիշեր (Սկիզբ:=ST, Երկարություն:=LN).Տառատեսակ .Գույն = RGB(0, 0, 255) .Թավ = Ճշմարիտ վերջ վերջի ենթակետով

Դուք կարող եք որոնում կատարել ոչ թե բառի սկզբից, այլ ըստ բառի մասի։ — ավելացրեք ևս մեկ Do-Loop ցիկլ: Միայն մեկնարկը (ST) տեղափոխեք ձախ՝ բացատ (http://www.cyberforum.ru/vba/thread567588.html)

Ինչպես. Համատեղել տողը նախշի հետ (Visual Basic)

Համապատասխանության ստուգում strings կաղապարի վրա String Data Type (Visual Basic) - Like օպերատոր (Visual Basic) . Like օպերատորի ձախ օպերանդը տողային արտահայտություն է, իսկ աջ օպերանդը կաղապարի տող է Like-ը վերադարձնում է բուլյան արժեք:

Նիշերի ստուգում

? - ցանկացած խորհրդանիշ

  • myString-ը բաղկացած է W նշանից, որին հաջորդում է ցանկացած 2 նիշ

    Dim sMatch As Boolean = myString Like "W??"

Ցանկից և տիրույթից ցանկացած նիշ

Ցանկացած կերպար և այնուհետև A, C կամ E կերպարներից մեկը

    Dim sMatch As Boolean = myString Like "?" գործի զգայուն

  • myString = num նիշ և այնուհետև մեկ նիշ տիրույթից՝ i, j, k, l, m կամ n:

    Dim sMatch As Boolean = myString Ինչպես «num» գործի զգայուն

Ինչպես աշխատում է երկու զրոյական երկարությամբ լարային զանգվածի տողի հետ (""): թույլ է տալիս ստուգել, ​​որ տողը դատարկ է

Ցանկից նիշ կամ ոչ մի կերպար

  1. Like օպերատորը օգտագործվում է երկու անգամ, և արդյունքները համակցվում են Or Operator (Visual Basic) կամ OrElse Operator (Visual Basic) միջոցով:
  2. Առաջին հայտարարության ձևանմուշում տեղադրեք նիշերի ցուցակը քառակուսի փակագծերում ():
  3. Երկրորդ քաղվածքի ձևանմուշում ոչինչ մի դրեք ստուգման վայրում: Օրինակ՝ ստուգեք յոթանիշ հեռախոսահամարը phoneNum, որը պետք է պարունակի ուղիղ երեք նիշ, որին հաջորդում է բացատ, գծիկ, կետ կամ առանց գրանշանի, և այնուհետև չորս նիշ. (առաջին երեք նիշերը չեն կարող առանձնացվել վերջին չորսից. «ոչ մի նիշ») Զուր է, տեղի է ունենում սխալ: Եթե ​​բերվի փաստարկ համեմատության_տեսակ , փաստարկ մեկնարկային_դիրք պարտադիր է։ տող_1 Պահանջվում է. Լարային արտահայտություն, որը խուզարկվում է։ տող_2 Պահանջվում է. Լարի արտահայտությունը, որը փնտրում եք: համեմատության_տեսակ Ընտրովի: Սահմանում է տեսակը լարային համեմատություններ. Եթե ​​փաստարկի արժեքը համեմատության_տեսակ Null է, սխալ է տեղի ունենում: Եթե ​​փաստարկը համեմատության_տեսակ բաց թողնված, համեմատության տեսակը որոշվում է պարամետրով Իմաստը ամուսնացնելակնածանք. Նշեք վավեր LCID (LocaleID) պարամետր՝ լեզվի կարգավորումներում նշված համեմատության կանոններն օգտագործելու համար:

    Ընտրանքներ

    Փաստարկ համեմատության_տեսակ օգտագործում է հետևյալ պարամետրերը.

    Վերադարձի արժեքներ

    Նշումներ

    Գործառույթ InStrBօգտագործվում է տողի մեջ պարունակվող բայթ տվյալների հետ: Գործառույթ InStrBվերադարձնում է բայթի դիրքը, ոչ թե նիշերի դիրքը մեկ տողի առաջին հայտնվելու մյուս տողի մեջ:

    Օրինակներ

    Արտահայտության մեջ օգտագործելով InStr ֆունկցիանԱմեն անգամ, երբ դուք օգտագործում եք արտահայտություններ, կարող եք օգտագործել գործառույթը InStr. Օրինակ, եթե ցանկանում եք որոշել առաջին կետի դիրքը ( . ) մի դաշտում, որը պարունակում է IP հասցե («IPAddress» անվանումը), կարող եք օգտագործել գործառույթը InStrգտնել այն.

    InStr (1,,"")

    Գործառույթ InStrնայում է յուրաքանչյուր արժեքին «IPAddress» դաշտում և վերադարձնում է առաջին կետի դիրքը: Հետևաբար, եթե IP հասցեի առաջին օկտետի արժեքն է 10. , ֆունկցիան վերադարձնում է 3 արժեքը։

    Դուք կարող եք օգտագործել այլ գործառույթներ, որոնք օգտագործում են ֆունկցիայի արդյունքը InStr, առաջին կետին նախորդող IP հասցեի օկտետի արժեքը հանելու համար, օրինակ.

    Ձախ (,(InStr(1,,."")-1))

    Այս օրինակում ֆունկցիան InStr (1,,"")վերադարձնում է առաջին կետի դիրքը: 1-ը հանելու արդյունքում որոշվում է առաջին կետին նախորդող նիշերի թիվը, այս դեպքում՝ 2։ Այնուհետև ֆունկցիան. Ձախհանում է այս նիշերը «IPAddress» դաշտի ձախ կողմից՝ վերադարձնելով 10 արժեքը:

    Օգտագործելով գործառույթը InStr Visual Basic for Applications (VBA) կոդում

    ՆՇՈՒՄ.Հետևյալ օրինակները ցույց են տալիս Visual Basic հավելվածների համար (VBA) մոդուլի օգտագործումը: VBA-ի հետ աշխատելու մասին լրացուցիչ տեղեկությունների համար ընտրեք Մշակողի տեղեկանքկոճակի կողքին բացվող ցանկում Որոնում, ապա որոնման դաշտում մուտքագրեք մեկ կամ մի քանի հիմնաբառեր:

    Այս օրինակում ֆունկցիան InStrօգտագործվում է մեկ տողի առաջին հայտնվելու դիրքը մյուսի մեջ ստանալու համար:

    Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP" " String to search in. SearchChar = "P" " Որոնել "P". «Տեքստային համեմատություն՝ սկսած 4-րդ դիրքից: Վերադարձնում է 6. MyPos = Ինստր ( 4, SearchString , Search Char , 1) Երկուական համեմատություն՝ սկսած 1-ին դիրքից: Վերադարձնում է 9. MyPos = Ինստր ( 1, SearchString , Search Char , 0) «Համեմատությունը լռելյայն երկուական է» (վերջին արգումենտը բաց է թողնվել): MyPos = Ինստր ( SearchString , Search Char ) Վերադարձնում է 9. MyPos = Ինստր ( 1, SearchString , «Վ» ) «Վերադարձնում է 0.

Հաճախ ծրագրի տողերը պարունակում են անհարկի բացատ նիշեր տողի վերջում կամ սկզբում, որոնք պետք է հեռացվեն, քանի որ Տողում առաջացող կամ հետին բացատները կարող են խնդիրներ առաջացնել ծրագրի հետ:

VBA-ն ունի երեք գործառույթ՝ նախատեսված տողից առաջատար և հետին տարածությունները հեռացնելու համար. LTrim, RTrim, կտրվածք. Նկատի ունեցեք, որ այս գործառույթները իրականում չեն փոփոխում բնօրինակ տողը, այլ վերադարձնում են տողի պատճենը` հեռացնելով լրացուցիչ բացատները:

Լարի երկարության որոշում

Սովորաբար դուք պետք է իմանաք տողի երկարությունը՝ օգտատիրոջ համար հաղորդագրությունները ձևաչափելիս կամ ընթացակարգով մուտքագրված տողային տվյալները Excel-ի աշխատաթերթ կամ Word փաստաթղթում ձևաչափելիս: VBA-ն օգտագործում է ֆունկցիան այս նպատակների համար Լեն. Ստորև բերված ցանկում փակագծերի և բառի միջև կա երկու բացատ:



Դուք պետք է զգույշ լինեք ֆիքսված երկարությամբ տողերի հետ: Քանի որ ֆիքսված երկարությամբ տողը միշտ նույն երկարությունն է, Len ֆունկցիան միշտ վերադարձնում է տողի հայտարարված երկարությունը՝ անկախ տողի իրական երկարությունից։ Օրինակ, եթե 15 նիշ երկարությամբ StrokeName տողի ֆիքսված երկարությամբ փոփոխականը իրականում պարունակում է «արև» բառը, ապա ֆունկցիան. Լեն (StrokeName)կվերադարձնի արդյունքը 15. Այս դեպքում, տողի իրական երկարությունը պարզելու համար (մեր դեպքում՝ 6), անհրաժեշտ է օգտագործել ֆունկցիաների հետևյալ համակցությունը. Լեն (կտրվածք (հարվածի անունը)).

Տողերի համեմատություն և որոնում

VBA-ն ունի երկու գործառույթ, որոնք օգնում են ձեզ համեմատել տողերը. StrComp, InStr.

StrComp ֆունկցիան

Շարահյուսություն


StrComp (String1, String2[, Համեմատել])


String1, String2 - ցանկացած երկու տողային արտահայտություն, որոնք պետք է համեմատվեն:

Երբ StrComp-ը կատարվում է, վերադարձվում է հետևյալ արժեքներից մեկը.

  • -1, եթե String1-ը փոքր է String2-ից;
  • 0, եթե String1-ը և String2-ը հավասար են;
  • 1, եթե String1-ը մեծ է String2-ից:


Վերոնշյալ ցուցակը համեմատում է երկու տող տեքստային ռեժիմում՝ «Լռակյաց տող» և «Լռակյաց տող»: Համեմատության արդյունք = 1, այսինքն. «Default String»-ը մեծ է «Default String»-ից:

Փորձեք մի շարք տողերի հետ՝ ավելի լավ հասկանալու համար, թե ինչպես է աշխատում StrComp ֆունկցիան:

Գործառույթը InStr

InStr ֆունկցիան թույլ է տալիս որոշել, թե արդյոք մի տողը պարունակում է մեկ այլ տող:

Շարահյուսություն


StrComp (String1, String2[, Համեմատել])


String1, String2 - ցանկացած վավեր տողային արտահայտություն: Ֆունկցիան ստուգում է՝ արդյոք String1-ը պարունակվում է String2-ում:

Համեմատելը կամընտիր արգումենտ է, որը կարող է լինել հետևյալ կանխորոշված ​​հաստատուններից որևէ մեկը (եթե բաց թողնվի, օգտագործվում է Option Համեմատելու ընթացիկ պարամետրը).

  • vbBinaryCompare - երկու տողերի երկուական համեմատություն;
  • vbTextCompare - երկու տողերի տեքստային համեմատություն;
  • vbDatabaseCompare - օգտագործվում է միայն Microsoft Access-ում:

Start - կամընտիր արգումենտ, թվային արտահայտություն է և սահմանում է String1-ի նիշի դիրքը, որից պետք է սկսվի ստուգումը:


InStr-ը վերադարձնում է թիվ, որը ցույց է տալիս նիշի դիրքը String1-ում, որտեղ հայտնաբերվել է String2-ը: Եթե ​​InStr-ը չի գտնում String2-ը String1-ում, ապա վերադարձվում է 0-ը, եթե String1-ը (կամ String2-ը) Null է, ապա ֆունկցիան նույնպես վերադարձնում է Null-ը:



Գծի բաժանում

Երբեմն անհրաժեշտ է դառնում լարը բաժանել իր բաղադրիչ մասերի: VBA-ում այս խնդիրը լուծում է երեք գործառույթ. Ձախ, Աջ, Միջին.

Ձախ գործառույթ

Շարահյուսություն


Ձախ (լար, երկարություն)


Ֆունկցիան վերադարձնում է String-ի պատճենը՝ սկսած առաջին նիշից և ներառյալ երկարությամբ նշված նիշերի քանակը: Եթե ​​Length-ը մեծ թիվ է, քան String-ի իրական երկարությունը, ապա ամբողջ String արտահայտությունը վերադարձվում է:

Ճիշտ գործառույթ

Շարահյուսություն


Աջ (լար, երկարություն)


Տողը ցանկացած վավեր տողային արտահայտություն է:

Երկարություն - ցանկացած թվային արժեք:


Ֆունկցիան վերադարձնում է String-ի պատճենը՝ սկսած վերջին նիշից և ներառելով, աջից ձախ, երկարությամբ նշված նիշերի քանակը: Եթե ​​Length-ը մեծ թիվ է, քան String-ի իրական երկարությունը, ապա ամբողջ String արտահայտությունը վերադարձվում է: Right ֆունկցիան միշտ պատճենում է նիշերը տողի վերջից մինչև սկիզբ:

Միջին ֆունկցիա

Շարահյուսություն


Միջին (լարային, սկիզբ, [, երկարություն])


Տողը ցանկացած վավեր տողային արտահայտություն է:

Length, Start - ցանկացած թվային արժեք:


Mid ֆունկցիան վերադարձնում է String-ի պատճենը, որը սկսվում է String-ի նիշերի դիրքից, որը նշված է Start արգումենտով: Լրացուցիչ երկարության արգումենտը նշում է նիշերի քանակը, որոնք պետք է պատճենվեն String-ից մինչև Mid: Եթե ​​Start-ը պարունակում է ավելի մեծ թիվ, քան տողի իրական երկարությունը, ապա վերադարձվում է դատարկ տող:



Նիշեր, որոնք հնարավոր չէ մուտքագրել ստեղնաշարից

Հաճախ է պատահում, որ անհրաժեշտ է մուտքագրել այնպիսի նիշ, որի համար ստեղնաշարի վրա չկա ստեղն (օրինակ՝ հեղինակային իրավունքի նշան): Մեկ այլ իրավիճակ է, երբ դուք պետք է ներառեք VBA ծառայության նիշը տողի մեջ (ամենատարածված դեպքը կրկնակի չակերտների ներառումն է):

Տողի մեջ նիշեր ներառելու համար, որոնք հնարավոր չէ մուտքագրել ստեղնաշարից, կամ որոնք հատուկ նշանակություն ունեն VBA-ի համար, օգտագործեք ֆունկցիան. Քր.

Շարահյուսություն


Chr (charcode)


Charcode - ցանկացած թվային արտահայտություն, որը վավեր կոդ է համակարգչի կողմից օգտագործվող նիշերի հավաքածուի համար: Պետք է լինի ամբողջ թիվ 0-ից 255-ի միջև:

Chr ֆունկցիան ընդունում է մեկ նիշի կոդը որպես արգումենտ և վերադարձնում է այդ կոդի համապատասխան նիշ պարունակող տողը։ Այս ֆունկցիան օգտագործվում է վերը նշված ցուցակներում՝ Chr (13) էկրանին հաղորդագրություն ցուցադրելիս տող սնելու համար:


Քանի որ նոր տող սկսելու համար օգտագործվող նիշերն այնքան կարևոր են հաղորդագրությունների և այլ լարային տվյալների ձևաչափման ժամանակ, որոնք շահագործվում են VBA ռեժիմներով, այս նիշերի համար կան մի քանի նախապես սահմանված հաստատուններ՝ Chr ֆունկցիան օգտագործելու անհրաժեշտությունից խուսափելու համար.

  • vbCr-ը կառքի վերադարձի նշան է: Համարժեք Chr(13)
  • vbLf - օֆսեթ նիշը մեկ տողով: Համարժեք Chr(10)
  • vbCrLf - փոխադրման վերադարձ + օֆսեթ նիշ մեկ տողով: Համարժեք է Chr(13)+ Chr(10)-ին
  • vbTab - ներդիրի նիշ: Chr(9) համարժեք

Ցուցակը դիտելու համար ծածկագիր-խորհրդանիշդուք պետք է բացեք VBA օգնության համակարգը և ըստ պահանջի «նիշերի հավաքածուներ»Կներկայացվի համապատասխան աղյուսակը։



Տվյալների արժեքների ձևաչափում

Շատ հաճախ, այս կամ այն ​​պատճառով, ծրագրի ելքի տվյալների ձևաչափը մեզ լիովին չի համապատասխանում: Այս խնդիրը լուծվում է գործառույթով Ձևաչափ.

VBA Format ֆունկցիան նույնական է Excel-ի Format ֆունկցիային և օգտագործում է նույն տվյալների ձևաչափման տեղապահները:

Շարահյուսություն


Ձևաչափ (Արտահայտություն [, Ձևաչափ[, շաբաթվա առաջին օրը [, տարվա առաջին շաբաթ]]])


Արտահայտություն - ցանկացած վավեր արտահայտություն (պարտադիր փաստարկ):

Ձևաչափը անվանված կամ օգտագործողի կողմից սահմանված ձևաչափի վավեր արտահայտություն է:

Firstdayofweek-ը հաստատուն է, որը նշում է շաբաթվա առաջին օրը:

Firstweekofyear - հաստատուն, որը սահմանում է տարվա առաջին շաբաթը:


Format ֆունկցիան օգտագործելու համար պետք է կամ սահմանել նախապես սահմանված ձևաչափ, կամ ստեղծել որոշակի ձևաչափի պատկեր, օգտագործելով տեղապահի նիշերը:


Անվանված ձևաչափեր՝ Format ֆունկցիայի հետ օգտագործելու համար

Անվանված ձևաչափ Գործողություն
Ընդհանուր ամսաթիվ Ձևաչափում է ամսաթվի և ժամի տեղեկատվությունը հաջորդական ամսաթվի համար՝ օգտագործելով այս համակարգչի համար նախատեսված ամսաթվի և ժամի ձևաչափի կարգավորումները:
Երկար ժամադրություն Ձևաչափում է միայն ամսաթվի մասը հաջորդական ամսաթվի մեջ՝ օգտագործելով համակարգչի Long date ձևաչափի կարգավորումները:
Միջին ամսաթիվ Ձևաչափում է միայն ամսաթվի մասը որպես հաջորդական ամսաթիվ՝ օգտագործելով ձեր համակարգչի Միջին ամսաթվի ձևաչափի կարգավորումները:
Կարճ Ամսաթիվ Ձևաչափում է միայն ամսաթիվը պարունակող մասը հաջորդական ամսաթվի մեջ՝ օգտագործելով համակարգչի կարգավորումները Short date ձևաչափի համար:
Երկար ժամանակ Ձևաչափում է միայն ժամանակի հատվածը հաջորդական ամսաթվի մեջ՝ օգտագործելով համակարգչի Long time ձևաչափի կարգավորումները:
Միջին ժամանակ Ձևաչափում է միայն ժամանակի հատվածը հաջորդական ամսաթվի մեջ՝ օգտագործելով համակարգչի Միջին ժամանակի ձևաչափի կարգավորումները:
Կարճ ժամանակ Ձևաչափում է միայն ժամանակի հատվածը հաջորդական ամսաթվի մեջ՝ օգտագործելով կարճ ժամանակի ձևաչափի համակարգչի կարգավորումները:
Ընդհանուր համարը Թիվը ֆորմատավորում է տողի՝ առանց հատուկ նիշերի:
Արժույթ Թիվը ձևավորում է արժույթի խորհրդանիշով, հազարավոր բաժանարարով և ընդամենը երկու տասնորդական թվանշանով:
Ամրագրված Թիվը ձևավորում է այնպես, որ տասնորդական կետից առաջ միշտ լինի առնվազն մեկ նիշ և դրանից հետո առնվազն երկու նիշ:
Ստանդարտ Թիվը ձևավորում է հազարավորների բաժանարարով այնպես, որ տասնորդական բաժանարարից առաջ լինի առնվազն մեկ նիշ և դրանից հետո առնվազն երկու նիշ:
տոկոս Ձևաչափում է թիվը որպես տոկոս՝ այն բազմապատկելով 100-ով և ավելացնելով տոկոսի նշան:
Գիտ Ձևաչափում է թիվը սովորական էքսպոնենցիալ ձևաչափի:
Այո Ոչ «Այո» տողը վերադարձվում է, եթե ձևաչափված թիվը զրոյական չէ, հակառակ դեպքում՝ «Ոչ»:
Ճիշտ է կեղծ է «True» տողը վերադարձվում է, եթե ձևաչափված թիվը զրոյական չէ, հակառակ դեպքում՝ «False»:
Միացում անջատում «On» տողը վերադարձվում է, եթե ձևաչափված թիվը զրոյական չէ, հակառակ դեպքում՝ «Off»:

Պատվերով ձևաչափեր ստեղծելու տեղապահներ

Տեղապահի նիշ Գործողություն (օգտագործելով 1234.45 թիվը որպես օրինակ)
0 Թվային նիշ, որը ցույց է տալիս թվանշան, եթե մեկը գտնվում է այդ դիրքում, կամ 0, եթե այն չէ: Դուք կարող եք օգտագործել 0 խորհրդանիշը՝ ամբողջ թվերի համար առաջնային զրոները և տասնորդականների համար հաջորդող զրոները ցուցադրելու համար. 00000.000 ցուցադրում է 01234.450
# Թվային նշանը ցույց է տալիս թվանշան, եթե կա մեկը այս դիրքում, հակառակ դեպքում այն ​​ոչինչ չի ցուցադրում: # լրացնող նիշը համարժեք է 0-ի, բացառությամբ, որ առաջատար և հետին զրոները չեն ցուցադրվում՝ #####։### ցուցադրում է 1234.45
$ Ցուցադրում է դոլարի նշանը՝ $###,###.00 ցուցադրում է $1,234,45
. Տասնորդական տեղապահի նիշ, ցուցադրում է տասնորդական կետը նշանակված դիրքում 0 տեղապահի նիշերի տողի մեջ՝ #.##.## ցուցադրում է 1234.45
% Տոկոսային նշանը, արժեքը բազմապատկում է 100-ով և ավելացնում է տոկոսի նշանը տեղապահների կողմից նշված դիրքում 0:#:#0.00% ցույց է տալիս 0.12345 թիվը որպես 12.35% (կլորացումը տեղի է ունենում)
, Հազարավոր բաժանարար, ավելացնում է ստորակետեր որպես հազարավոր բաժանիչներ 0 և # տեղապահ տողերում. ###,###,###.00 ցուցադրում է 1234,45
Էլ-է- Ցուցադրում է արժեքը էքսպոնենցիալ ձևաչափով միայն բացասական արժեքների ցուցիչով՝ #.####E-00 ցուցադրում է 1.23445E03
E+ e+ Ցուցադրում է արժեքը էքսպոնենցիալ ձևաչափով՝ ինչպես բացասական, այնպես էլ դրական արժեքների ցուցիչով՝ #.####E+00 ցուցադրում է 1.23445E+03:
/ Առանձնացնում է օրը, ամիսը և տարին ամսաթվի արժեքների ձևաչափման համար:
մ Նշում է, թե ինչպես ցուցադրել ամիսները ամսաթվերով. m ցուցադրում է 1, մմ - 01, մմմ - հունվար, մմմմ - հունվար
դ Նշում է, թե ինչպես ցուցադրել օրերը ամսաթվերով. d ցուցադրում է 1, dd - 01, ddd - Sun, dddd - Կիրակի
y Ցուցադրում է տարվա օրը որպես թիվ 1-ից մինչև 366
yy Նշում է, թե ինչպես ցուցադրել տարիները ամսաթվերով՝ yy - 66, yyyy - 1966 թ.
ք Ցուցադրում է տարվա եռամսյակը որպես թիվ 1-ից 4-ը
w Ցուցադրում է շաբաթվա օրը որպես թիվ (1 - կիրակի)
ww Ցուցադրում է տարվա շաբաթը որպես թիվ 1-ից մինչև 54
: Տարանջատում է ժամերը, րոպեները և վայրկյանները ժամանակի ձևաչափի արժեքներով՝ hh:mm:ss - 01:01:01, h:m:s - 1:1:1
հ Նշում է, թե ինչպես ցուցադրել ժամերը՝ hh - 01, h - 1
մ Նշում է, թե ինչպես ցուցադրել րոպեները՝ մմ - 01, m - 1
ս Նշում է, թե ինչպես ցուցադրել վայրկյանները՝ ss - 01, s - 1
AM/PM Ցուցադրում է ժամանակը 12-ժամյա ժամանակի ձևաչափով՝ ավելացված AM կամ PM
@ Նիշերի տեղապահ, որը ցուցադրում է բացատ, եթե ձևաչափված տողի մեջ համապատասխան նիշ չկա:
Ցուցադրում է բոլոր նիշերը մեծատառերով:
> Ցուցադրում է բոլոր նիշերը փոքրատառերով:
Քր

Chr ֆունկցիան

Chr (CharCode)
Chr$ (CharCode)
ChrB (CharCode)
ChrW (CharCode)

Գործառույթ Քր(Գլ aracte r) թույլ է տալիս ստանալ նիշ իր ANSI կամ Unicode թվային կոդի արժեքով

Վերադարձի արժեքը

Գործառույթներ Քր, ChrB, ChrWվերադարձրեք Variant տիպի String ենթատիպի արժեքը, որը պարունակում է նշված ANSI կամ Unicode նիշերի կոդին համապատասխան նիշ: Գործառույթներ Chr$, ChrB$, ChrW$համապատասխանաբար վերադարձրեք String տեսակի արժեքը

Նշում

ՔրԵվ Chr$վերադարձնել նիշը իր ANSI կոդավորման միջոցով
ChrBԵվ ChrB$վերադարձ մեկ բայթտող
ChrWվերադարձնում է Յունիկոդ նիշ, սակայն ոչ Յունիկոդ համակարգերում նրա վարքագիծը նման է Քր
Օգտագործեք պարամետրում CharCode 255-ից ավելի արժեքները առաջացնում են գործարկման ժամանակի սխալներ 5. Անվավեր ընթացակարգի զանգ կամ արգումենտ կամ 6. Հորդառատ

Ընտրանքներ CharCode Պահանջվող արգումենտը երկար արժեք է, որը նշում է նիշը: Սովորաբար գործառույթը Քրօգտագործվում է տեքստային տողերի մեջ չտպվող նիշեր տեղադրելու ժամանակ (փոխադրման վերադարձ, տողերի հոսք, աղյուսակ և այլն): 0-31 կոդերը համապատասխանում են ստանդարտ ASCII կառավարման նիշերին: Օրինակ, Քր(10) վերադարձնում է նոր տողի նիշ Օրինակ Dim retval retval = Քր(65) Debug.Print retval»-ը վերադարձնում է Ա Կարգավիճակ

Մարդիկ հարցի բաժնում, խնդրում եմ, մանրամասն բացատրեք, թե ինչ է նշանակում ord(x) ֆունկցիան և դրա հակադարձ chr(x) ֆունկցիան Pascal-ում: տրված է հեղինակի կողմից Նիկ Բրաունլավագույն պատասխանն է Գոյություն ունի նիշերի հատուկ աղյուսակ (ընդլայնված ASCII կոդը, երբ յուրաքանչյուր նիշ ունի թվային արժեք, ընդհանուր առմամբ աղյուսակում կա 255 արժեք, այսինքն՝ յուրաքանչյուր նիշին հատկացվում է մի թիվ,
chr(0..254) թիվը (մեկ բայթ) փոխակերպում է այն նիշի, որին պատկանում է այս թիվը, օրինակ chr(71) արդյունքը կլինի «G» տառը, ինչպես նաև ստեղնաշարի ստեղները սեղմելով՝ արտադրվում է իր սեփական կոդը, սա հենց այն կոդը է, երբ տեղադրվի այս օպերատորի մեջ և կտա արդյունք, թե որ ստեղնն է սեղմված, օրինակ ես եմ: Բայց ORD(x) օպերատորն այս գործընթացը կատարում է հակառակ հերթականությամբ:
Մենք սահմանում ենք արժեքի նիշը և ստանում թիվ 0-ից մինչև 254 (մեկ բայթ)
օրինակ ORD («G») կտա մեզ արդյունքը 71 (տասնորդական ձևաչափով)
Այսքանն է թվում!!!

Պատասխան՝-ից Կատյոնաչիկ[նորեկ]
Դա պարզ է, իսկապես)
Ord («X») - ASKII աղյուսակից կվերադարձնի X նիշի կոդը:
Հակադարձ ֆունկցիայի արդյունքը կլինի նույն ASCII աղյուսակից մուտքագրված կոդի (որից վերցված է ֆունկցիան) նշանը։


Պատասխան՝-ից Յուրի[գուրու]
Սրանք փոխադարձ գործառույթներ չեն։
Ord ֆունկցիան վերադարձնում է թվարկված տեսակի հերթական արժեքը:
Հաշվարկը սկսվում է զրոյից։
Բայթ տեսակի համար ֆունկցիան կվերադարձնի իրական արժեքը. շարքային թիվը համընկնում է արժեքի հետ:
char տեսակի համար ֆունկցիան կվերադարձնի նիշի սերիական համարը, որը (թիվը պատահական է) համընկնում է ASCII կոդի հետ։
Chr ֆունկցիան վերադարձնում է նիշը տրված ASCII կոդով:
Եզրակացություն. Պարզապես, ինչ վերաբերում է խորհրդանշական արժեքներին, դրանք իսկապես գործում են որպես միմյանց հակադարձ...
Հետևաբար, կարող ենք ասել, որ ord ֆունկցիան chr ֆունկցիայի հակադարձությունն է, բայց ոչ հակառակը՝ chr ֆունկցիան ord ֆունկցիայի հակադարձը չէ, քանի որ ord ֆունկցիայի շրջանակը չի սահմանափակվում միայն սիմվոլների հետ աշխատելով: