Korzystając z przykładu podanego w codeproject, staram się ustalić, gdzie mogę znaleźć odniesienie do biblioteki Microsoft.Office.Core.
Otrzymuję błąd „Nie można znaleźć wskazanego składnika 'Microsoft.Office.Core'.”
Mam tylko Office 2007 Enterprise Edition i Outlook 2003 zainstalowane w tym systemie. Czy to może być tego przyczyną? W przeciwnym razie do której konkretnej biblioteki dll mam się odwoływać?
Odpowiedzi:
Możesz dodać odwołanie do
Microsoft.Office.Core
z karty komponentów COM w oknie dodawania odwołania, dodając odwołanie doMicrosoft Office 12.0 Object Library
. Zrzut ekranu pokaże, jakiego komponentu potrzebujesz.źródło
Żadna z powyższych odpowiedzi nie pomogła mi, korzystałem z Visual Studio 2017. Zainstalowałem Office / SharePoint Development za pomocą Visual Studio Installer.
Potem mogłem zobaczyć „biuro”, ten zestaw zawiera Microsoft.Office.Core.
Mam nadzieję, że to ci pomoże.
źródło
Musisz pobrać i zainstalować PIA (podstawowe zestawy międzyoperacyjne) dla używanej wersji pakietu Office. Po zainstalowaniu możesz dodać odniesienie do swojego projektu, które będzie dostępne w oknie dialogowym dodawania odniesienia. Oto linki do ich pobrania ...
Pakiet Office 2010 PIA
Office 2007 PIA
Office 2003 PIA
źródło
Jeśli ktoś nie ma odniesienia w .NET. COM (tab) lub nie mieć zainstalowanego pakietu Office na komputerze, na którym zainstalowano Visual, może wykonać:
Dodaj referencje z:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15
źródło
Po zainstalowaniu pakietu Office PIA (podstawowe zestawy międzyoperacyjne) dodaj odniesienie do projektu -> jego na karcie .NET - nazwa składnika „Office”
źródło
Teraz jest do tego pakiet nuget.
https://www.nuget.org/packages/NetOffice.Core.Net40/
Najpierw nie znalazłem biura w COM, więc wypróbowałem ten nuget i zadziałało!
źródło
Czy faktycznie przejrzałeś odniesienia i dodałeś odwołanie .NET do biblioteki „Microsoft.Office.Core”? Jeśli pobrałeś przykładową aplikację, odpowiedź brzmiałaby: tak. W takim przypadku postępuj zgodnie z radą zawartą w artykule:
To powinno rozwiązać twój problem. Jeśli nie, daj nam znać.
źródło
Jeśli używasz programu Visual Studio 2012, aby to zadziałało i aby odwołać się do Microsoft Office Core, musisz utworzyć odwołanie za pośrednictwem programu Visual Studio, klikając przycisk Projekt, Dodaj odniesienie, Rozszerzenia w górnym menu i sprawdzając biuro, które jest teraz (14,0).
źródło
Jeśli nie możesz znaleźć PIA dla Office 2013, wykonaj następujące kroki:
Gotowe.
źródło
Możesz użyć tego pakietu NuGet, który zawiera zestawy międzyoperacyjne oprócz zestawu biurowego.
https://www.nuget.org/packages/Bundle.Microsoft.Office.Interop/
źródło
Napotkałem ten sam problem, gdy próbowałem otworzyć mój stary projekt C # w wersji Visual Studio 2017. Ten problem pojawia się zwykle podczas próby otwarcia projektu utworzonego w poprzedniej wersji programu VS i otwarcia go w najnowszej wersji. co zrobiłem, to otworzyłem projekt i usunąłem odniesienie z mojego projektu, a następnie dodałem bibliotekę obiektów Microsoft Outlook 12.0 i bibliotekę obiektów Microsoft Office 12.0 Biblioteka obiektów Microsoft Outlook 12.0
źródło
Otwórz właściwości rozwiązania i kliknij publikuj. Następnie ponownie kliknij pliki aplikacji. Zmień warunek wstępny, aby uwzględnić.
źródło
Mam ten sam problem. Poszedłem do Dodaj referencje, kartę COM, wybierz bibliotekę Microsoft Office 15.0 Objetct. Ok, i mój problem się kończy.
część mojego kodu to:
EXCEL.Range rango; rango = (EXCEL.Range)HojadetrabajoExcel.get_Range("AE13", "AK23"); rango.Select(); // EXCEL.Pictures Lafoto = (EXCEL.Pictures).HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value); EXCEL.Pictures Lafoto = HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value); HojadetrabajoExcel.Shapes.AddPicture(@"D:\GENETICA HUMANA\Reportes\imagenes\" + Variables.nombreimagen, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, float.Parse(rango.Left.ToString()),float.Parse(rango.Top.ToString()), float.Parse(rango.Width.ToString()), float.Parse(rango.Height.ToString()));
źródło