Làm th? nào đ? thi?t l?p các m?t n? và thu?c tính h?nh ?nh cho Office XP CommandBars

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 286460 - 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

Microsoft Office XP gi?i thi?u hai thu?c tính m?i đ? các CommandBarButton đ?i tư?ng: các M?t n?H?nh ?nh b?t đ?ng s?n. B?n có th? s? d?ng các thu?c tính này đ?t h?nh ?nh trên tùy ch?nh t?o ra l?nh thanh đi?u khi?n.

Chú ý Các đ?c tính này c?ng có s?n trong Microsoft Office 2003.

THÔNG TIN THÊM

Các M?t n?H?nh ?nh thu?c tính đư?c đ?nh ngh?a là lo?i IPictureDisp, đó là m?t thành viên c?a thư vi?n Stdole. IPictureDisp s? d?ng phương pháp không th? đư?c marshalled trên ranh gi?i ti?n tr?nh. V? v?y, các M?t n?H?nh ?nh thu?c tính ch? có th? đư?c g?i là trong quá tr?nh (VBA macro, t? đ?ng hóa Add-Ins, và ActiveX DLLs ch?y trong ti?n tr?nh). Xem ph?n "Tham kh?o" cho bi?t thêm thông tin liên quan đ?n hành vi này.

M?u dư?i đây cho th?y như th? nào đ? t?o ra m?t t? đ?ng hóa Add-in cho thêm m?t CommandBar nút v?i m?t đeo m?t n? h?nh ?nh.

Các bư?c đ? t?o ra h?nh ?nh cho h?nh ?nh và m?t n?

  1. B?t đ?u Microsoft Paint. Trên các H?nh ?nh tr?nh đơn, nh?p vào Thu?c tính. Thay đ?i kích thư?c h?nh ?nh 32 x 32 và nh?p vào Ok.
  2. V? m?t khuôn m?t màu vàng trên b? m?t sơn. Đi?n vào khu v?c xung quanh trong v?ng tr?n v?i màu xanh.

    Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
    H?nh ?nh c?a m?u Picture.bmp. Bư?c

				đ? tái t?o h?nh ?nh này đư?c đưa ra trong bài vi?t này.
  3. Lưu h?nh ?nh như Circle.bmp.
  4. Đ? t?o ra m?t n?, đi?n vào các v?ng tr?n v?i màu đen và đi?n vào các khu v?c bên ngoài v?ng tr?n v?i màu tr?ng. Khi b?c tranh v?i m?t n? s? đư?c thêm vào ki?m soát CommandBar, các khu v?c màu đen c?a m?t n? có th? nh?n th?y, trong khi các các khu v?c màu tr?ng là minh b?ch.

    Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
    H?nh ?nh c?a m?u Mask.bmp. Bư?c đ?

				re-create h?nh ?nh này đư?c đưa ra trong bài vi?t này.
  5. Lưu h?nh ?nh như Mask.bmp.

