Làm th? nào đ? t?o ra văn ph?ng COM Add-in b?ng cách s? d?ng VBA và văn ph?ng nhà phát tri?n

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 306130 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này mô t? cách hi?n th? m?t UserForm mà hoan nghênh b?n khi b?n kh?i đ?ng Microsoft Excel ho?c Microsoft Word. Đ?i tư?ng thành ph?n Salon ki?u (COM) add-in cung c?p m?t phương ti?n đ? t?p trung ph? bi?n m? trong m?t biên d?ch thư vi?n liên k?t đ?ng (DLL) có th? đư?c th?c hi?n d? dàng trong b?t k? văn ph?ng ?ng d?ng (ví d?, có th? truy c?p Microsoft Outlook contacts t? Excel, Word, và truy c?p Microsoft). Cách d? nh?t đ? phát tri?n m?t COM DLL trong Microsoft Văn ph?ng là làm vi?c v?i m?t add-in project, cung c?p m?t nhà thi?t k? và m?t tài li?u tham kh?o cho các IDTExtensibility2 thư vi?n.

Yêu c?u

Bài vi?t này gi? đ?nh r?ng b?n đ? quen thu?c v?i sau các ch? đ?:

  • T?o Visual Basic for Applications (VBA) th? t?c trong ?ng d?ng Office XP.
  • Làm vi?c v?i UserForms trong VBA.
  • Tu? ch?nh thanh công c? văn ph?ng XP.

T?o ra m?t ti?n ích trong d? án

B?n có th? t?o m?t thêm trong d? án trong b?t k? Microsoft Office 2000 ho?c ?ng d?ng Microsoft Office XP khi b?n có các nhà phát tri?n văn ph?ng Microsoft 2000 ho?c Microsoft Office XP Developer tools cài đ?t. Ví d? này s? d?ng Microsoft Word 2002.
  1. B?t đ?u Microsoft Word 2002.
  2. T? các Công c? tr?nh đơn, đi?m đ?n V? mô, sau đó b?m Visual Basic Editor.
  3. Trong các Visual Basic Editor (VBE), nh?p vào D? án m?i trên các T?p tin tr?nh đơn.
  4. Trong các D? án m?i h?p tho?i h?p, b?m vào Ti?n ích trong d? án. Đi?u này t? đ?ng cung c?p m?t Add-In nhà thi?t k?.
  5. N?u c?a s? thu?c tính không th? nh?n th?y, b?m C?a s? Properties trên các Xem tr?nh đơn.
  6. Trong c?a s? thu?c tính, đ?i tên d? án t? AddInDesigner1 đ? WelcomeAddIn.
  7. T? các Chèn tr?nh đơn, nh?p vào UserForm đ? chèn m?t UserForm.
  8. T? h?p công c?, thêm m?t nh?n và m?t nút l?nh đ? các UserForm.
  9. Trong c?a s? thu?c tính, thay đ?i các thu?c tính c?a các đi?u khi?n đ? phù h?p v?i các giá tr? trong b?ng sau:
    Thu g?n b?ng nàyBung r?ng b?ng này
    Ki?m soátThu?c tínhGiá tr?
    Nh?n hi?uTênlblMessage
    Chú thíchChào m?ng
    Phông ch?14pt
    AutoSizeS? th?t
    CommandButtonTêncmdOK
    Chú thíchOk
    UserFormTênfrmWelcome

  10. T? các Chèn tr?nh đơn, nh?p vào Mô-đun đ? chèn m?t mô-đun chu?n.
  11. Thêm khai báo bi?n toàn c?u chu?i sau đây đ? các mô-đun chu?n:
    Public gstrUserName As String
    'This variable will be used to store the name of the user as defined
    'in the Options dialog boxes (from the Tools menu) in Word and Excel.
    					
  12. Trong các mô-đun, thêm m? sau đây đ? t?o m?t công Ti?u th? t?c đ?t tên DisplayForm đ? hi?n th? các h?nh th?c trên màn h?nh:
    Public Sub DisplayForm()
      frmWelcome.Show vbModal
    End Sub
    					
  13. Xem c?a s? m? cho các h?nh th?c frmWelcome, và thêm các sau m? đ? các UserForm_Initialize s? ki?n đ? ti?p nhau các chú thích nh?n v?i bi?n chu?i:
    lblMessage.Caption = lblMessage.Caption & " " & gstrUserName
    					
  14. Thêm m? sau đây đ? các Nh?p vào s? ki?n cho CommandButton cmdOK đ? l?y các h?nh th?c:
    Unload me
    					

Thay đ?i thu?c tính c?a các ti?n ích trong nhà thi?t k?

