VBA Makro Kodlama Word 2007'yi öğrenin

Bu dersin amacı, daha önce hiç bir program yazmayan kişilere bir program yazmayı öğrenmektir. Ofis çalışanları, ev çalışanları, profesyonel mühendisler ve pizza dağıtım görevlileri için hiçbir neden yok daha hızlı çalışmak için kendi el yapımı özel bilgisayar programlarından yararlanamaz. daha akıllı. İşi yapmak için 'profesyonel bir programcı' (ne olursa olsun) almamalıdır. Neyin herkesten daha iyi yapılması gerektiğini biliyorsunuz. Kendi başına yapabilirsin!

(Ve bunu diğer insanlar için uzun yıllar program yazmış biri olarak söylüyorum... 'Profesyonelce'.)

Bununla birlikte, bu bir bilgisayarın nasıl kullanılacağı konusunda bir ders değildir.

Bu ders, popüler yazılımı nasıl kullanacağınızı bildiğinizi ve özellikle bilgisayarınızda Microsoft Word 2007'nin yüklü olduğunu varsayar. Dosya klasörlerinin (dizinlerin) nasıl oluşturulacağı ve dosyaların nasıl taşınacağı ve kopyalanacağı gibi temel bilgisayar becerilerini bilmelisiniz. Ama bir bilgisayar programının gerçekte ne olduğunu merak ettiyseniz, sorun değil. Size göstereceğiz.

instagram viewer

Microsoft Office ucuz değil. Ancak, yüklediğiniz pahalı yazılımdan daha fazla değer elde edebilirsiniz. Bu büyük bir sebep Visual Basic Microsoft Office ile birlikte Uygulamalar veya VBA için. Elinde milyonlarca var ve yapabileceği her şeyi kullanan bir avuç (belki de hiç kimse) yok.

Ancak, daha ileri gitmeden önce, VBA hakkında bir şey daha açıklamam gerekiyor. Şubat 2002'de Microsoft, tüm şirketleri için tamamen yeni bir teknoloji tabanına 300 milyar dolarlık bahis yaptı. Buna .NET diyorlardı. O zamandan beri Microsoft tüm teknoloji tabanlarını VB.NET'e taşıyor. VBA, VB.NET'ten önce kullanılan denenmiş ve gerçek teknoloji olan VB6'yı kullanan son programlama aracıdır. (Bu VB6 seviye teknolojisini tanımlamak için "COM tabanlı" ifadesini görürsünüz.)

VSTO ve VBA

Microsoft, Office 2007 için VB.NET programları yazmak için bir yol oluşturdu. Buna Office için Visual Studio Araçları (VSTO) denir. VSTO ile ilgili sorun, satın almak ve Visual Studio Professional kullanmayı öğrenmek zorunda olmasıdır. Excel'in kendisi de COM tabanlı ve .NET programları bir arabirim (PIA, Birincil Birlikte Çalışma Düzeneği denir) aracılığıyla Excel ile çalışmak zorunda.

Yani... Microsoft birlikte hareket edip Word ile çalışacak ve BT departmanına katılmayacak programlar yazmanın bir yolunu sunana kadar, VBA makroları hala yoludur.

VBA kullanmamızın bir başka nedeni de gerçekten 'tamamen pişmiş' (yarı pişmiş değil) yazılım geliştirme programcılar tarafından yıllardır var olan en gelişmiş sistemlerden bazılarını yaratmak için kullanılan ortam. Programlama konumlarınızın ne kadar yüksek olduğu önemli değildir. Visual Basic sizi oraya götürme gücüne sahiptir.

Makro nedir?

Daha önce makro dili olarak adlandırılanları destekleyen masaüstü uygulamaları kullanmış olabilirsiniz. Makrolar geleneksel olarak sadece bir adla birlikte gruplandırılmış klavye eylemlerinin komut dosyalarıdır, böylece hepsini bir kerede yürütebilirsiniz. Güne her zaman "MyDiary" belgenizi açarak, günün tarihini girip "Sevgili Günlük" kelimelerini yazarak başlatırsanız - Bilgisayarınızın bunu sizin için yapmasına neden izin vermiyorsunuz? Diğer yazılımlarla tutarlı olmak için Microsoft, VBA'ya bir makro dili de çağırır. Ama değil. Çok daha fazlası.

