Visual Studio C-Sharp Word Add-In - Text zu Fußzeile hinzufügen
Hallo @ All!
Ich soll für einen Kunden ein Word 2010/2013 Add-In erstellen welches eine Fußzeile erstellt und mit TAB getrennt je nach geklicktem Button Text hinzufügt.
Ich bin ein Vollnoob was Add-Ins angeht, aber habe es soweit fertig (Ribbon und Buttons) und auch das Erstellen eines Footers funktioniert (sie Bild).
Was nicht funktioniert ist Text anzuhängen. Klickt man z.B. Button1 wird der Text der mit Button2 eingefügt wurde ersetzt anstatt angehängt.
Kann mir da jemand helfen wie ich das umsetzen kann. Stehe voll am Schlauch und Google spuckt nur Blödsinn aus (Oder ich kann es nicht lesen).
Hier der Code aus meiner MyRibbon.xml:
Zusätzlicher Code in der ThisAddIn-Klasse laut MS-Best-Practice:
Zusätzlicher Code in der MyRibbon.cs um das PNG für den Button zu laden:
ButtonClick-Methode in der MyRibbon-Klasse:
Vielen Dank für die Hilfe!
Grüße, Mayho
Ich soll für einen Kunden ein Word 2010/2013 Add-In erstellen welches eine Fußzeile erstellt und mit TAB getrennt je nach geklicktem Button Text hinzufügt.
Ich bin ein Vollnoob was Add-Ins angeht, aber habe es soweit fertig (Ribbon und Buttons) und auch das Erstellen eines Footers funktioniert (sie Bild).
Was nicht funktioniert ist Text anzuhängen. Klickt man z.B. Button1 wird der Text der mit Button2 eingefügt wurde ersetzt anstatt angehängt.
Kann mir da jemand helfen wie ich das umsetzen kann. Stehe voll am Schlauch und Google spuckt nur Blödsinn aus (Oder ich kann es nicht lesen).
Hier der Code aus meiner MyRibbon.xml:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab id="tab1" label="FUSSZEILE">
<group id="group1" label="Hinzufügen">
<button id="button1"
label="button1"
screentip="Screentip"
getImage="Btn1_GetImage"
supertip="Supertip"
size="large"
onAction="OnButton"/>
<button id="button2"
label="button2"
screentip="Screentip"
getImage="Btn1_GetImage"
supertip="Supertip"
size="large"
onAction="OnButton"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Zusätzlicher Code in der ThisAddIn-Klasse laut MS-Best-Practice:
protected override Office.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new RibbonFooter();
}
Zusätzlicher Code in der MyRibbon.cs um das PNG für den Button zu laden:
public Bitmap Btn1_GetImage(Office.IRibbonControl control )
{
return new Bitmap(Properties.Resources.footer);
}
ButtonClick-Methode in der MyRibbon-Klasse:
public void OnButton(Office.IRibbonControl control)
{
//Add Footer: https://msdn.microsoft.com/en-us/library/ms178795.aspx
var addIn = Globals.ThisAddIn.Application.ActiveDocument;
foreach (Word.Section wordSection in addIn.Sections)
{
Word.Range btn1Range = wordSection.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
btn1Range.InsertAfter("");
btn1Range.Font.Size = 20;
btn1Range.Font.ColorIndex = Word.WdColorIndex.wdBlue;
switch (control.Id)
{
case "button1":
btn1Range.Text = "Test 1 ";
break;
case "button2":
btn1Range.Text = "Test 2 ";
break;
}
}
}
Vielen Dank für die Hilfe!
Grüße, Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 346080
Url: https://administrator.de/forum/visual-studio-c-sharp-word-add-in-text-zu-fusszeile-hinzufuegen-346080.html
Ausgedruckt am: 13.04.2025 um 02:04 Uhr
5 Kommentare
Neuester Kommentar

&=
Wenn dann aber das Pluszeichen verwenden:+=
Gruß
Das Problem dabei: Es wird alles zeilenweise gereiht. Dachte eher an sowas wie "mit TAB getrennt".
Dasbtn1Range.Text = btn1Range.Text + "Test 2 ";
Oder der Text wird wegen Überbreite automatisch umgebrochen.
Dachte eher an sowas wie "mit TAB getrennt".
Na dann mach doch.btn1Range.Text = btn1Range.Text + "\t" + "Test 2 ";
Es sollte eigene Funktionen dafür geben ala: btn1.InsertParagraphAfter(); usw.
Es sollte ... Keine Ahnung, was Du jetzt meinst. Willst Du das haben? Hast Du das schon mal irgednwo gesehen? Oder bloß irgendwo im Web gelesen und keinen Zusammenhang? Sollte mein Rat dies beinhaltren, damit akzeptabel?Es gibt eine solche Methode. Aber nicht für einen String sondern für eine Selection.
InsertParagraphAfter Method