Làm theo các bư?c sau đ? thay đ?i các thu?c tính c?a các nhà thi?t k? như v?y r?ng add-in s? b?t đ?u ngay sau khi Microsoft Excel b?t đ?u:
  1. Trong d? án Explorer, b?m đúp chu?t vào các thành ph?n đ? Quay l?i Add-In Designer.
  2. Trên các T?ng quát tab c?a nhà thi?t k?, thay đ?i các thu?c tính c?a các nhà thi?t k? đ? phù h?p v?i các giá tr? trong b?ng sau:
    Thu g?n b?ng nàyBung r?ng b?ng này
    B?t đ?ng s?nGiá tr?
    Tên hi?n th? addInFunFormMessage
    Mô t? addInĐi?u này ch?a m? mà là c? th? cho Excel
    ?ng d?ngMicrosoft Excel
    Phiên b?n ?ng d?ngMicrosoft Excel 10,0
    Đ?u tiên t?i hành viKh?i đ?ng

Th?c hi?n các s? ki?n IDTExtensibility2

  1. T? các Xem tr?nh đơn, nh?p vào M? đ? xem các mô-đun m? đ?ng sau các nhà thi?t k?.
  2. T? các Công c? tr?nh đơn, nh?p vào Tài li?u tham kh?o, và thi?t l?p m?t tham chi?u đ?n Microsoft Excel Object Thư vi?n.
  3. Trong các Đ?i tư?ng danh sách th?-xu?ng, b?m vào AddinInstance. Trong các Th? t?c danh sách th?-xu?ng, b?m vào OnConnection.

    S? ki?n này r?t h?u ích cho vi?c t?o ra m?t nút CommandBar ho?c liên k?t m? v?i m?t s? ki?n như m?t s? ki?n ?ng d?ng khi add-in đư?c k?t n?i v?i các ?ng d?ng máy ch? lưu tr?.
  4. Thêm m? sau đây đ? các AddinInstance_OnConnection s? ki?n th? t?c lưu tr? tên ngư?i dùng trong bi?n toàn c?u strUserName và đ? g?i các DisplayForm th? t?c:
    gstrUserName = Application.UserName
    DisplayForm
    					
  5. Trong VBE, nh?p vào Ti?t ki?m, và tên d? án Welcome.vba.

Thêm m?t nhà thi?t k? th? hai

Trong th? t?c này, b?n thêm m?t nhà thi?t k? th? hai đ? th?c hi?n các ch?c năng tương t? trong Microsoft Word.
  1. T?o m?t Add-In d? án trong VBE. AddInProject2 là t?o ra theo m?c đ?nh.
  2. Trong d? án Explorer, kéo m?i Add-In Designer giao di?n)AddInDesigner1) thành c?a b?n hi?n có thêm trong d? án. S? có hai nhà thi?t k? trong d? án.
  3. Trong d? án Explorer, b?m chu?t ph?i vào AddInProject2, sau đó b?m Đóng d? án đ? lo?i b? các d? án mà b?n v?a t?o ra.
  4. Khi b?n nh?n đư?c thông báo sau ho?c tương t?
    D? án AddInProject2 đ? b? thay đ?i. B?n có mu?n lưu nó?
    Nh?p vào Không.
  5. Thay đ?i thu?c tính c?a các nhà thi?t k? đ? xác đ?nh T? 10 như ?ng d?ng m?c tiêu và đ? t?i lúc Kh?i đ?ng.
  6. Thêm m? sau m?i t? thi?t k? AddinInstance_OnConnection th? t?c t? ch?c s? ki?n, mà là gi?ng như m? trư?c đó b?ng văn b?n cho các thi?t k? Excel OnConnection s? ki?n:
    gstrUserName = Application.UserName
    DisplayForm
    					

