WD2000: Bagaimana untuk secara otomatis memuat atau mendistribusikan projek VBA

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 292037 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Kadang-kadang Anda mungkin perlu untuk mengotomatisasi distribusi Anda Visual Basic untuk aplikasi proyek. Sebagai contoh, pengguna akhir mungkin tidak tahu cara menginstal atau referensi macro sendiri, atau jumlah desktop yang terlibat membuat instalasi manual tidak praktis.

Artikel ini menjelaskan beberapa strategi untuk mengotomatisasi penggunaan atau distribusi dari projek VBA Anda, dengan menggunakan perintah VBA atau map Startup kata.

INFORMASI LEBIH LANJUT

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.
Untuk informasi lebih lanjut tentang cara menggunakan kode contoh dalam artikel ini, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
212536OFF2000: Bagaimana untuk menjalankan kode contoh dari artikel Basis Pengetahuan

Salin proyek ke map Startup

Ketika Anda menempatkan sebuah template (* .dot) atau kata tambahan perpustakaan (*.wll) di lintasan kata Startup, kata beban makro di file secara otomatis pada startup.

Menggunakan Startup path untuk distribusi karena itu mengurangi administrasi jauh dengan memungkinkan Anda untuk mendistribusikan atau memperbarui projek VBA dengan salinan file sederhana. Banyak organisasi yang sudah menggunakan skrip logon selama jaringan logon, membuat proses ini semudah menambahkan perintah COPY ke jaringan skrip logon.

Berikut ini adalah lokasi default untuk map Startup kata:
Microsoft Windows 95, Microsoft Windows 98, atau Microsoft Windows Millennium Edition (Me):
C:\WINDOWS\Application Data\Microsoft\Word\STARTUP
Microsoft Windows 95, Microsoft Windows 98, atau Microsoft Windows Millennium Edition (Me) dengan profil pengguna:
C:\WINDOWS\Profiles\nama pengguna\Application Data\Microsoft\Word\STARTUP
Microsoft Windows NT 4.0:
C:\WINNT\Profiles\nama pengguna\Application Data\Microsoft\Word\STARTUP
Microsoft Windows 2000:
C:\Documents and Settings\nama pengguna\Application Data\Microsoft\Word\STARTUP
CATATAN: Jalan kata Startup disesuaikan dan mungkin berbeda dari apa yang didaftar di artikel ini. Jika Anda mengotomasi distribusi projek VBA Anda, pastikan Anda memverifikasi jalan Startup sebelum Anda menyalin file.

Untuk informasi tambahan tentang kembali lokasi map Startup dari solusi eksternal, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
210860 WD2000: Bagaimana menemukan kata Startup-jalan dari solusi eksternal
Ada juga Startup folder dalam direktori yang berisi file program Microsoft Office. Kata memeriksa folder ini selama startup, selain untuk lokasi direferensikan sebelumnya. Kata maka beban template atau menambahkan di perpustakaan itu ia menemukan di sana. Secara default, folder ini adalah di lokasi berikut:
C:\Program Files\Microsoft Office\Office\STARTUP
Keuntungan dari menggunakan folder Startup ini adalah bahwa jalan sering adalah sama, terlepas dari nama pengguna atau versi Windows yang diinstal.

Kelemahan adalah bahwa file yang ditempatkan dalam folder ini mempengaruhi semua pengguna workstation tertentu, bukan hanya pengguna individu.

Mengubah jalan Startup

Bergantian, Anda bisa mengubah path Startup di Word ke lokasi jaringan bersama, dan kemudian salin projek VBA Anda hanya ke jaringan berbagi. Ini mungkin lebih baik untuk menyalin file untuk setiap komputer di jaringan.

Untuk mengubah kata Startup pengaturan secara manual, klik Opsi pada Alat menu, dan kemudian klik Lokasi file tab.

