Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Подключение библиотек Word


Автор: ImBa2la 12.4.2011, 15:34
Доброго времени суток, возникла проблема, ищу решение ...

Использую VisualStudio 2008, есть необходимость работы с вордовским документом програмно (открыть, прочитать данные в массив, закрыть), как это сделать - подключить библиотеку в Reference Microsoft.Office.Interrop.Word, прописать пространства имен
Код

using namespace System;
using namespace System::Reflection; // For Missing.Value and BindingFlags
using namespace System::Runtime::InteropServices; // For COMException
using namespace Microsoft::Office::Core;
using namespace Microsoft::Office::Interop::Word;


и по идее радоваться жизни, но тут вылетают ошибки. Если приложение ВинФорм - 23 штуки подобного содержания:
Код

1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(24) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(46) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(53) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(87) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(87) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(87) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(62) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(67) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(69) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(73) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(77) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(78) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(79) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>c:\users\imba2la\documents\visual studio 2008\projects\test_word\test_word\test_word\Form1.h(88) : error C2440: '<function-style-cast>' : cannot convert from 'const char [7]' to 'System::Windows::Forms::MessageBox'
1>        No constructor could take the source type, or constructor overload resolution was ambiguous
1>.\test_word.cpp(9) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>predefined C++ types (compiler internal)(11) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>        .\test_word.cpp(9) : see reference to class template instantiation 'cli::array<Type>' being compiled
1>        with
1>        [
1>            Type=System::String ^
1>        ]
1>.\test_word.cpp(12) : error C2872: 'Application' : ambiguous symbol
1>        could be 'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::Application'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::Application'
1>.\test_word.cpp(12) : error C2039: 'EnableVisualStyles' : is not a member of 'Microsoft::Office::Interop::Word::Application'
1>        c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : see declaration of 'Microsoft::Office::Interop::Word::Application'
1>.\test_word.cpp(12) : error C3861: 'EnableVisualStyles': identifier not found
1>.\test_word.cpp(13) : error C2872: 'Application' : ambiguous symbol
1>        could be 'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::Application'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::Application'
1>.\test_word.cpp(13) : error C2039: 'SetCompatibleTextRenderingDefault' : is not a member of 'Microsoft::Office::Interop::Word::Application'
1>        c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : see declaration of 'Microsoft::Office::Interop::Word::Application'
1>.\test_word.cpp(13) : error C3861: 'SetCompatibleTextRenderingDefault': identifier not found
1>.\test_word.cpp(16) : error C2872: 'Application' : ambiguous symbol
1>        could be 'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::Application'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::Application'
1>.\test_word.cpp(16) : error C2660: 'Microsoft::Office::Interop::Word::_Application::Run' : function does not take 1 arguments



если CLR консольное всего 2 подобного содержания:

Код

1>.\test.cpp(10) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>predefined C++ types (compiler internal)(11) : error C2872: 'System' : ambiguous symbol
1>        could be 'System'
1>        or       'c:\program files\microsoft visual studio 9.0\visual studio tools for office\pia\office12\microsoft.office.interop.word.dll : Microsoft::Office::Interop::Word::System'
1>        .\test.cpp(10) : see reference to class template instantiation 'cli::array<Type>' being compiled
1>        with
1>        [
1>            Type=System::String ^
1>        ]


тут есть одно возможно простое объяснение, ворд у меня 2010, а судя по описанию библиотек, расчитаны они на 2003, 2007 ворд (Office 11 и 12 соответственно), 

тогда вопрос может ли кто посодействовать в обнаружении нужной библиотеки или подсказать выход из сего положения?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)