Speichern von
Settings in Office Addin VSTO
Wie kann Daten in
eine Office Addin speichern?
Aufgabe:
Ich möchte Benutzerspezifische Daten aus einem Eingabefeld
in einem Word-Addin speichern.
Sobald der Benutzer in dem Eingabefeld ändert, soll der Wert
beim nächsten Mal geändert im Eingabefeld erscheinen.
Lösung:
Verwenden einer Settings-Datei
Man fügt dem Word Projekt unter Project->Add->New Item.. eine Windows
Forms Settings-Datei hinzu
Add New Item
In General->Settings File auswählen
Settings Werte eingeben
Die Settingsdatei kann man per
doppelklick öffnen und Daten als Werte eingeben
Hier : Name: Photos_Tablename und
Value:Bilddokumentation.
Scope bedeutet:
User: der Wert kann zur Laufzeit
gelesen und geändert werden.
Application: der Wert ist nur
readonly
Werte zur Laufzeit lesen
Zur Laufzeit warden im Beispiel
die Textbox Eingabefelder geladen.
Hierzu wird einfach der Wert aus
Settings1.Default.Variablename gelesen.
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
tbxPhotos_Tablename.Text = Settings1.Default.Photos_Tablename;
tbxExcel_Filename.Text = Settings1.Default.Excel_Filename;
tbxExcel_Sheet.Text = Settings1.Default.Excel_Sheet;
}
|
Werte ändern und
speichern
Wichtig ist: Save() nicht vergessen.
Beispiel Ändern und speichern.
Sobald das Textfeld geändert wird
und verlassen wird, wird der Text aus der Textbox entnommen und unter Settings1.Default.Variablenname
gespeichert.
private void tbxPhotos_Tablename_TextChanged(object sender, RibbonControlEventArgs e)
{
Settings1.Default.Photos_Tablename = tbxPhotos_Tablename.Text;
Settings1.Default.Save();
}
private void tbxExcel_Filename_TextChanged(object sender, RibbonControlEventArgs e)
{
Settings1.Default.Excel_Filename = tbxExcel_Filename.Text;
Settings1.Default.Save();
}
private void tbxExcel_Sheet_TextChanged(object sender, RibbonControlEventArgs e)
{
Settings1.Default.Excel_Sheet = tbxExcel_Sheet.Text;
Settings1.Default.Save();
}
|
Betrifft: Word Excel Access Outlook VSTO Add ins Ribbonbar