Otrzymasz błąd 429 podczas automatyzowania aplikacji pakietu Office

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 828550 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Jeśli jesteś klientem indywidualnym, znaleźć dodatkowe rozwiązywania problemów i dydaktycznych w Wsparcie dla małych firm .
Dla pakietu Microsoft Office XP, Office 2000 i Office 97 wersja tego artykułu zobacz 244264.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Użycie operatora New lub funkcji CreateObject języka Microsoft Visual Basic do utworzenia wystąpienia Microsoft Office aplikacji, może wystąpić następujący błąd komunikat o błędzie:
Błąd wykonania "429": Komponent ActiveX Nie można utworzyć obiektu
Ten błąd występuje, gdy składnik modelu obiektów (COM) nie może utworzyć żądany obiekt automatyzacji , a obiekt automatyzacji zatem jest niedostępna dla języka Visual Basic. Czy ten błąd nie występują na wszystkich komputerach.

W tym artykule opisano sposób diagnozowania i rozwiązania typowych problemów, które mogą być przyczyną tego błędu.

Więcej informacji

W języku Visual Basic istnieje kilka przyczyn błędu 429. Z błąd występuje, jest spełniony jeden z następujących warunków:
  • Występuje błąd w aplikacji.
  • Występuje błąd w konfiguracji systemu.
  • Istnieje brakującego składnika.
  • Ma uszkodzonych części.
Aby znaleźć przyczynę błędu, przyczyną problemu. Jeśli użytkownik o błędzie 429 na komputerze klienckim, użyj następujących informacji do Izolowanie i aby wyeliminować błąd aplikacji pakietu Microsoft Office.

Uwaga Niektóre z następujących informacji może dotyczyć także nienależących do pakietu Office Serwery COM. Jednak w tym artykule założono, że do automatyzacji pakietu Office aplikacje.

Sprawdzić kod

Aby rozwiązać problem, spróbuj określić pojedynczy wiersz kod, który może być przyczyną problemu.

