B?n nh?n đư?c l?i th?i gian ch?y 429 khi b?n t? đ?ng hóa các ?ng d?ng văn ph?ng

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 828550 - Xem s?n ph?m mà bài này áp d?ng vào.
Đ? m?t Microsoft Office XP, Office 2000, và văn ph?ng 97 Phiên b?n c?a bài vi?t này, h?y xem 244264.
Bung t?t c? | Thu g?n t?t c?

? Trang này

Tóm t?t

Khi b?n s? d?ng các nhà đi?u hành New ho?c ch?c năng CreateObject trong Microsoft Visual Basic đ? t?o ra m?t th? hi?n c?a m?t Microsoft Office ?ng d?ng, b?n có th? nh?n đư?c thông báo l?i sau:
Th?i gian ch?y l?i '429': ActiveX thành ph?n không th? t?o đ?i tư?ng
L?i này x?y ra khi mô h?nh đ?i tư?ng thành ph?n (COM) không th? t?o đ?i tư?ng t? đ?ng hóa đư?c yêu c?u, và các đ?i tư?ng t? đ?ng hóa là do đó không có s?n v?i Visual Basic. L?i này không x?y ra trên t?t c? các máy tính.

Bài vi?t này mô t? làm th? nào đ? ch?n đoán và gi?i quy?t các v?n đ? ph? bi?n mà có th? gây ra l?i này.

Thông tin thêm

Trong Visual Basic, có r?t nhi?u nguyên nhân c?a l?i 429. L?i x?y ra trong các đi?u ki?n sau là đúng:
  • Đó là m?t sai l?m trong ?ng d?ng.
  • Đó là m?t sai l?m trong c?u h?nh h? th?ng.
  • Đó là m?t thành ph?n thi?u.
  • Đó là m?t thành ph?n b? hư h?ng.
Đ? t?m nguyên nhân c?a l?i, cô l?p v?n đ?. N?u b?n nh?n đư?c l?i 429 trên m?t máy tính khách hàng, s? d?ng các thông tin sau đ? cô l?p và gi?i quy?t l?i trong các ?ng d?ng Microsoft Office.

Lưu ? M?t s? thông tin sau đây c?ng có th? áp d?ng cho ph?ng không văn ph?ng COM máy ch?. Tuy nhiên, bài vi?t này gi? đ?nh r?ng b?n mu?n t? đ?ng hoá ?ng d?ng văn ph?ng.

Ki?m tra m?

Trư?c khi b?n kh?c ph?c s? c? các l?i, h?y th? đ? cô l?p m?t d?ng m? có th? gây ra v?n đ?.