Birçok masaüstü uygulaması, bir "tuş vuruşu" makrosu kaydetmenizi sağlayan bir yazılım aracı içerir. Microsoft uygulamalarında, bu araca Makro Kaydedici denir, ancak sonuç geleneksel bir tuş vuruşu makrosu değildir. Bu bir VBA programı ve fark sadece tuş vuruşlarını tekrar etmemesidir. Bir VBA programı mümkünse aynı sonucu verir, ancak VBA'da basit klavye makrolarını toz içinde bırakan gelişmiş sistemler de yazabilirsiniz. Örneğin, VBA kullanarak Word'deki Excel işlevlerini kullanabilirsiniz. Ve VBA'yı veritabanları, web veya diğer yazılım uygulamaları gibi diğer sistemlerle entegre edebilirsiniz.

VBA Makro Kaydedici basit klavye makroları oluşturmak için çok yararlı olsa da, programcılar daha sofistike programlara başlamanın daha da yararlı olduğunu keşfettiler. Yapacağımız şey bu.

Başlat Microsoft Word 2007 boş bir belge ile ve bir program yazmaya hazır olun.

Word'deki Geliştirici sekmesi

Word 2007'de Visual Basic programını yazmak için yapmanız gereken ilk şeylerden biri Visual Basic'i bul! Word 2007'de varsayılan, kullanılan şeridi görüntülememektir. Eklemek için Geliştirici sekmesinde, önce Ofis düğmesine basın (sol üst köşedeki logo) ve ardından Kelime Seçenekleri. Tıklayın Şeritte Geliştirici sekmesini göster ve sonra tıklayın tamam.

Tıkladığınızda Geliştirici sekmesinde, VBA programları yazmak için kullanılan yepyeni bir araç setiniz var. İlk programınızı oluşturmak için VBA Makro Kaydediciyi kullanacağız. (Tüm araçlarınızın bulunduğu şerit kaybolmaya devam ederse, şeridi sağ tıklayıp emin olmak isteyebilirsiniz Şeridi Küçült işaretlenmez.)

Tıklayın Makro Kaydet. Makronuza bir ad verin: AboutVB1 bu adı Makro Adı Metin kutusu. Geçerli belgenizi makronuzu saklayacağınız yer olarak seçin ve Tamam'ı tıklayın. Aşağıdaki örneğe bakın.

(Not: Seçerseniz Tüm Belgeler (Normal.dotm) açılır menüden, bu test VBA programı aslında Word'ün bir parçası olur, çünkü daha sonra Word'de oluşturduğunuz her belge için kullanılabilir hale gelir. VBA makrosunu yalnızca belirli bir belgede kullanmak istiyorsanız veya başka birine göndermek istiyorsanız, makrosu belgenin bir parçası olarak kaydetmek daha iyi bir fikirdir. normal.dotm varsayılan değerdir, bu yüzden değiştirmeniz gerekir.)

Makro Kaydedici açıkken, "Merhaba Dünya" metnini yazın. Word belgenize. (Fare işaretçisi, tuş vuruşlarının kaydedildiğini göstermek için bir teyp kartuşunun minyatür bir resmine dönüşecektir.)

(Not: "İlk Program" için Hello World neredeyse gereklidir, çünkü erken programlama için ilk programlama kılavuzu bilgisayar dili "C" kullandım. O zamandan beri bir gelenek oldu.)

Tıklayın Kaydetmeyi bırak. Word'ü kapatın ve belgeyi şu adla kaydedin: AboutVB1.docm. Bir tane seçmelisiniz Word Makro İçerebilen Belge -dan Kayıt Türü yıkılmak.

Bu kadar! Şimdi bir Word VBA programı yazdınız. Bakalım neye benziyor!

Bir VBA programının ne olduğunu anlama

Word'ü kapattıysanız, tekrar açın ve AboutVB1.docm önceki derste kaydettiğiniz dosya. Her şey doğru şekilde yapıldıysa, belge pencerenizin üstünde bir güvenlik uyarısı içeren bir afiş görmelisiniz.

VBA ve Güvenlik