Anda juga dapat mengubah pengaturan ini dengan VBA. Contoh berikut perubahan jalur Startup di Word ke lokasi jaringan bersama. Anda juga dapat menggunakan drive jaringan yang dipetakan bukannya lintasan UNC:
Application.Options.DefaultFilePath(wdStartupPath) = _ "\\Server\Berbagi"
Untuk me-reset jalan startup untuk nilai, menetapkan lintasan startup sama dengan apa-apa (""), seperti dalam berikut:
Application.Options.DefaultFilePath(wdStartupPath) = ""

Impor dan ekspor VBComponents

Jika Anda memilih untuk mengimpor komponen VBA ke global template (atau template lain), alih-alih menggunakan Startup folder untuk distribusi, Anda dapat menggunakan koleksi VBProjects untuk mengimpor modul atau userform dari Visual Basic modul file (*.bas) atau Visual Basic userform file (*.frm), masing-masing.

Untuk membuat file BAS atau FRM dari projek VBA Anda, klik kanan userform atau modul di jendela Explorer proyek (untuk melihat jendela ini, tekan CTRL + R sementara di Editor Visual Basic), dan kemudian klik Ekspor File.

Anda juga dapat mengekspor modul atau userform dengan perintah VBA. Berikut adalah contoh argumen menggunakan VBComponents.Export metode:


   VBE.VBProjects("MyTemplateProject").VBComponents("MyModule").Export _
      FileName:="C:\My Documents\MyModule.bas"
				
Berikut contoh makro impor BAS file yang bernama "AddMeModule.bas" dari map Dokumen saya ke dalam Normal template, dan kemudian menjalankan makro (mungkin makro dalam modul impor) yang bernama "AddMeMacro":
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
				
Selain untuk mengimpor komponen ke dalam Normal template, Anda dapat mengimpor VBA komponen ke dalam template yang terbuka untuk mengedit di Word, seperti dalam argumen contoh berikut:
   VBE.VBProjects("MyTemplate").VBComponents.Import _
      FileName:="C:\My Documents\AddMeModule.bas"
				

Referensi VBProject

Untuk menghindari meningkat ukuran file dan overhead mengekspor dan mengimpor masing-masing modul dan userforms, Anda dapat memilih untuk referensi projek VBA. Hal ini memungkinkan Anda untuk mengakses semua rutinitas, fungsi dan userforms proyek tanpa benar-benar membuka berkas atau menambahkan kode dalam jumlah besar untuk Normal template atau proyek template lain.

CATATAN: Jika Anda mencoba untuk menambahkan referensi ke proyek yang sudah disebutkan dalam proyek saat ini, Anda menerima pesan galat berikut:
Galat run-time '32813': nama bertentangan dengan modul ada, proyek, atau perpustakaan objek
Untuk mencegah kesalahan ini, Anda harus memeriksa keberadaan referensi sebelum Anda mencoba untuk menambahkannya, atau menggunakan sebuah kesalahan handler.

Contoh berikut memeriksa referensi proyek yang disebut "RefProj" dan menggunakan AddFromFile metode untuk menambahkan referensi ini hanya jika tidak direferensikan sudah:
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
				
Seperti dalam contoh NormalImport (lihat bagian "Impor dan ekspor VBComponents" dari artikel ini), Anda dapat menjalankan makro dari proyek yang direferensikan dengan menggunakan program kata 's Menjalankan metode.

Bergantian, Anda dapat menghubungi sub, fungsi, atau userform secara langsung dengan mengawali nama dengan nama proyek dan nama wadah, seperti dalam contoh berikut:
   RefProj.UserForm1.Show
				
-atau-
   RefProj.Module1.MacroName
				
Perlu diingat bahwa Anda tidak dapat memanggil sebuah sub, fungsi, atau userform secara langsung dalam rutin sama yang digunakan untuk menambahkan referensi untuk itu, karena Anda akan menerima pesan galat berikut:
Galat run-time '424': objek yang diperlukan
Hal ini karena proyek yang Anda panggil tidak tersedia sampai setelah Anda menjalankan kode untuk menambahkan referensi. Untuk mengatasi keterbatasan ini, menambahkan referensi dalam satu rutinitas, dan kemudian memanggil rutin terpisah untuk benar-benar menjalankan makro atau menampilkan userform.

