Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

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

Hỗ trợ dành cho Office 2003 đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Office 2003 vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và các tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

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
Để 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.
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 codeoWordApp.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.ApplicationDim oDoc As Word.DocumentSet oWordApp = CreateObject("Word.Application")'... some other codeSet 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.
      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.
    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:
ACC2007 XL2007 SPD2007 WD2007 OL2007 PPT2007

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 828550 - Xem lại Lần cuối: 11/23/2013 20:55:00 - Bản sửa đổi: 5.0

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

  • kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 KbMtvi
Phản hồi