En introduktion till VSTO för Microsoft Excel
Innehållsförteckning
- Inledning
- Vad är VSTO?
- Bakgrundsinformation om Excel-objektmodellen
3.1 Huvudobjekten i Excel-objektmodellen
3.2 Hierarki i Excel-objektmodellen
- Arbeta med Excel-applikationen
4.1 Uppdatera statusfältet
4.2 Beräkna ark eller alla öppna arbetsböcker
4.3 Använda Excel-funktioner i kod
4.4 Kontrollera zoomnivån i Excel-applikationen
4.5 Anpassa visningsinställningar för Excel-applikationen
- Arbeta med arbetsböcker
5.1 Skapa och öppna arbetsböcker
5.2 Hämta referenser till arbetsböcker
5.3 Spara och stänga arbetsböcker
5.4 Loopa genom öppna arbetsböcker
- Arbeta med arbetsblad
6.1 Skapa ett nytt arbetsblad
6.2 Hämta referenser till arbetsblad
6.3 Byta namn, omorganisera och ta bort arbetsblad
6.4 Loopa genom arbetsblad
- Arbeta med områden
7.1 Hämta referenser till områden
7.2 Läsa och skriva till celler
7.3 Loopa genom områden
7.4 Formatera celler
- Sammanfattning
- Vanliga frågor och svar
👨💼 Inledning
Välkommen till denna artikel från Excel Dev Studio! I denna artikel kommer vi att utforska hur du kan bygga Microsoft Excel-lösningar med VSTO (Visual Studio Tools for Office). Vi kommer att gå igenom olika aspekter av Excel-objektmodellen och hur du kan använda dess huvudobjekt i dina lösningar. Vi kommer också att utforska olika exempel och kodsnippets för att hjälpa dig komma igång med att bygga Excel-lösningar med VSTO. Låt oss börja!
👉 Vad är VSTO?
VSTO står för Visual Studio Tools for Office och är en uppsättning verktyg som gör det möjligt att bygga lösningar för att utöka funktionaliteten i Excel och andra Office-program. Med VSTO kan du skapa anpassade funktioner, användargränssnitt och automatisering för att förbättra användarupplevelsen och effektiviteten i Excel. Genom att använda VSTO kan du bygga på Excel's redan befintliga funktioner och anpassa dem efter dina specifika behov och önskemål.
2. Bakgrundsinformation om Excel-objektmodellen
Excel-objektmodellen är en hierarkisk struktur av olika objekt som gör det möjligt att interagera och styra Excel-applikationen. I följande avsnitt kommer vi att utforska de olika huvudobjekten i Excel-objektmodellen och hur du kan använda dem i dina VSTO-lösningar.
2.1 Huvudobjekten i Excel-objektmodellen
De huvudsakliga objekten i Excel-objektmodellen är:
- Applikationsobjektet representerar själva Excel-applikationen. Genom att använda applikationsobjektet kan du få tillgång till olika information om den körande applikationen och de åtgärder som utförs på objekt som är öppna inom applikationen.
- Workbook-objektet representerar en enskild arbetsbok inom Excel-applikationen. Arbetsboken är en del av Workbooks-samlingen.
- Worksheet-objektet representerar ett enskilt arbetsblad inom en arbetsbok. Det är en medlem av Worksheets-samlingen.
- Range-objektet används för att manipulera och arbeta med ett område i Excel. Det kan representera en enskild cell, en rad, en kolumn eller en markering av celler som kan vara kontinuerliga eller spridda.
2.2 Hierarki i Excel-objektmodellen
Excel-objektmodellen är organiserad i en hierarki, där applikationsobjektet utgör roten. Från applikationsobjektet kan vi få åtkomst till de andra objekten som utgör objektmodellen. Detta innebär att vi kan navigera genom objektmodellen genom att använda punktnotation och referensarbete.
4. Arbeta med Excel-applikationen
För att börja arbeta med Excel-objektmodellen i din VSTO-lösning måste du först få en referens till Excel-applikationen och sedan använda den för att utföra olika åtgärder. I detta avsnitt kommer vi att gå igenom olika exempel på hur du kan arbeta med Excel-applikationen.
4.1 Uppdatera statusfältet
Genom att uppdatera statusfältet kan du visa användardefinierade meddelanden eller information när din kod utförs. Detta kan vara användbart för att kommunicera med användaren och ge feedback om processens framsteg eller status.
För att uppdatera statusfältet använder vi egenskapen StatusBar från applikationsobjektet. Genom att tilldela en sträng till egenskapen kan vi visa ett meddelande på statusfältet. För att rensa statusfältet tilldelar vi en tom sträng till egenskapen.
Globals.ThisAddIn.Application.StatusBar = "Körning av process..."
Globals.ThisAddIn.Application.StatusBar = ""
4.2 Beräkna ark eller alla öppna arbetsböcker
I Excel kan du välja att beräkna ett enskilt ark eller alla öppna arbetsböcker. Detta kan vara användbart om du behöver att kalkylera formler eller uppdatera data i dina arbetsböcker.
För att beräkna ett enskilt ark använder vi Calculate-metoden från Worksheet-objektet. Genom att anropa metoden kan vi tvinga Excel att beräkna alla formler och uppdatera värdena i det aktuella arket.
Globals.ThisAddIn.Application.ActiveSheet.Calculate()
För att beräkna alla öppna arbetsböcker använder vi CalculateFullRebuild-metoden från Application-objektet. Genom att anropa metoden kan vi tvinga Excel att beräkna alla formler för alla öppna arbetsböcker.
Globals.ThisAddIn.Application.CalculateFullRebuild()
4.3 Använda Excel-funktioner i kod
Excel har ett brett utbud av inbyggda funktioner som kan vara mycket användbara för att utföra olika beräkningar och manipuleringar av data. I din VSTO-kod kan du använda dessa funktioner genom att använda WorksheetFunction-egenskapen från applikationsobjektet.
För att använda en inbyggd Excel-funktion, som till exempel VLOOKUP eller SUM, anropar du funktionen genom att använda metoden med samma namn i WorksheetFunction-objektet. Du kan tillhandahålla nödvändiga parametrar för att utföra beräkningen och få resultatet som returneras av funktionen.
För exempelvis att använda SUM-funktionen för att addera två tal (75 och 35), skulle vi göra följande:
var summa = Globals.ThisAddIn.Application.WorksheetFunction.Sum(75, 35);
Detta ger oss summan av 75 och 35, vilket är 110.
4.4 Kontrollera zoomnivån i Excel-applikationen
I Excel kan du ändra zoomnivån för att öka eller minska storleken på innehållet i arbetsbladen. Genom att kontrollera zoomnivån kan du se mer eller mindre av data utan att ändra formateringen eller layouten för arbetsbladen.
För att kontrollera zoomnivån i Excel-applikationen kan du använda Zoom-egenskapen från Window-objektet. Genom att ändra värde på egenskapen kan du ändra zoomnivån för det aktiva fönstret.
Globals.ThisAddIn.Application.ActiveWindow.Zoom = 100;
Detta ställer in zoomnivån till 100% för det aktiva fönstret i Excel-applikationen.
4.5 Anpassa visningsinställningar för Excel-applikationen
I Excel kan du anpassa olika visningsinställningar för att ändra utseendet och beteendet för applikationen. Du kan till exempel visa eller dölja bläddringsfältet, formelfältet eller arbetsboksflikarna baserat på dina preferenser och behov.
För att anpassa visningsinställningarna för Excel-applikationen använder du egenskaparna för DisplayFormulaBar, DisplayScrollBars och DisplayWorkbookTabs från Window-objektet. Genom att ändra värdena på dessa egenskaper kan du visa eller dölja olika delar av Excel-gränssnittet.
Globals.ThisAddIn.Application.ActiveWindow.DisplayFormulaBar = false;
Globals.ThisAddIn.Application.ActiveWindow.DisplayScrollBars = false;
Globals.ThisAddIn.Application.ActiveWindow.DisplayWorkbookTabs = false;
I detta exempel gömmer vi formelfältet, bläddringsfältet och arbetsboksflikarna för det aktiva fönstret i Excel-applikationen.
5. Arbeta med arbetsböcker
Arbetsböcker är grundläggande enheter i Excel och innehåller data, formler och formateringar. I det här avsnittet kommer vi att gå igenom hur du kan arbeta med arbetsböcker i din VSTO-lösning.
5.1 Skapa och öppna arbetsböcker
För att skapa en ny arbetsbok i Excel använder vi Add-metoden från Workbooks-samlingen. Metoden returnerar en referens till den nya arbetsboken.
TableHugger