WD2000: Nasıl otomatik olarak yüklenemedi veya bir VBA projesi Dağıt

Makale çevirileri Makale çevirileri
Makale numarası: 292037 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Bazı durumlarda, Visual Basic for Applications projesi dağıtımını otomatik hale getirmek gerekir. Örneğin, son kullanıcıların, yükleme veya makrolar kendilerini başvuru bilmiyor olabilirsiniz, veya yoksa el ile yükleme Masaüstleri katılan sayısı pratik hale getirir.

Bu makalede, çeşitli stratejileri kullanın veya VBA projenizi dağıtımını VBA komutları veya Word Başlangıç klasörü otomatikleştirme.

Daha fazla bilgi

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Bu makaledeki kod örneğini kullanma hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
212536OFF2000: Nasıl Knowledge Base makalelerini örnek kod Çalıştır

Proje Başlangıç klasörüne kopyalayın...

Bir şablonu yerleştirdiğinizde (* .dot) veya başlangıçta otomatik olarak dosyadaki makrolar Word eklenti kitaplığına (*.wll) Word Word Başlangıç yolunu yükler.

Dağıtım için başlangıç yolunu kullanarak bu nedenle yönetim oldukça dağıtmak veya basit bir dosyanın kopyasını bir VBA projesi güncelleştirme sağlayarak azaltır. Birçok kuruluş, zaten ağ oturumu açma, bu işlem, COPY komutu bir ağ oturum açma komut dosyası ekleme kadar kolay hale getirme sırasında oturum açma komut dosyalarını kullanın.

Word Startup klasörünün varsayılan konumları aşağıda verilmektedir:
Microsoft Windows 95, Microsoft Windows 98 veya Microsoft Windows Millennium Edition (Me):
C:\WINDOWS\Application Data\Microsoft\Word\STARTUP
Microsoft Windows 95, Microsoft Windows 98 veya kullanıcı profilleri ile Microsoft Windows Millennium Edition (Me):
user name \Application Data\Microsoft\Word\STARTUP C:\WINDOWS\Profiles\
Microsoft Windows NT 4.0:
user name \Application Data\Microsoft\Word\STARTUP C:\WINNT\Profiles\
Microsoft Windows 2000:
C:\Documents and Settings\ user name \Application Data\Microsoft\Word\STARTUP
Not: The Word Başlangıç yolu özelleştirilebilir ve bu makalede listelenen alanından farklı olabilir. VBA projenizi dağıtımını otomatik hale getirmek için dosyayı kopyalamadan önce başlangıç yolunu doğrulamak dikkat edin.

Dış bir çözümden başlangıç klasörünün konumunu döndürme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
210860WD2000: Word Başlangıç yolu dış bir çözüm bulmak How
Microsoft Office program dosyalarını içeren dizinde de bir başlangıç klasörü var. Word, bu klasörün önceki başvurulan konumları ek olarak, başlangıç sırasında denetler. Word, daha sonra herhangi bir şablon veya varsa bulduğu eklenti kitaplıkları yükler. Varsayılan olarak, bu klasör aşağıdaki konumdadır:
C:\Program Files\Microsoft Office\Office\STARTUP
Bu Başlangıç klasörünü kullanarak bir avantajı yol genellikle aynı kullanıcı adını ya da yüklü olan Windows sürümü ne olursa olsun olmasıdır.

Bir dezavantajı, dosyaları bu klasöre yerleştirilen, belirli bir iş, yalnızca kullanıcının tüm kullanıcıları etkiler olur.

Başlangıç yolunu değiştirme

Alternatif olarak Word Başlangıç yolunda bir paylaşılan ağ konumuna değiştirebilir ve VBA projenizi, yalnızca bu ağ paylaşımına yeniden kopyalayın. Bu, ağdaki her bilgisayar için dosyayı kopyalarken bir tercih olabilir.

Word Başlangıç değiştirmek için ayarı el ile Araçlar menüsünden Seçenekler ' i tıklatın ve sonra Dosya konumları</a0> sekmesini tıklatın.

Bu ayar, VBA ile de değiştirebilirsiniz. Aşağıdaki örnekte, Word Başlangıç yolunda bir paylaşılan ağ konumuna değiştirir. Eşlenen ağ sürücüsündeki bir UNC yolu yerine de kullanılabilir:
Application.Options.DefaultFilePath(wdStartupPath) _ = "\\ Server \ Share"
Varsayılan başlangıç yolunun sıfırlamak için <a0></a0>, başlangıç yolunun hiçbir şey ayarlayın (""), aşağıdaki gibi:
Application.Options.DefaultFilePath(wdStartupPath) = ""

Alma ve verme VBComponents