Untuk informasi lebih lanjut tentang VBProject koleksi, di Editor Visual Basic, klik Microsoft Visual Basic bantuan pada Bantuan menu, jenis VBProject properti di kantor asisten atau jawaban Wizard, dan kemudian klik Mencari untuk melihat topik.

Menggunakan OrganizerCopy

Cara lain untuk mengotomatisasi menyalin modul dan userforms antara file adalah dengan menggunakan OrganizerCopy metode. Metode ini melakukan tindakan yang sama sebagai menyalin item proyek melalui Pengatur kotak dialog di Word.

Berikut contoh makro salinan modul yang bernama "CopyMeModule" dari template bernama "CopyMod.dot" ke dalam Normal template:
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
				
Metode ini memiliki batasan terkenal satu: Anda tidak dapat menyalin item proyek dari Normal template untuk file lainnya. Ini adalah desain, untuk mencegah penyebaran virus-virus macro.

Selain itu, Anda tidak dapat menyalin proyek ke atau dari template yang dimuat sebagai tambahan atau referensi, kecuali template terbuka di Word untuk mengedit.

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
211466 WD2000: WordBasic MacroCopy perintah tidak bekerja
Untuk informasi lebih lanjut tentang OrganizerCopy metode, di Editor Visual Basic, klik Microsoft Visual Basic bantuan pada Bantuan menu, jenis OrganizerCopy metode di kantor asisten atau jawaban Wizard, dan kemudian klik Mencari untuk melihat topik.

Menggunakan koleksi Addins

Metode ini memungkinkan Anda untuk menggunakan template di luar atau kata tambahan perpustakaan (*.wll) tanpa membuka atau pindah file, dan tanpa memodifikasi setiap VBA proyek di Word. Itu adalah karena tambahan level aplikasi objek, bukan dokumen atau VBA komponen objek.

Menambahkan sebuah proyek untuk Addins Koleksi adalah sama dengan mengklik Tambahkan tombol di Template dan tambahan kotak dialog di Word.

Contoh berikut menginstal add-in bernama "AddToAddins.dot" dan menjalankan makro dalam template yang disebut "AddinMacro":
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
				
The Menginstal properti untuk metode ini menentukan apakah kotak centang untuk tambahan yang dipilih dalam Template dan tambahan kotak dialog. Properti ini harus benar untuk menjalankan makro dari tambahan.

Tidak seperti referensi proyek, Anda dapat menambahkan sama add-in beberapa kali tanpa kesalahan.

Tambahan tetap tersedia di Template dan tambahan kotak dialog sampai Anda menghapusnya, baik dengan memilih dalam Template dan tambahan mengklik Hapus tombol, atau menggunakan Addins.Remove VBA metode.

Salah satu batasan dari metode ini adalah bahwa negara diinstal secara otomatis berubah ke False ketika Anda berhenti dan restart Word, kecuali tambahan loading dari Startup folder (lihat bagian "Copy the proyek untuk the map Startup" dari artikel ini). Untuk informasi tambahan tentang pembatasan ini, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
224766 WD2000: Template yang ditambahkan ke template dan peralatan tambahan tidak memuat
Untuk informasi lebih lanjut tentang Addins Koleksi objek, di Editor Visual Basic, klik Microsoft Visual Basic bantuan pada Bantuan menu, jenis Addins koleksi di kantor asisten atau jawaban Wizard, dan kemudian klik Mencari untuk melihat topik.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
226118 OFF2000: Pemrograman sumber daya untuk Visual Basic untuk aplikasi
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 292037 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Word 2000
Kata kunci: 
kbhowto kbmacroexample kbmt KB292037 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:292037

Berikan Masukan

 

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