Dalam terminologi komputer, **virus makro** merupakan virus yang ditulis dalam bahasa pengaturcaraan makro: iaitu, bahasa yang dibina dalam perisian penggunaan seperti pemproses kata. Disebabkan sesetengan perisian penggunaan (menonjol, tetapi bukan khusus, sebahagian dari Microsoft Office) membenarkan aturcara makro dibenam pada dokumen, agar aturcara tersebut boleh dilaksanakan secara automatik apabila dokumen dibuka, ini memberikan mekanisma jelas yang membolehkan virus merebak. Ini adalah mengapa ia merbahaya bagi membuka lampiran yang tidak disangka dalam surat-e. Perisian antivirus moden mampu mengesan virus makro selain dari jenis lain.

Asas
----

Makro merupakan siri perintah dan tindakan yang membantu menjadikan sesetengah tugasan menjadi automatik - sebenarnya bahasa pengaturcaraan, tetapi biasanya ringkas dan pendek. Walau bagaimanapun ia dicipta, ia perlu dilaksanakan oleh sistem yang menterjemah perintah yang disimpan. Sesetengah sistem makro merupakan aturcara kendiri (*self-contained*), tetapi yang lain dibina pada penggunaan rumit (sebagai contoh pemproses kata) bagi membenarkan pengguna mengulang rentetan perintah dengan mudah, atau membenarkan pembangun sistem menyesuaikan aturcara penggunaan kepada keperluan tempatan.. 

Langkah yang menjadikan sesetengah aturcara penggunaan terdedah kepada virus makro adalah dengan membenarkan makro disimpan dalam dokumen yang sama disunting atau diproses oleh applikasi. Ini menjadikan ia mungkin bagi dokuman untuk membawa makro, tanpa disedari pengguna, yang akan dilaksanakan secara automatik selepas membuka dokumen.

Operasi
-------

Virus makro mampu merebak melalui lampiran surat-e, cakera, jaringan, modem, dan Internet. Dokumen yang tidak dijangkiti mengandungi makro normal. Kebanyakan makro bermula secara automatik apabila dokumen dibuka atau ditutup. Cara biasa bagi virus makro untuk menjangkiti komputer adalah dengan menggantikan makro biasa dengan virus. Virus makro menggantikan perintah biasa dengan mana yang sama dan melaksanakan perintah apabila dipilih. Dalam kes ini di mana makro dilaksana secara automatik, makro dibuka tanpa disedari pengguna.

Apabila applikasi membuka fail yang mengandungi virus makro, virus mampu menjangkiti sistem. Apabila dibuka,ia mula membenamkan dirinya dalam dokumen dan templat lain, termasuk juga yang akan dicipta pada masa hadapan. Ia mungkin merosakkan bahagian lain sistem juga, bergantung kepada sumber apa makro dalam applikasi ini dapat capai. Ketika dokumen yang dijangkiti dikongsi dengan pengguna dan sistem lain, virus akan merebak. 

Salah satu contoh virus makro yang terkenal adalah Virus Melissa pada tahun 1999. satu dokumen dicipta dengan virus di dalamnya dan sesiapa yang membukanya akan 'terkena' virus. Virus tersebuk kemudiannya akan menghandar dirinya melalui surat-e kepada 50 orang pertama dalam buku alamat dikomputer iu. Ini menjadikan virus membiak pada kadar yang tinggi.

Oleh kerana virus makro bergantung kepada aturcara penggunaan dan bukannya sistem pengendalian, ia mampu menjangkiti komputer yag melaksanakan sebarang sistem pengendalian yang mana aturcara penggunaan itu telah dipindahkan. Terutamanya, disebabkan Microsoft Word terdapat pada komputer Macintosh, virus makro "word" mampu menyerang Macintosh dan juga pelantar Windows.

Virus makro biasa
-----------------

* Virus Concept
* Virus Melissa

Rujukan
-------

1. 1 2  "Frequently Asked Questions: Word makro Viruses". Microsoft. Dicapai pada 2006-06-18.
2. ↑  "Information Bulletin: makro Virus Update". Computer Incident Advisory Capability. Diarkibkan daripada yang asal pada 2006-06-12. Dicapai pada 2006-06-18.
3. ↑  "How Computer Viruses Work". How Stuff Works inc. Dicapai pada 2006-06-18.

Bacaan lanjut
-------------

* Microsoft Corporation. (2006). Introduction to Security. Retrieved June 18, 2006, from the World Wide Web:
* The Trustees of Indiana University. (2006). What are computer Viruses, Worms, and Trojan Horses. Retrieved June 18, 2006 from the World Wide Web:
* Macro Virus from Security News & Information  Diarkibkan 2006-03-25 di Wayback Machine