Jeśli użytkownik odkryje, że pojedynczy wiersz kodu może być przyczyną problemu, wykonania tych procedur:
  • Upewnij się, że w kodzie wykorzystano Tworzenie obiektów jawne.

    Problemy są łatwiejsze do rozpoznania, jeśli są one zwężone do pojedynczego Akcja. Na przykład szukać Użyj tworzenia obiektów niejawna jako jedną z następujących czynności.

    Kod przykładowy 1
    Application.Documents.Add 'DON'T USE THIS!!
    Przykładowy kod 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add
    Oba te przykłady kodu Użyj tworzenia obiektów niejawna. Microsoft Nie można uruchomić programu Office Word 2003, aż do zmiennej jest wywoływana co najmniej jeden raz. Ponieważ zmienna może zostać wywołana w różnych częściach programu, problem może być trudne do zlokalizowania. Może być trudne do sprawdzenia, czy problem powstaje, gdy tworzony jest obiekt aplikacji lub Po utworzeniu obiektu dokumentu .

    Zamiast tego można wykonywanie wywołań jawne do utworzenia każdego obiektu osobno, w następujący sposób.
    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add
    Po wprowadzeniu jawnych wywołań do utworzenia każdego obiektu osobno, problem jest łatwiejsza do izolowania. To może też czytelność kodu.
  • Funkcja CreateObject zamiast za pomocą operatora New , podczas tworzenia instancji Aplikacja pakietu Office.

    Funkcja CreateObject ściśle mapy procesu tworzenia, używanego przez większość klientów Microsoft Visual C++. Funkcja CreateObject pozwala również zmiany w identyfikator CLSID Serwer między wersjami. Można użyć CreateObject Funkcja z wczesnym wiązaniem obiektów i obiekty późnym wiązaniem.
  • Sprawdź, czy ciąg "ProgID", który jest przekazywany do Metoda CreateObject jest poprawny, a następnie sprawdź, czy "ProgID" ciąg jest niezależna wersja. Na przykład użyć ciągu "Excel.Application" Zamiast używać ciągu "Excel.Application.8". System, który nie może starsza wersja pakietu Microsoft Office lub nowszej wersji programu Microsoft Office niż określony w ciągu "ProgID" wersja.
  • Raport wiersza za pomocą polecenia Erl Liczba linii kodu, który kończy się niepowodzeniem. Może to pomóc debug aplikacje, które nie można uruchomić w IDE. Poniższy kod informuje, które Nie można utworzyć obiektu automatyzacji (program Microsoft Word lub Program Microsoft 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
    Należy użyć funkcji MsgBox i numer wiersza do śledzenia Wystąpił błąd.
  • Użyć późnego wiązania w następujący sposób:
    Dim oWordApp As Object
    Obiekty wcześnie wiązanej wymagają ich interfejsów niestandardowych można zorganizować ponad granicami procesu. Jeśli interfejs niestandardowy nie mogą być przekazywane podczas Metoda CreateObject lub w nowymbłędzie 429. Obiektu późnym wiązaniem używa interfejsu IDispatch zdefiniowanych przez system interfejs, który ma nie wymagają serwera proxy niestandardowy można zorganizować. Użyj obiektu późnym wiązaniem, aby sprawdzić czy ta procedura działa poprawnie.

    Jeśli problem występuje tylko gdy obiekt jest wczesnym wiązaniem, problem jest w aplikacji serwera. Zazwyczaj można ponownie zainstalować aplikację zgodnie z opisem w "badanie Serwer automatyzacji"części tego artykułu, aby rozwiązać ten problem.

Sprawdź serwer automatyzacji

Najczęstszym powodem błędu wystąpić z CreateObject lub z nowym jest problem z aplikacją serwera. Zazwyczaj Konfiguracja aplikacji lub ustawieniach przyczyny aplikacji Wystąpił problem. Rozwiązywać problemy, użyj następujących procedur:
  • Sprawdź, czy aplikacji pakietu Office, który ma być zautomatyzować jest zainstalowany na komputerze lokalnym. Upewnij się, że można uruchomić aplikacja. Aby to zrobić, kliknij przycisk Start, kliknij przyciskUruchom, a następnie spróbuj uruchomić aplikację. Jeśli nie można uruchomić Aplikacja ręcznie, aplikacja nie będzie działać poprzez automatyzację.
  • Należy ponownie zarejestrować aplikację w następujący sposób:
    1. Kliknij przycisk Start, a następnie kliknij przycisk Uruchom.
    2. W Uruchom okno dialogowe, wpisz ścieżkę serwer a następnie dołącz / RegServer na koniec wiersz.
    3. Kliknij przycisk OK.

      Aplikacja dyskretne. Aplikacja jest ponownie zarejestrowany jako serwer COM.
    Jeśli problem występuje, ponieważ brakuje klucza rejestru kroki te zazwyczaj rozwiązać problem.
  • Bada klucz LocalServer32 w obszarze identyfikator CLSID aplikacji, które mają być zautomatyzowane. Upewnij się, że klucz LocalServer32 punkty do właściwej lokalizacji dla aplikacji. Upewnij się, że ścieżka Nazwa jest w formacie krótkim ścieżki (DOS 8.3). Nie masz zarejestrować serwer przy użyciu krótkiej nazwy ścieżki. Jednakże nazwy długie ścieżki, które zawierają osadzone spacje może powodować problemy w niektórych systemach.

    Aby zbadać klucz ścieżki który jest przechowywany na serwerze, uruchom Edytor rejestru systemu Windows, w następujący sposób:
    1. Kliknij przycisk Start, a następnie kliknij przycisk Uruchom.
    2. Typ regedit, a następnie kliknij przycisk OK.
    3. Przenieś do klucza HKEY_CLASSES_ROOT\CLSID.

      Z CLSID dla serwerów automatyzacji zarejestrowanych w systemie znajdują się pod tym .
    4. Zastosuj następujące wartości klucza CLSID znaleźć Klucz reprezentujący aplikacji pakietu Office, które mają być zautomatyzowane. Zbadać klucz LocalServer32 klucz CLSID dla ścieżki.
      Zwiń tę tabelęRozwiń tę tabelę
      Serwer pakietu OfficeKlucz CLSID
      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. Upewnij się, że ścieżka odpowiada rzeczywistej lokalizacji plik.
    Uwaga Krótka ścieżka nazw może wydawać się poprawne, gdy nie są one poprawne. Dla przykład pakietu Office i Microsoft Internet Explorer (jeśli są one zainstalowane w Krótka ścieżka, która jest podobna do mają ich lokalizacji domyślnych) C:\PROGRA~1\MICROS~X\ (gdzieX jest to liczba). Ta nazwa nie może początkowo wyświetlana Aby być krótkiej nazwy ścieżki.

    Aby ustalić, czy ścieżka jest poprawna, wykonaj następujące kroki:
    1. Kliknij przycisk Start, a następnie kliknij przycisk Uruchom.
    2. Skopiować wartość z rejestru, a następnie wklej wartość w Uruchom okno dialogowe.

      Uwaga Usuń /Automation Przełącz przed uruchomieniem aplikacja.
    3. Kliknij przycisk OK.
    4. Sprawdź, czy aplikacja działa poprawnie.

      If Aplikacja zostanie uruchomiona po kliknięciu przycisku OK, serwer jest poprawnie zarejestrowany. Jeśli aplikacja nie jest uruchamiany po kliknięciu przycisku OK, zastąp wartość klucz LocalServer32 z poprawna ścieżka. Jeśli to możliwe, należy użyć krótkiej nazwy ścieżki.
  • Test na uszkodzenie szablonu Normal.dot lub Plik zasobów Excel.xlb. Mogą wystąpić problemy podczas automatyzacji programu Microsoft Word lub Microsoft Excel, jeżeli jeden szablon Normal.dot w programie Word lub Plik Excel.xlb zasobów w programie Excel jest uszkodzony. Aby przetestować te pliki, wyszukiwanie lokalne dyski twarde dla wszystkich wystąpień pliku Normal.dot lub z Excel.xlb.

    Uwaga Dla systemów z systemem Microsoft Windows 2000 lub dla systemów który System Microsoft Windows XP, można znaleźć wiele kopii tych plików. Istnieje jedną kopię każdego z tych plików dla każdego profilu użytkownika, które są zainstalowane na System.

    Tymczasowo zmień nazwę pliku Normal.dot lub Excel.xlb. pliki, a następnie ponownie uruchom test automatyzacji. Tworzyć programy Word i Excel pliki, jeśli nie można ich znaleźć. Sprawdź, czy kod działa. Jeśli kod działa Podczas tworzenia nowego pliku Normal.dot, usunąć pliki, których nazwy zostały zmienione. Te pliki są uszkodzone. Jeśli kod nie działa, należy zmienić nazwy tych plików Powrót do ich oryginalnych nazw plików, aby zapisać wszystkie ustawienia niestandardowe, które są zapisane w te pliki.
  • Jeśli Twój system jest uruchamiany system Windows 2000, należy uruchomić aplikację w obszarze konto administratora. Dla serwerów pakietu Office wymagają dostęp do odczytu i zapisu rejestru oraz do stacji dysków. Dla serwerów pakietu Office nie może załadować poprawnie, jeśli Twój bieżące ustawienia zabezpieczeń Odmowa dostępu do odczytu i zapisu.

Sprawdź system

Konfiguracja systemu mogą również powodować problemy z Tworzenie serwerów COM Out-of-process. Aby rozwiązać problemy, użyj następujących opcji procedury w systemie, w którym występuje błąd:
  • Określić, czy problem występuje z żadnym Serwer Out-of-process. Jeśli aplikacja używa określonego modelu COM Upewnij się, że inny serwer out-of-process test serwera (na przykład Word), problem nie jest sama warstwa COM. Jeśli nie można utworzyć out-of-process serwera COM na tym komputerze, zainstaluj ponownie jako pliki systemowe OLE opisano w sekcji "Ponowne zainstalowanie pakietu Microsoft Office" tego artykułu lub ponownie zainstalować system operacyjny, aby rozwiązać ten problem.
  • Zbadać numery wersji do plików z systemem OLE Zarządzanie automatyzacji. Pliki te są zazwyczaj instalowane jako zestaw. Te pliki numery kompilacji musi być zgodny. Narzędzie nieprawidłowo skonfigurowane ustawienia można przez pomyłkę pliki instalowane oddzielnie. Powoduje to plików, które będą niezgodne. Aby uniknąć problemy z automatyzacji, przejrzyj pliki, aby upewnić się, że tworzy pliki są dopasowywane.

    Pliki automatyzacji znajdują się w Windows\System32 katalogu lub w katalogu Winnt\System32. Należy sprawdzić następujące pliki.
    Zwiń tę tabelęRozwiń tę tabelę
    Nazwa plikuWersjaData modyfikacji
    Asycfilt.dll3.50.501404 Września 2002
    Oleaut32.dll3.50.501604 Września 2002
    Olepro32.dll5.0.501404 Września 2002
    Stdole2.tlb3.0.501404 Września 2002
    Aby sprawdzić wersję pliku, kliknij prawym przyciskiem myszy plik w Eksploratorze Windows, a następnie kliknij przycisk Właściwości. Ogłoszenie ostatnie cztery cyfry wersji pliku (numer kompilacji) oraz datę, który ostatniej modyfikacji pliku. Upewnij się, że te wartości są takie same dla wszystkich pliki automatyzacji.

    Uwaga Pobierane są wcześniejszych numery wersji oraz daty wcześniejszej z komputera, który używa komputera systemu Windows Server 2003 z pakietem Office 2003 zainstalowany. Te numery i daty służą tylko jako przykłady. Wartości mogą być różne.

    Jeśli pliki są niezgodne z numerów kompilacji lub zmodyfikowane daty, Pobierz samowyodrębniający się narzędzie, które aktualizuje automatyzacji pliki.

    Aby uzyskać więcej informacji na temat dostępu do plików run-time, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    235420Vbrun60sp4.exe instaluje pliki czasu wykonania Visual Basic 6.0 z dodatkiem SP4
  • Użyj narzędzia konfiguracji systemu (Msconfig.exe) uruchamiania systemu i usług dla aplikacji innych firm, które mogą ograniczać uruchamianie kodu w aplikacji pakietu Office. Aby uzyskać więcej informacji na temat Msconfig.exe kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
    310560Jak rozwiązywać problemy konfiguracji za pomocą narzędzia konfiguracji systemu w systemie Windows XP
    Na przykład automatyzacji programu Outlook mogą nie działać aplikacje ponieważ jest uruchomiony program antywirusowy, który posiada funkcje "script blocker".

    Uwaga Tylko wyłączyć program antywirusowy tymczasowo w systemie testowym, który nie jest połączony z siecią.

    Alternatywnie wykonaj następujące kroki w programie Outlook, aby wyłączyć dodatki innych firm:
    1. Na Narzędzia menu, kliknij przycisk Opcje.
    2. Na Inne Kliknij przycisk Opcje zaawansowane.
    3. W Opcje zaawansowane okno dialogowe, kliknij przycisk Menedżer dodatków.
    4. Kliknij, aby wyczyścić pole wyboru dla wszelkich innych dodatków.
    5. Uruchom ponownie program Outlook.
    Jeśli ta metoda rozwiązuje ten problem, skontaktuj się z innych dostawców oprogramowania antywirusowego, aby uzyskać więcej informacji na temat aktualizacji do programu antywirusowego.

Zainstaluj ponownie pakiet Office

Jeśli żaden z powyższych procedur rozwiązać ten problem, Usuń Office, a następnie ponownie zainstalować pakiet Office. Firma Microsoft zaleca, aby usunąć najpierw istniejącej wersji, a następnie ponownie zainstalować pakiet Office przy użyciu oryginalnego dyski instalacyjne.

Aby uzyskać więcej informacji, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
219423Jak usunąć dysk CD1 pakietu Office 2000
158658 Jak całkowicie usunąć program Microsoft Office 97

Materiały referencyjne

Aby uzyskać więcej informacji dotyczących rozwiązywania problemów z "429" Błąd wiadomości, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
240377Jak zapewnić Jet 3.5 jest poprawnie zainstalowany (część I)
Aby uzyskać więcej informacji na temat pakietu Office Automatyzacja i przykłady kodu, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://support.microsoft.com/ofd

Właściwości

Numer ID artykułu: 828550 - Ostatnia weryfikacja: 7 czerwca 2013 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • 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
Słowa kluczowe: 
kbExpertiseBeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.
Anglojęzyczna wersja tego artykułu to: 828550

Przekaż opinię

 

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