N?u b?n phát hi?n ra r?ng m?t d?ng m? có th? gây ra s? c?, hoàn thành các th? t?c này:
  • Đ?m b?o r?ng m? s? d?ng r? ràng đ?i tư?ng sáng t?o.

    V?n đ? d? dàng hơn đ? xác đ?nh n?u h? đư?c thu h?p đ? singleaction m?t. Ví d?, tra c?u s? d?ng ti?m ?n đ?i tư?ng t?o ra như là m?t trong nh?ng đi?u sau đây.

    M? m?u 1
    Application.Documents.Add 'DON'T USE THIS!!
    M? m?u 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add
    C? hai c?a các m?u m? s? d?ng sáng t?o đ?i tư?ng ti?m ?n. MicrosoftOffice Word 2003 không B?t đ?u cho đ?n khi bi?n đư?c g?i là ít nh?t m?t th?i gian.B?i v? các bi?n có th? đư?c g?i là trong các b? ph?n khác nhau c?a chương tr?nh, theproblem có th? đư?c khó khăn đ? xác đ?nh v? trí. Nó có th? đư?c khó khăn đ? xác minh cho dù theproblem gây ra khi đ?i tư?ng ?ng d?ng đư?c t?o ra orwhen đ?i tư?ng tài li?u đư?c t?o ra.

    Thay vào đó, b?n canmake r? ràng cu?c g?i đ? t?o ra m?i đ?i tư?ng m?t cách riêng bi?t, như sau.
    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add
    Khi b?n th?c hi?n các cu?c g?i r? ràng đ? t?o ra m?i đ?i tư?ng m?t cách riêng bi?t, theproblem là d? dàng hơn đ? cô l?p. Đi?u này c?ng có th? làm cho m? d? dàng hơn đ? đ?c.
  • S? d?ng các ch?c năng CreateObject thay th? ofusing các nhà đi?u hành m?i khi b?n t?o m?t th? hi?n c?a ?ng d?ng anOffice.

    CreateObject functionclosely b?n đ? tr?nh t?o h?u h?t Microsoft Visual C ++ khách hàng s? d?ng.Ch?c năng CreateObject c?ng cho phép thay đ?i trong CLSID c?a máy ch? gi?a phiên b?n. B?n có th? s? d?ng ch?c năng CreateObjectv?i đ?u gi?i h?n trên các đ?i tư?ng và v?i cu?i b? gi?i h?n trên các đ?i tư?ng.
  • Xác minh r?ng chu?i "ProgID" đư?c thông qua đ?CreateObject là chính xác, và sau đó h?y ch?c ch?n r?ng chu?i "ProgID" có phiên b?n đ?c l?p. Ví d?, s? d?ng stringinstead "Excel.Application" c?a vi?c s? d?ng các chu?i "Excel.Application.8". H? th?ng mà không mayhave Phiên b?n c? hơn c?a Microsoft Office ho?c phiên b?n m?i hơn c?a MicrosoftOffice hơn các phiên b?n mà b?n đ? ch? đ?nh trong chu?i "ProgID".
  • S? d?ng l?nh Erl đ? báo cáo linenumber d?ng m? mà không thành công. Đi?u này có th? giúp b?n debugapplications mà không th? ch?y trong IDE. M? sau đây cho b?n đ?i tư?ngt? đ?ng hóa mà không th? đư?c t?o ra (Microsoft Word orMicrosoft Office Excel 2003):
    Dim oWord As Word.Application
     	Dim oExcel As Excel.Application
     	
     	On Error Goto err_handler
     	
     	1: Set oWord = CreateObject("Word.Application")
     	2: Set oExcel = CreateObject("Excel.Application")
     	
     	' ... some other code
     	
     	err_handler:
     	  MsgBox "The code failed at line " & Erl, vbCritical
    S? d?ng các ch?c năng MsgBox và s? d?ng đ? trackthe l?i.
  • S? d?ng cu?i gi?i h?n trên như sau:
    Dim oWordApp As Object
    Đ?u b? gi?i h?n trên đ?i tư?ng yêu c?u giao di?n tu? ch?nh c?a h? ph?i marshaledacross quá tr?nh ranh gi?i. N?u giao di?n tùy ch?nh không th? đư?c marshaled trongCreateObject ho?c trong New, b?n nh?n đư?c error429. S? d?ng m?t đ?i tư?ng cu?i gi?i h?n trên IDispatch h? th?ng đ?nh ngh?a giao di?n doesnot đó yêu c?u m?t proxy tùy ch?nh đ? đư?c marshaled. S? d?ng m?t đ?i tư?ng cu?i b? gi?i h?n trên đ? verifywhether th? t?c này ho?t đ?ng m?t cách chính xác.

    N?u v?n đ? x?y ra onlywhen các đ?i tư?ng là đ?u b? gi?i h?n trên, v?n đ? là trong ?ng d?ng máy ch?.Thông thư?ng, b?n có th? cài đ?t chuyên bi?t l?i ?ng d?ng như đư?c di?n t? trong ph?n "Ki?m tra theAutomation Server" c?a bài vi?t này đ? kh?c ph?c s? c?.

Ki?m tra các máy ch? t? đ?ng hóa

