Доброго времени суток, возникла проблема, ищу решение ... Использую 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 соответственно), тогда вопрос может ли кто посодействовать в обнаружении нужной библиотеки или подсказать выход из сего положения?
|