Başlangıç klasörü, dağıtım için kullanmak yerine genel şablonu (veya başka bir şablon) VBA bileşen almak isterseniz, bir modül veya userform bir Visual Basic modülünün dosyasını (*.bas) veya Visual Basic userform dosyasının (*.frm) sırasıyla almaya VBProjects tahsilat kullanabilirsiniz.

VBA projenizi BAS veya FRM bir dosya oluşturmak için <a0></a0>, userform ya da modül Project Explorer penceresinde (Visual Basic Düzenleyicisi'nde çalışırken CTRL + E tuşlarına basın, bu penceresini görmek için <a0></a0>) sağ tıklatın ve Dosyası ver</a1>'ı tıklatın.

Bir modül veya VBA komutuyla userform verebilirsiniz. VBComponents.Export yöntemini kullanan örnek bir bağımsız değişken aşağıdadır:


   VBE.VBProjects("MyTemplateProject").VBComponents("MyModule").Export _
      FileName:="C:\My Documents\MyModule.bas"
				
aşağıdaki örnek makroyu "AddMeModule.bas" Belgelerim klasöründen Normal şablonuna adlı bir BAS dosyası alır ve sonra da "AddMeMacro" adlı bir makro (presumably alınan modülünde bir makro) çalışıyor:
Sub NormalImport()

   'Import the BAS file into Normal. 
   NormalTemplate.VBProject.VBComponents.Import _
      FileName:="C:\My Documents\AddMeModule.bas"

   'Run the named macro.
   Application.Run "AddMeMacro"

End Sub
				
Normal şablonuna bileşenler alınıyor ek olarak, VBA bileşenleri aşağıdaki örnek bağımsız olarak, Word düzenleme için açık olan herhangi bir şablon içine alabilirsiniz:
   VBE.VBProjects("MyTemplate").VBComponents.Import _
      FileName:="C:\My Documents\AddMeModule.bas"
				

Bir VBProject başvurusu

Dosya boyutunu artırır ve yükü, verme ve bağımsız modüller ve kullanıcı formları almayı önlemek için bunun yerine bir VBA projesi başvurmak seçebilirsiniz. Bu dosyayı açmayı veya Normal şablonu ya da başka bir şablon proje kodu büyük miktarlarda ekleme gerçekte tüm yordamları, işlevleri ve projenin kullanıcı formları erişmenize olanak sağlar.

Not: geçerli projede başvuru yapılan bir proje için bir başvuru eklemek ba?ar?s?z olursa, aşağıdaki hata iletisini alırsınız:
Çalışma zamanı hatası '32813': Varolan modül, proje veya nesne kitaplığına adı çakışmaları
Bu hatayı önlemek için <a0></a0>, eklemek veya bir hata işleyicisi kullanmak denemeden önce bir başvuru varlığını denetlemeniz gerekir.

Aşağıdaki örnek, "RefProj" adlı bir proje başvurusu denetler ve yalnızca, zaten başvurulmuyor Bu başvuru eklemeye AddFromFile yöntemi kullanır:
Sub RefFromFile()

   Dim RefExists As Boolean

   'Return each reference in Normal.dot.
   For Each Reference In NormalTemplate.VBProject.References

      'Check the name of the reference.
      If Reference.Name = "RefProj" Then

         'Notify if the reference exists.
         MsgBox "Reference already exists"

         'Set the RefExists Boolean to True.
         RefExists = True
      End If

   Next

   'Add the reference if it does not exist.
   If RefExists = False Then
      NormalTemplate.VBProject.References.AddFromFile _
         FileName:="C:\My Documents\RefMe.dot"

      'Notify that the reference was added.
      MsgBox "Reference has been added"
   End If

End Sub
				
NormalImport örnekte olduğu gibi (Word program Çalıştır yöntemini kullanarak başvurulan bir projeden bir makro çalıştırabilir, bu makalenin "Al ve Ver VBComponents" bölümünde), bkz:.

Alternatif olarak, bir sub, işlevi veya userform doğrudan proje adını ve aşağıdaki örneklerde olduğu gibi <a1>kapsayıcı</a1> adını adı önceki çağırabilirsiniz:
   RefProj.UserForm1.Show
				
-VEYA-
   RefProj.Module1.MacroName
				
Bir alt, işlevi veya aşağıdaki hata iletisini alırsınız çünkü kullanılan, başvuru eklemek için doğrudan aynı yordam içinde userform çağrılamıyor göz önünde bulundurun:
'424' Çalışma zamanı hatası: nesne gerekli
Başvuru eklemek için kodu çalıştırmanızdan sonra aradığınız proje kadar kullanılamaz olmasıdır. Bu kısıtlamaya bir geçici çözüm bulmak için <a0></a0>, başvuru bir yordamı ekleyin ve sonra gerçekte bir makroyu çalıştırmak veya userform görüntülemek için ayrı bir yordam çağrısı.

VBProject koleksiyonu, Visual Basic Düzenleyicisi'nde hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, sonra da VBProject özelliği, Office Yardımcısı'na veya Yanıt Sihirbazı'nı yazın ve döndürülen konuları görüntülemek için Ara ' yı tıklatın.

OrganizerCopy kullanın.

Modüller ve kullanıcı formları dosyalar arasında kopyalama otomatikleştirmek için bir başka yolu OrganizerCopy yöntemini kullanmaktır. Bu yöntem Düzenleyici</a0> iletişim kutusunu kullanarak bir proje öğesi Word'de kopyalama olarak aynı eylemi gerçekleştirir.

Normal şablonuna "CopyMod.dot" adlı bir şablon "CopyMeModule" adlı bir modüle aşağıdaki makro örneği kopyalar:
Sub OrgCopy()

   'Specifies the source, destination, name
   ' and the type of object being copied.
   Application.OrganizerCopy Source:="C:\My Documents\CopyMod.dot", _
      Destination:=NormalTemplate.FullName, Name:="CopyMeModule", _
      Object:=wdOrganizerObjectProjectItems

End Sub
				
bu yöntem, tek önemli sınırlaması vardır: normal şablondan proje öğelerini başka bir dosyayı kopyalayamıyor. Makro virüslerinin yayılmasını engellemeye tasarım gereği, budur.

Buna ek olarak, şablonu düzenleme için Word'de açık değilse veya bir eklenti veya başvuru olarak yüklenen bir şablon proje kopyalayamıyor.

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
211466WD2000: WordBasic MacroCopy komutu çalışmıyor
Visual Basic Düzenleyicisi'nde OrganizerCopy yöntemi hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, OrganizerCopy yöntemi, Office Yardımcısı'na veya Yanıt Sihirbazı'nı yazın ve sonra döndürülen konuları görüntülemek için Ara ' yı tıklatın.

Eklentileri</a0> koleksiyon kullanın.

Bu yöntem, bir dış şablon veya eklenti kitaplığına Word (*.wll) açma veya dosya taşıma ve Word diğer bir VBA projesinde değişiklik olmadan kullanmanıza olanak tanır. Bunun nedeni, eklentiler, uygulama düzeyi nesneleri yerine <a2>Belge</a2> veya <a4>VBA bileşen nesnelerini olan güncelleştirmesidir.

Bir proje için Eklentileri ekleme tahsilat Word şablonları ve eklentileri iletişim kutusunda <a1>Ekle</a1> düğmesini tıklatmakla aynıdır.

Aşağıdaki örnek, "AddToAddins.dot" adlı eklenti yükler ve "AddinMacro" adlı bir şablonda bir makro çalışıyor:
Sub AddToAddins()

   'Install the add-in.
   Application.AddIns.Add FileName:="C:\My Documents\AddToAddins.dot", _
      Install:=True

   'Run a macro in the add-in.
   Application.Run "AddinMacro"

End Sub
				
Yükleme özelliği bu yöntem için eklenti için onay kutusunu şablonları ve eklentileri iletişim kutusunda seçilen belirtir. Bu özellik ek bileşeninden bir makroyu çalıştırmak için true olmalıdır.

Bir proje başvuru farklı olarak aynı eklenti hatasız birden çok kez ekleyebilirsiniz.

Şablonlar ve eklentiler seçerek ve Kaldır</a1> düğmesini veya Addins.Remove VBA yöntemini kullanarak kaldırmanız kadar eklenti şablonları ve eklentileri iletişim kutusunda kullanılabilir kalır.

Bu yöntemin bir sınırlama çıkın ve Word ' Ü yeniden eklenti Startup klasöründen yüklüyor sürece yüklenmiş durumu otomatik olarak FALSE olarak değişmesi olur (Bu makalenin "Copy the Project Başlangıç klasörü" bölümüne bakın). Bu kısıtlamayla ilgili ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
224766WD2000: Şablonu, şablonlar ve eklentiler eklenen yükü kısmı veya tamamı ingilizce olan içeriğe işaret edebilir.
Eklentileri koleksiyon nesnesi, Visual Basic Düzenleyicisi'nde hakkında daha fazla bilgi için Yardım menüsünde Microsoft Visual Basic Yardımı ' nı tıklatın, Eklentileri tahsilat, Office Yardımcısı'na veya Yanıt Sihirbazı'nı yazın ve döndürülen konuları görüntülemek için Ara ' yı tıklatın.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
226118OFF2000: Kaynaklar Visual Basic for Applications programlama

Özellikler

Makale numarası: 292037 - Last Review: 11 Ekim 2006 Çarşamba - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Word 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto kbmacroexample KB292037 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:292037

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com