Nguyên nhân ph? bi?n nh?t cho m?t l?i x?y ra v?i CreateObject ho?c v?i New là m?t v?n đ? v?i các ?ng d?ng máy ch?. Thông thư?ng, c?u h?nh c?a các ?ng d?ng ho?c các thi?t l?p c?a ?ng d?ng gây ra v?n đ?. Đ? kh?c ph?c s? c?, s? d?ng theo th? t?c:
  • Xác minh r?ng các ?ng d?ng văn ph?ng mà b?n mu?n toautomate đư?c cài đ?t chuyên bi?t trên máy tính đ?a phương. H?y ch?c ch?n r?ng b?n có th? ch?y theapplication. Đ? làm đi?u này, b?m vào B?t đ?u, b?mch?y, và sau đó c? g?ng đ? ch?y các ?ng d?ng. N?u b?n không th? runthe ?ng d?ng theo cách th? công, ?ng d?ng s? không ho?t đ?ng thông qua t? đ?ng hóa.
  • Tái ki?m nh?p ?ng d?ng như sau:
    1. Nh?p vào B?t đ?u, và sau đó nh?p vào ch?y.
    2. Trong hộp thoại Run , g? đư?ng d?n c?a máy ch?, và sau đó thêm / RegServer đ?n cu?i d?ng.
    3. Nh?p vào OK.

      Các ?ng d?ng ch?y âm th?m. ?ng d?ng là tái ki?m nh?p như m?t máy ch? COM.
    N?u v?n đ? x?y ra b?i v? m?t khóa registry là m?t tích, các bư?c sau thư?ng kh?c ph?c s? c?.
  • Ki?m tra LocalServer32 key thu?c CLSID cho theapplication mà b?n mu?n t? đ?ng hoá. H?y ch?c ch?n r?ng keypoints LocalServer32 đ?n v? trí chính xác cho các ?ng d?ng. H?y ch?c ch?n r?ng tên đư?ng d?n là trong m?t đ?nh d?ng ng?n đư?ng d?n (DOS 8.3). B?n không c?n ph?i ki?m nh?p m?t serverby b?ng cách s? d?ng m?t tên đư?ng d?n ng?n. Tuy nhiên, tên con đư?ng dài bao g?m embeddedspaces có th? gây ra v?n đ? trên m?t s? h? th?ng.

    Đ? ki?m tra đư?ng d?n keythat đư?c lưu tr? cho máy ch?, B?t đ?u Windows Registry Editor, như sau:
    1. Nh?p vào B?t đ?u, và sau đó nh?p vào ch?y.
    2. Lo?i regedit, và sau đó nh?p vào OK.
    3. Di chuy?n đ?n chính HKEY_CLASSES_ROOT\CLSID.

      CLSID cho các máy ch? đăng kí t? đ?i di?n đ?ng hóa trên h? th?ng đang khoá này.
    4. S? d?ng các giá tr? sau c?a phím CLSID đ? t?m ch?a khóa đó đ?i di?n cho các ?ng d?ng văn ph?ng mà b?n mu?n t? đ?ng hoá. Ki?m tra phím LocalServer32 phím CLSID cho con đư?ng.
      Thu g?n b?ng nàyBung r?ng b?ng này
      Văn ph?ng máy ch?CLSID phím
      Access.Application{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
      Excel.Application{00024500-0000-0000-C000-000000000046}
      FrontPage.Application {04DF1015-7007-11D1-83BC-006097ABE675}
      Outlook.Application{0006F03A-0000-0000-C000-000000000046}
      PowerPoint.Application{91493441-5A91-11CF-8700-00AA0060263B}
      Word.Application{000209FF-0000-0000-C000-000000000046}
    5. H?y ch?c ch?n r?ng đư?ng d?n phù h?p v?i v? trí th?c t? c?a các t?p tin.
    Lưu ? Tên đư?ng d?n ng?n có v? đúng khi h? không ph?i là chính xác. Forexample, c? hai văn ph?ng và Microsoft Internet Explorer (n?u h? đư?c cài đ?t chuyên bi?t đ?a đi?m m?c đ?nh l?n) có m?t con đư?ng ng?n là tương t? như toC:\PROGRA~1\MICROS~Xđư?c vi?t b?i admin (nơiX là m?t s?). Tên này có th? không ban đ?u appearto là m?t tên đư?ng d?n ng?n.

    Đ? xác đ?nh xem li?u đư?ng d?n chính xác, h?y làm theo các bư?c sau:
    1. Nh?p vào B?t đ?u, và sau đó nh?p vào ch?y.
    2. Sao chép giá tr? t? s? ki?m nh?p, và sau đó dán giá tr? trong hộp thoại ch?y .

      Lưu ? Lo?i b? chuy?n đ?i /automation trư?c khi b?n ch?y các ?ng d?ng.
    3. Nh?p vào OK.
    4. Xác minh r?ng các ?ng d?ng ch?y m?t cách chính xác.

      N?u các ?ng d?ng ch?y sau khi b?n b?m OK, các máy ch? đư?c ki?m nh?p m?t cách chính xác. N?u ?ng d?ng không ch?y sau khi b?n b?m OK, thay th? giá tr? c?a chính LocalServer32 v?i đư?ng d?n chính xác. S? d?ng m?t tên đư?ng d?n ng?n n?u b?n có th?.
  • Ki?m tra có th? tham nh?ng c?a Normal.dot m?u orof t?p tin tài nguyên Excel.xlb. V?n đ? có th? x?y ra khi b?n t? đ?ng MicrosoftWord ho?c Microsoft Excel n?u m?t trong hai Normal.dot các m?u trong Word ho?c theExcel.xlb t?p tin tài nguyên trong Excel b? h?ng. Đ? ki?m tra các t?p tin, tra c?u thelocal ổ đĩa c?ng cho t?t c? các trư?ng h?p c?a Normal.dot ho?c ofExcel.xlb.

    Lưu ? Cho h? th?ng ch?y Microsoft Windows 2000 ho?c cho h? th?ng thatrun Microsoft Windows XP, b?n có th? t?m th?y nhi?u đ?ng g?i c?a các t?p này. Có isone đ?ng g?i c?a m?i c?a các t?p tin cho m?i ngư?i dùng h? sơ đó đư?c cài đ?t chuyên bi?t trên thesystem.

    T?m th?i đ?i tên các t?p tin Normal.dot ho?c Excel.xlbfiles, và sau đó ch?y l?i th? nghi?m t? đ?ng hóa c?a b?n. Word và Excel c? hai t?o ra thesefiles n?u h? không th? t?m th?y chúng. Xác minh r?ng m? ho?t đ?ng. N?u m? workswhen m?t t?p tin Normal.dot m?i đư?c t?o ra, xóa các t?p tin mà b?n đ? đ?i tên. Thesefiles đang b? h?ng. N?u m? không làm vi?c, b?n ph?i đ?i tên filesback đ? t?p đ? đ?t tên tin ban đ?u c?a h? đ? ti?t ki?m b?t k? cài đ?t chuyên bi?t tùy ch?nh nào đư?c lưu t?p tin inthese.
  • N?u h? th?ng c?a b?n ch?y Windows 2000, ch?y ?ng d?ng underthe tài kho?n qu?n tr? viên. Văn ph?ng máy ch? yêu c?u đ?c/ghi truy c?p vào theregistry và ổ đĩa. Văn ph?ng máy ch? có th? không t?i m?t cách chính xác n?u thi?t đ?t b?o m?t yourcurrent t? ch?i đ?c/ghi truy c?p.

Ki?m tra h? th?ng

C?u h?nh h? th?ng c?ng có th? gây ra v?n đ? v?i vi?c ra quá tr?nh COM máy ch? t?o ra. Đ? kh?c ph?c s? c?, s? d?ng các th? t?c sau đây trên h? th?ng nơi mà l?i x?y ra:
  • Xác đ?nh cho dù v?n đ? x?y ra v?i anyout c?a quá tr?nh máy ch?. N?u b?n có m?t ?ng d?ng s? d?ng m?t COMserver đ?c bi?t (ch?ng h?n như t?), ki?m tra m?t máy ch? ra quá tr?nh khác nhau đ? đ?m b?o r?ng v?n đ? không ph?i là v?i các l?p COM chính nó. N?u b?n không th? t?o anout c?a quá tr?nh COM máy ch? trên máy tính, cài đ?t chuyên bi?t l?i OLE h? th?ng t?p asdescribed trong ph?n "Cài đ?t l?i văn ph?ng Microsoft" c?a bài vi?t này orreinstall hệ điều hành đ? gi?i quy?t v?n đ?.
  • Ki?m tra các s? phiên b?n cho OLE h? th?ng t?p thatmanage t? đ?ng. Nh?ng t?p tin này thư?ng đư?c cài đ?t chuyên bi?t như là m?t t?p h?p. Nh?ng con s? filesmust xây d?ng phù h?p. Có m?t ti?n ích đư?c c?u h?nh không đúng thi?t l?p th? mistakenlyinstall các t?p tin m?t cách riêng bi?t. Đi?u này gây ra các t?p tin đư?c không kh?p. Đ? avoidproblems v?i t? đ?ng hóa, ki?m tra các t?p tin đ? đ?m b?o r?ng t?p tin buildsare k?t h?p.

    Các t?p tin t? đ?ng hóa đư?c đ?t trong Windows\System32directory ho?c trong m?c tin thư thoại Winnt\System32. Ki?m tra các followingfiles.
    Thu g?n b?ng nàyBung r?ng b?ng này
    t?p đ? đ?t tên tinPhiên b?nNgày s?a đ?i
    Asycfilt.dll3.50.5014Tháng chín 04,2002
    Oleaut32.dll3.50.5016Tháng chín 04,2002
    Olepro32.dll5.0.5014Tháng chín 04,2002
    Stdole2.TLB3.0.5014Tháng chín 04,2002
    Đ? ki?m tra phiên b?n t?p tin, b?m chu?t ph?i vào filein Window Explorer, và sau đó b?m thu?c tính. Thông báo thelast b?n ch? s? c?a phiên b?n t?p tin (s? xây d?ng) và ngày thefile đó l?n cu?i. Đ?m b?o r?ng các giá tr? này là gi?ng nhau cho t?t c? các t?p tin theautomation.

    Lưu ? S? phiên b?n trư?c đó và nh?ng ngày trư?c đó là retrievedfrom máy tính s? d?ng m?t máy tính Windows Server 2003 v?i văn ph?ng 2003installed. Nh?ng con s? và ngày ch? đư?c s? d?ng như là ví d?. Giá tr? c?a b?n có th? khác nhau.

    N?u các t?p tin không phù h?p v?i xây d?ng s? ho?c themodified ngày, t?i v? m?t ti?n ích t? gi?i nén C?p Nh?t c?a b?n automationfiles.

    Đ? bi?t thêm chi ti?t v? làm th? nào đ? truy c?p các t?p tin th?i gian ch?y, b?m s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
    235420 Vbrun60sp4.exe cài đ?t chuyên bi?t Visual Basic 6.0 SP4 th?i gian ch?y t?p tin
  • S? d?ng ti?n ích c?u h?nh h? th?ng (Msconfig.exe) đ? ki?m tra kh?i đ?ng b?n ghi d?ch v? và h? th?ng cho các ?ng d?ng bên th? ba có th? h?n ch? ch?y m? trong các ?ng d?ng văn ph?ng. Đ? bi?t thêm chi ti?t v? Msconfig.exe, nh?p vào s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
    310560 Làm th? nào đ? kh?c ph?c s? c? c?u h?nh l?i b?ng cách s? d?ng các ti?n ích c?u h?nh h? th?ng trong Windows XP
    Ví d?, ?ng d?ng t? đ?ng hóa Outlook có th? không b?i v? b?n đang ch?y m?t chương tr?nh ch?ng vi-rút có tính năng "k?ch b?n ch?n".

    Lưu ? Ch? vô hi?u hóa chương tr?nh ch?ng vi-rút t?m th?i trên m?t h? th?ng th? nghi?m không đư?c k?t n?i v?i m?ng.

    Ngoài ra, h?y làm theo các bư?c sau trong Outlook đ? vô hi?u hóa bên th? ba add-in:
    1. Trên menu công c? , b?m vào tu? ch?n.
    2. Trên tab khác , b?m vào Tùy ch?n nâng cao.
    3. Trong hộp thoại Tùy ch?n nâng cao , nh?p vào Add-In qu?n l?.
    4. B?m đ? b? ch?n hộp kiểm cho b?t k? bên th? ba add-in.
    5. Kh?i đ?ng l?i Outlook.
    N?u phương pháp này gi?i quy?t v?n đ?, liên h? v?i nhà cung c?p ch?ng virus bên th? ba đ? bi?t thêm thông tin v? m?t C?p Nh?t cho chương tr?nh ch?ng vi-rút.

cài đ?t chuyên bi?t l?i văn ph?ng

N?u không ai trong s? các th? t?c trư?c gi?i quy?t v?n đ?, lo?i b? văn ph?ng và sau đó cài đ?t chuyên bi?t l?i văn ph?ng. Microsoft khuy?n cáo r?ng b?n g? b? phiên b?n hi?n t?i đ?u tiên, và sau đó cài đ?t chuyên bi?t l?i văn ph?ng b?ng cách s? d?ng đ?a cài đ?t chuyên bi?t ban đ?u.

Đ? 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:
219423 Làm th? nào đ? lo?i b? Office 2000 CD1
158658 Làm th? nào đ? hoàn toàn lo?i b? Microsoft văn ph?ng 97

Tham kh?o

Đ? bi?t thêm chi ti?t v? kh?c ph?c s? c? l?i '429', nh?p vào s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
240377 Làm th? nào đ? đ?m b?o máy bay ph?n l?c 3.5 đư?c cài đ?t chuyên bi?t đúng (ph?n I)
Đ? bi?t thêm chi ti?t v? văn ph?ng t? đ?ng hóa và m?u m?, ghé thăm Web site sau c?a Microsoft:
http://support.Microsoft.com/ofd

Thu?c tính

ID c?a bài: 828550 - L?n xem xét sau cùng: 23 Tháng Mười Một 2013 - Xem xét l?i: 5.0
Áp d?ng
  • Microsoft Office Excel 2007
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Word 2007
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
T? khóa: 
kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 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 thu?t của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa l?i thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung c?p các bài vi?t đư?c c? biên d?ch viên và ph?n m?m d?ch thu?t th?c hi?n và c?ng đ?ng ch?nh s?a l?i đ? 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 nhi?u ngôn ng? Tuy nhiên, bài vi?t do máy d?ch hoặc thậm chí cộng đồng chỉnh sửa sau không ph?i lúc nào c?ng hoàn h?o. Các 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, 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.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 828550

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