Sunday, January 9, 2011

Бяцхан MACRO (ArialMon to Arial)

Саяхан нэг MACRO программтай танилцлаа. Тамир гэгч залуу үүсгэсэн байна. Түүний бие даалтын даалгавар ч юм уу эсвэл өөрөө хэрэглэхээр бүтээсэн бололтой. Жирийн хүмүүст хэрэглээ нь маш өндөр гэж бодож байна. Ялангуя вэб эдиторууд, хэвлэлийн эх бэлтгэгч хүмүүст их хэрэгтэй. Тэд энд тэндээс материал цуглуулаад нэгтгэх үед фонт таарахгүйн асуудалтай тулгарч л байгаа.

MACRO нь Microsoft Office –т туслах үүрэгтэй Microsoft Visual Basic программ дээр суурилагдсан туслах программ юм. Зорилго нь олонтоо давтагддаг үйлдлийг хялбарчлах юм. Уг үйлдлээ програмчлаж хадгална. Аль нэг гарны товчтой тохируулж болно. Уг үйлдэл давтагдах үед оноосон товчоо дарах буюу MACRO –г дуудаж ажиллуулна. Өөрөөр хэлбэл уг үйлдлээ дахин бичиж оруулахын оронд MACRO дор нь гүйцэтгэх нь байна. AutoCad дээр AutoLisp энэ үүргийг гүйцэтгэнэ.

Энэхүү MACRO нь Microsoft Word дээр ажиллах ба эхлээд уг документ дээр байгаа бүх тэмдэгтүүдийг (үсэг) тоолно. Дараа нь тэмдэгт бүрийн дугаарыг шалгаж хэрэв UNICODE дугаар биш бол UNICODE дугаар болгож өөрчилнө.
Үүнтэй адилаар Arial to ArialMon болгож өөрчилнө. Тэмдэгт болгоны дугаарыг шалгаж UNICODE байвал ArialMon фонтын дугаар болгож өөрчилнө.

Мөн түүнчлэн
ArialMon_to_Arial
Arial_to_ArialMon
Danzan_to_ArialMon
Montimes_to_ArialMon
ArialMon_to_Montimes
dos2arial
хувиргалтуудыг хийнэ. Бүр ArialMon –оос өмнөх үеийн фонтоор бичигдсэн техтүүдийг хувиргаж болох нь харагдаж байна.
MACRO –гийн хэсгээс сонирхуулахад:

Attribute VB_Name = "NewMacros11"
'Created by Tamir
Sub ArialMon_to_Arial()
Max = ActiveDocument.Characters.Count
Selection.HomeKey Unit:=wdStory

i = 1
r = Selection.MoveRight(wdCharacter, 1, wdExtend)
Char = Selection.Text

While (i <= Max)
   
    acsii_code = AscW(Char)
    Select Case (acsii_code)
   
    Case 168
        uni_code = 1025
        Selection.TypeText Text:=ChrW(uni_code)
    Case 170
        uni_code = 1256
        Selection.TypeText Text:=ChrW(uni_code)
    Case 175
        uni_code = 1198
        Selection.TypeText Text:=ChrW(uni_code)
    Case 184
        uni_code = 1105
        Selection.TypeText Text:=ChrW(uni_code)
    Case 186
        uni_code = 1257
        Selection.TypeText Text:=ChrW(uni_code)
    Case 191
        uni_code = 1199
        Selection.TypeText Text:=ChrW(uni_code)
    Case 192 To 255
        uni_code = acsii_code + 848
        Selection.TypeText Text:=ChrW(uni_code)
    Case Else
       r = Selection.MoveRight(wdCharacter, 1, wdMove)
    End Select
    i = i + 1
    r = Selection.MoveRight(wdCharacter, 1, wdExtend)
    Char = Selection.Text
Wend
 End Sub
...

Сул тал гэвэл энэ MACRO нь Microsoft Excel дээр ажиллахгүй байна. Программ сонирхогч нар энэхүү MACRO –г Microsoft Excel дээр ажилладаг болгоно гэдэгт найдаж байна.
Энэ MACRO –гийн давуу тал гэвэл техтийн форматыг (үсгийн хэв, хэмжээ гэх мэтөөрчлөхгүй байдагт оршино.

Хэрэглэх заавар:

1. Эндээс татаж авна уу? Татах (zip болгож шахагдсан тул энэ файлаа задална /extract/. bas өргөтгөлтэй файл байгаа.)

2. Microsoft Word уруу оруулах. Энэ хэсэг бага зэрэг толгой эргүүлж магадгүй. Программ сонирхогч нар арай хялбар автомат арга олно гэж бодном.
- VIEW цэснээс MACROS-г дарна.



- Дурын нэр өгч MACRO үүсгэнэ.


- Ингэхэд Microsoft Visual Editor гэсэн шинэ цонх гарч ирнэ.


- FILE цэснээс Import File –г сонгоно. 


Шинээр цонх гарч ирэх ба сая татаж авсан convertArialmonToArial.bas файлаа зааж өгөөд Open товчийг дарна.
Одоо Microsoft Visual Editor –оо хаагаад Microsoft Word уруу эргэж очно. VIEW цэснээс MACROS-г дарахад доорх цонх гарч ирнэ.


Нөгөө MACRO программууд орсон байхыг харж байгаа биз.
Ямар хувиргалт хийхээ сонгоод RUN товчийг дарахад хөрвүүлэлт дороо явагдана.
За тэгээд хүнд сурталтай төрийн байгууллагууд заавал ArialMon дээр материалаа явуул гээд байвал хувиргаад өгч болох нээ.

АНХААРУУЛГА: 
Хэдийгээр MACRO маань их ач тустай боловч муу хүмүүс түүнийг буруугаар ашиглаж вирус бүтээх нь маш түгээмэл. AutoCad –ийн ACAD.LSP вирус шиг вирусууд маш олон бий. Тийм болохоор MACRO хэрэглэхдээ сэрэмжтэй байх хэрэгтэй. Мэдэхгүй MACRO ажиллуулж хэрхэвч болохгүй. Microsoft Word –ийн сайн тал нь MACRO –г ажиллуулах үгүй эсэх талаар асууна. Тэр үед зөв сонголтоо хийх хэрэгтэй. Зарим Microsoft Word дээр MACRO –г бүр хаасан байж магадгүй. Тэгвэл энэ MACRO –г суулгахын тулд түүнийг нээх, идэвхжүүлэх хэрэгтэй.