Các bư?c đ? t?o COM AddIn


  1. B?t đ?u Visual Basic và t?o ra m?t AddIn m?i d? án.
  2. Trên các Dự án tr?nh đơn, nh?p vào Tham khảo. N?u m?t văn ph?ng Microsoft"" lo?i thư vi?n s?m hơn so v?i phiên b?n XP là đ? ch?n, r? ràng r?ng lo?i thư vi?n và ch?n thư vi?n ki?u cho Microsoft Văn ph?ng XP. Nh?p vào Ok.
  3. Trong d? án Explorer, nh?p chu?t ph?i frmAddin và sau đó nh?p vào Lo?i b? frmAddin.
  4. Trong d? án Explorer, b?m đúp vào các K?t n?i nhà thi?t k?. Cho ?ng d?ng ch?n Microsoft Excel, và cho Đ?u tiên t?i hành vi ch?n Kh?i đ?ng.
  5. Trên các Xem tr?nh đơn, nh?p vào Mã và thay th? m? cho các Add-in v?i các đi?u sau đây:
    Option Explicit
    
    Dim oExcel As Object
    Dim WithEvents oButton As Office.CommandBarButton
    
    Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
     ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
     ByVal AddInInst As Object, custom() As Variant)
    
      Dim oPic As stdole.IPictureDisp
      Dim oMask As stdole.IPictureDisp
    
      ' Load the picture and mask.
      Set oPic = LoadPicture(App.Path & "\circle.bmp")
      Set oMask = LoadPicture(App.Path & "\mask.bmp")
    
      ' Save an instance of our application.
      Set oExcel = Application
      ' Create a new button on the standard CommandBar.
      Set oButton = oExcel.CommandBars("Standard").Controls.Add(msoControlButton)
      With oButton
        ' Set a tag for the button.
        .Tag = "My Button"
        ' Set the event to fire when the button is pressed.
        .OnAction = "!<" & AddInInst.ProgId & ">"
        ' Set the picture property -- if you are using the Mask property, this
        ' property must be set before you set the Mask property.
        .Picture = oPic
        ' Set the Mask property.
        .Mask = oMask
        ' Show the button.
        .Visible = True
      End With
    End Sub
    
    Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As _
       AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
    
       ' Delete the button.
       oButton.Delete
       ' Release references.
       Set oButton = Nothing
       Set oExcel = Nothing
     End Sub
    
    Private Sub oButton_Click(ByVal Ctrl As Office.CommandBarButton, _
      CancelDefault As Boolean)
      ' Our button was pressed.
      MsgBox "The button was pressed!"
    End Sub
    					
  6. Lưu d? án và xây d?ng các Add-in trong thư m?c trong các ?nh bitmap đư?c lưu tr?.
  7. Khởi động Excel. M?t đi?u khi?n m?i v?i m?t v?ng tr?n màu vàng s? xu?t hi?n trên CommandBar tiêu chu?n. Lưu ? r?ng khu v?c xung quanh trong v?ng tr?n màu vàng minh b?ch.

Thêm ghi chú

Như đ? nêu, các IPictureDisp giao di?n không th? đư?c marshalled trên ranh gi?i ti?n tr?nh. C? g?ng đ? thi?t l?p các H?nh ?nhM?t n? thu?c tính ra c?a quá tr?nh k?t qu? trong sau đây l?i:
Th?i gian ch?y l?i '-2147418113(8000ffff)':
Phương pháp 'H?nh ?nh' đ?i tư?ng '_CommandBarButton' th?t b?i
V? v?y, b?n không th? thi?t l?p các tài s?n cho m?t CommandBarButton t? b?t k? khách hàng t? đ?ng hóa ra quá tr?nh ho?c t? m?t trong quá tr?nh thành ph?n đang ch?y trong ch? đ? g? l?i trong IDE Visual Basic. N?u b?n ch?y các m?u Add-in mô t? trong bài vi?t này t? IDE Visual Basic, b?n s? nh?n đư?c l?i này. Đ? tránh l?i trong khi g? l?i, b?n có th? b?nh lu?n các d?ng đó t?p các H?nh ?nhM?t n? thu?c tính ho?c s? d?ng có đi?u ki?n biên so?n, ch?ng h?n như m?t # N?u...Sau đó... # khác ch? th?.

THAM KH?O

Đ? bi?t thêm chi ti?t, nh?p vào s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
238228Làm th? nào đ? xây d?ng m?t văn ph?ng 2000 COM Thêm vào trong Visual Basic
230689 M?U: Comaddin.exe Office 2000 COM Add-In đư?c vi?t b?ng Visual c ++
150034 PRB: LPPICTUREDISP không th? đư?c thông qua trên ranh gi?i ti?n tr?nh
Đ? bi?t thêm chi ti?t, xem Microsoft sau Web site:
http://support.Microsoft.com/ofd

Thu?c tính

ID c?a bài: 286460 - L?n xem xét sau cùng: 23 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
T? khóa: 
kbautomation kbhowto kbmt KB286460 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:286460

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