2012-01-10 4 views
3

В настоящее время я работаю над очень старый проект, который основан на Delphi 5. Когда я пытаюсь открыть новый документ Word, на x64 системе, я Получать эту ошибку:Запуск Word, x64 в Delphi

Error

Согласно MSDN, источником проблемы может быть версия моего Office (x64). В приложении мы используем объект TWordApplication для управления вызовом Word. Есть ли решение для этой проблемы? В Office x86 все работает нормально.

Это часть кода:

Word := TWordApplication.Create(nil); 
Word.ConnectKind := ckNewInstance; 
Word.AutoQuit := True; 
Word.Connect; 
Word.Options.CheckSpellingAsYouType := False; 
Word.Options.CheckGrammarAsYouType := False; 
Word.Options.SuggestSpellingCorrections := False; 
Word.Options.CheckGrammarWithSpelling := False; 
Word.Options.ShowReadabilityStatistics := False; 
Word.Options.IgnoreInternetAndFileAddresses := False; 
Word.Options.IgnoreUppercase := True; 
Word.Options.IgnoreMixedDigits := True; 
Word.Options.ReplaceSelection := True; 
+0

Предоставляет ли Microsoft возможность установки как x86, так и x64 версий Office? –

+0

@marcus нет, что невозможно –

ответ

4

Проблема, как представляется, в коде VBA прилагается к документу, а не кода Delphi. В частности, подразумевается скрытый модуль с именем API. Возможно, это шаблон или надстройка или автоматический запуск.

Скрытые модули защищены, что предполагает, что вы не сможете модифицировать модуль. Вы можете попытаться связаться с автором защищенного модуля или, возможно, удалить все, что было введено этим модулем.

Возвращение к 32-разрядному Office - это более легкое решение. Это потребует, чтобы вы удалили 64-битный Office сначала, поскольку два издания не сосуществуют.

+0

Возможно, это более простое решение, но я не могу быть уверен, что все клиенты используют Ofiice в версии x86 :-) – matyyyy

+0

В этом случае вам нужно выяснить, что это за модуль API, где он исходит из того, и как с этим бороться. –

+1

Я нашел API-модуль, теперь мне нужно изучить VB :-) – matyyyy

Смежные вопросы