VBA gerçek Programlama dili. Bu, VBA'nın yapmanız gereken her şeyi yapabileceği anlamına gelir. Ve bu da, bazı 'kötü adamlardan' gömülü makro içeren bir Word belgesi alırsanız, bu makronun da hemen hemen her şeyi yapabileceği anlamına gelir. Bu yüzden Microsoft'un uyarısı ciddiye alınacak. Diğer yandan, sen Bu makroyu yazdı ve tek yaptığı şey "Merhaba Dünya". Yani burada risk yok. Makroları etkinleştirmek için düğmeyi tıklayın.

Makro kaydedicinin ne oluşturduğunu görmek için (ayrıca VBA içeren diğer birçok şeyi yapmak için), Visual Basic Düzenleyicisi'ni başlatmanız gerekir. Bunu Geliştirici şeridinin sol tarafında yapacak bir simge var.

Önce soldaki pencereye dikkat edin. Buna Proje Gezgini ve Visual Basic projenizin bir parçası olan üst düzey nesneleri (onlar hakkında daha fazla konuşacağız) gruplandırır.

Makro Kaydedici başlatıldığında, Normal şablonu veya geçerli belgeyi makronuz için bir konum olarak ayarlayın. Normal'i seçtiyseniz, Newmacros modülün bir parçası olacak Normal Gezgini ekranının dalı. (Mevcut belgeyi seçmeniz gerekiyordu. Eğer seçtiyseniz Normal, dokümanı silin ve önceki talimatları tekrarlayın.) Newmacros altında Modüller mevcut projenizde. Hala kod penceresi görüntülenmiyorsa, kod altında Görünüm Menü.

VBA kapsayıcısı olarak Word belgesi

Her Visual Basic programı bir tür dosya 'kapsayıcı' olmalıdır. Word 2007 VBA makroları söz konusu olduğunda, bu kapsayıcı bir ('.docm') Word belgesidir. Word VBA programları Word olmadan çalışamaz ve Visual Basic 6 veya Visual Basic .NET ile yapabileceğiniz gibi tek başına ('.exe') Visual Basic programları oluşturamazsınız. Ama bu hala yapabileceğiniz şeylerin tüm dünyasını terk ediyor.

İlk programınız kesinlikle kısa ve tatlıdır, ancak VBA ve Visual Basic Düzenleyicisi'nin temel özelliklerini tanıtmaya hizmet edecektir.

Program kaynağı normalde bir dizi altyordamdan oluşur. Daha gelişmiş bir programa geçtiğinizde, alt programların yanı sıra başka şeylerin de programın bir parçası olabileceğini keşfedeceksiniz.

Bu belirli alt programın adı AboutVB1. Altyordam üstbilgisi bir End Sub altta. Parantez, alt rutine iletilen değerlerden oluşan bir parametre listesi içerebilir. Burada hiçbir şey geçirilmiyor, ama orada Alt zaten ifade. Daha sonra, makroyu çalıştırdığımızda, adı arayacağız AboutVB1.

Altyordamda sadece bir tane gerçek program ifadesi vardır:

Seçim. TypeText Text: = "Merhaba Dünya!"

Nesneler, yöntemler ve özellikler

Bu ifade büyük üçünü içerir:

  • bir obje
  • bir metod
  • bir mülk

Bu ifade aslında "Merhaba Dünya" metnini ekler. geçerli belgenin içeriğine.

Bir sonraki görev programımızı birkaç kez çalıştırmaktır. Tıpkı bir araba satın almak gibi, biraz rahat hissedene kadar bir süre etrafta dolaşmak iyi bir fikirdir. Sonra yapacağız.

Programlar ve belgeler

Şanlı ve karmaşık sistemimiz var... bir program ifadesinden oluşur... ama şimdi çalıştırmak istiyoruz. İşte hepsi bu.

Burada öğrenilmesi gereken çok önemli bir kavram var ve genellikle ilk zamanlayıcıları gerçekten karıştırıyor: program ve belge. Bu kavram temeldir.

VBA programları bir ana bilgisayar dosyasında bulunmalıdır. Word'de, ana bilgisayar belgedir. Örneğimizde, bu AboutVB1.docm. Program aslında belgenin içine kaydedilir.

Örneğin, bu Excel olsaydı, program ve tablo. Access'te program ve veri tabanı. Bağımsız Visual Basic Windows uygulamasında bile, program ve bir form.

