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