G? l?i Add-In

  1. N?u b?n thích, thêm thích h?p ngh? đi?m đ?n các M?.
  2. Trong VBE, nh?p vào Ch?y d? án t? các Ch?y Menu đ? ch?y add-in.
  3. B?t đ?u Microsoft Excel. Khi d? án b?t đ?u, b?n có th? nh?n th?y m?t h?p tho?i cho các nhà thi?t k? AddIn. B?m vào tùy ch?n đ? b?t đ?u m?t ?ng d?ng, và duy?t đ?n Excel.exe. N?u h?p tho?i này không xu?t hi?n, h?y nh?p vào B?t đ?u, đi?m đ?n Các chương tr?nh, sau đó b?m Microsoft Excel đ? b?t đ?u Excel. UserForm c?a b?n s? xu?t hi?n.
  4. N?u COM thêm trong qu?n l? không ph?i là đ? có s?n, thêm cácCOM Add-in ch? huy m?t thanh công c? như sau:
    1. Trên các Công c? tr?nh đơn, nh?p vào Tùy ch?nh.
    2. Trong các Tùy ch?nh h?p tho?i h?p, trên các L?nh tab, kéo các COM Add-in l?nh t? các Công c? th? lo?i vào m?t thanh công c? ho?c vào các Công c? tr?nh đơn CommandBarPopup đ?i tư?ng.
  5. B?m vào các COM Add-in thanh l?nh đ? hi?n th? COM Add-In qu?n l? (CAM). Danh sách theo các CAM hi?n th? t?t c? các add-ins đư?c n?p.
  6. Đ? ki?m tra các OnConnection s? ki?n, r? ràng các Chào m?ng Thêm vào h?p ki?m t?i CAM và sau đó nh?p vào Ok. Redisplay các CAM, ch?n các Chào m?ng ki?m tra h?p và b?m Ok. UserForm s? xu?t hi?n m?t l?n n?a.
  7. Đóng ?ng d?ng máy ch? lưu tr? (ho?c Word ho?c Excel), và Nh?p vào D?ng d? án t? các Ch?y Menu trong VBE ng?ng ch?y các d? án.

Xác minh r?ng ti?n ích trong tác ph?m

Bây gi? b?n có th? biên d?ch add-in và xác minh r?ng nó ho?t đ?ng trên m?t máy tính khác.
  1. Lưu d? án trong VBE. Đây là phiên b?n ch?nh s?a c?a b?n. Nhà nư?c đ? biên d?ch không cho phép b?n th?c hi?n các s?a đ?i.
  2. T? các T?p tin tr?nh đơn, nh?p vào Làm cho Welcome.DLL.
  3. S? d?ng các regsvr32 l?nh đ? đăng k? DLL như sau:
    1. T? các c?a s? B?t đ?u tr?nh đơn, nh?p vào Ch?y.
    2. Trong các M? văn b?n h?p, nh?p văn b?n sau đây:
      regsvr32đư?ng d?n> \Welcome.DLL
      nơiđư?ng d?n> là đư?ng d?n h? th?ng t?p cho t?p DLL.
  4. Nh?p vào Ok đ? xác nh?n đăng k? DLL.
  5. Ch?y Excel và/ho?c t?. UserForm c?a b?n s? xu?t hi?n. N?u b?n không th?y UserForm c?a b?n, nh?p vào COM AddIns t? các Công c? tr?nh đơn, và sau đó ch?n các Chào m?ng h?p ki?m.
LƯU ?: Cách d? nh?t đ? phân ph?i DLL là s? d?ng các gói và Thu?t s? tri?n khai.

Gi?i đáp th?c m?c

  • H?y ch?c ch?n r?ng b?n vi?t m? ng?n, hi?u qu? đ? khi các Add-in đư?c t?i vào b? nh?. Ví d?, n?u b?n OnConnection s? ki?n thao túng d? li?u cơ s? d? li?u khi kh?i đ?ng, ngư?i dùng c?a b?n s? ngh? r?ng r?ng các máy tính đ? ng?ng đáp ?ng (hung).
  • H?y c?n th?n khi b?n s? d?ng UserForms. N?u ngư?i dùng nh?p vào ?ng d?ng máy ch? lưu tr?, ngư?i dùng có th? ngh? r?ng h? đ? m?t các h?nh th?c b?i v? nó là ?n đ?ng sau các ?ng d?ng máy ch? lưu tr?. Thay vào đó, làm cho các h?nh th?c cách th?c đ? kh?c ph?c v?n đ? này. Đ? th?c hi?n m?t h?nh th?c phương th?c, s? d?ng các vbModal h?ng s? như sau:
    frmMyUserForm.Show vbModal
    						
    Đ? xem nơi m? này v?a v?i tham chi?u đ?n ví d? này, xem các m? trong bư?c 12 c?a các T?o ra m?t ti?n ích trong D? án keá tieáp.

THAM KH?O

Đ? c?p đ?n \Samples\Working v?i AddIns\VBA_COM_AddIn thư m?c trên đ?a CD nhà phát tri?n Office XP cho m?t m?u AddIn.

Đ? bi?t thêm chi ti?t v? vi?c t?o ra các nút CommandBar, ghé thăm Web site sau c?a Microsoft Developer Network (MSDN):
http://MSDN.Microsoft.com/en-US/Library/aa140930.aspx

Thu?c tính

ID c?a bài: 306130 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Office XP Developer Edition
T? khóa: 
kbhowtomaster kbmt KB306130 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:306130

Cung cấp Phản hồi

 

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