(Not: Programlamada tüm üst düzey kapsayıcılara "belge" olarak gönderme eğilimi vardır. Bu özellikle XML... yeni bir gelecek teknolojisi... kullanılıyor. Seni karıştırmasına izin verme. Her ne kadar hafif bir yanlışlık olsa da, "belgeler" i kabaca "dosyalarla" aynı düşünebilirsiniz.)

Var... ummmmm... VBA makronuzu çalıştırmanın yaklaşık üç ana yolu.

  1. Word belgesinden çalıştırabilirsiniz.
    (Not: İki alt kategori, Araçlar menüsünden Makroları seçmek veya sadece Alt-F8 tuşlarına basmaktır. Makroyu bir Araç Çubuğu veya Klavye kısayoluna atadıysanız, bu bir yol daha vardır.))
  2. Çalıştır simgesini veya Çalıştır menüsünü kullanarak Editör'den çalıştırabilirsiniz.
  3. Hata ayıklama modunda program boyunca tek adımda ilerleyebilirsiniz.

Word / VBA arayüzü ile rahat olmak için bu yöntemlerin her birini denemelisiniz. İşiniz bittiğinde, "Merhaba Dünya!"

Programı Word'den çalıştırmak oldukça kolaydır. Tıkladıktan sonra makroyu seçmeniz yeterlidir. Makro simgesinin altındaki Görünüm sekmesi.

Editör'den çalıştırmak için önce Visual Basic düzenleyicisini açın ve ardından Çalıştır simgesini tıklatın veya menüden Çalıştır'ı seçin. Belge ve Program arasındaki farkın bazılarına kafa karıştırıcı olabileceği yer burasıdır. Belgeyi simge durumuna küçültdüyseniz veya düzenleyicinizin kaplaması için pencerelerinizi düzenlediyseniz, Çalıştır simgesini tekrar tekrar tıklayabilirsiniz ve hiçbir şey olmuyor gibi görünür. Ama program çalışıyor! Belgeye tekrar geçin ve bakın.

Programa tek adım atmak muhtemelen en yararlı problem çözme tekniğidir. Bu, Visual Basic Düzenleyicisi'nden de yapılır. Bunu denemek için F8 veya seçin İçine adım -dan Hata ayıklama Menü. Programdaki ilk ifade, Alt ifadesi vurgulanır. F8 tuşuna basıldığında, program bitene kadar program deyimleri birer birer yürütülür. Metnin belgeye tam olarak ne zaman eklendiğini görebilirsiniz.

'Kesme Noktaları', 'Hemen Pencerede' program nesnelerini inceleme ve 'İzleme Penceresi'nin kullanımı gibi daha rafine hata ayıklama teknikleri vardır. Ancak şimdilik, bunun programcı olarak kullanacağınız birincil hata ayıklama tekniği olduğunu unutmayın.

Nesne yönelimli programlama

Bir sonraki sınıf dersi tamamen Nesne yönelimli programlama.

"Whaaaattttt!" (İnlediğini duyuyorum) "Sadece program yazmak istiyorum. Bilgisayar bilimcisi olmak için kaydolmadım! "

Korkma! Bunun büyük bir hamle olmasının iki nedeni var.

Birincisi, günümüzün programlama ortamında, nesne yönelimli programlama kavramlarını anlamadan etkili bir programcı olamazsınız. Çok basit tek satırlı "Merhaba Dünya" programımız bile bir nesne, bir yöntem ve bir özellikten oluşuyordu. Kanımca, nesneleri anlamak, programcıların başlaması gereken en büyük sorun. Öyleyse canavara karşı karşıya geleceğiz!

İkincisi, bunu mümkün olduğunca acısız hale getireceğiz. Sizi bir sürü bilgisayar bilimi jargonuyla karıştırmayacağız.

Ancak bundan hemen sonra, muhtemelen kullanabileceğiniz bir VBA makrosu geliştirdiğimiz bir dersle programlama kodunu yazmaya geri döneceğiz! Bir sonraki derste bu programı biraz daha mükemmelleştiriyoruz ve VBA'yı aynı anda birkaç uygulama ile kullanmaya nasıl başlayacağınızı göstererek bitiriyoruz.

instagram story viewer