2 Stimmen

Ändern von Aufzählungszeichenformaten mit Word 2007 Automatisierung in C#

Ich versuche, den Stil meiner Aufzählungszeichen in einem Word-Dokument (Word 2007) zu ändern .... Wenn ich derzeit ein Aufzählungszeichen einfüge, wird es als Kreis angezeigt. Ich möchte, dass es ein Quadrat ist... hier ist mein Code für die Anwendung von Aufzählungszeichen...

    public void ToggleBullets(bool bulletsOn)
{
    Microsoft.Office.Interop.Word.Application wd;
    Object _oMissing = Type.Missing;
    Object _numberType = WdNumberType.wdNumberListNum;
    if (bulletsOn)
    {
        wd.Selection.Range.ListFormat.ApplyBulletDefault(ref _oMissing);
    }
    else
    {
        wd.Selection.Range.ListFormat.RemoveNumbers(ref _numberType);
    }
}

irgendwelche Ideen? Lassen Sie mich wissen, wenn Sie mehr Details benötigen

1voto

joe_coolish Punkte 7161

Ich verwende das Open XML SDK 2.0 Productivity Tool für Microsoft Office: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&displaylang=en

Wenn ich diese Art von Dingen tun möchte. Starten Sie einfach das Produktivitätswerkzeug, laden Sie die .docx-Datei mit dem gewünschten Inhalt und lassen Sie das Werkzeug den Code für Sie generieren.

Ich habe soeben ein Beispiel erstellt, und das war der generierte Code:

using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;
....
    public Paragraph GenerateParagraph()
    {
        Paragraph paragraph1 = new Paragraph(){ RsidParagraphAddition = "00EA7FFB", RsidParagraphProperties = "00EA7FFB", RsidRunAdditionDefault = "00EA7FFB" };

        ParagraphProperties paragraphProperties1 = new ParagraphProperties();
        ParagraphStyleId paragraphStyleId1 = new ParagraphStyleId(){ Val = "ListParagraph" };

        NumberingProperties numberingProperties1 = new NumberingProperties();
        NumberingLevelReference numberingLevelReference1 = new NumberingLevelReference(){ Val = 0 };
        NumberingId numberingId1 = new NumberingId(){ Val = 2 };

        numberingProperties1.Append(numberingLevelReference1);
        numberingProperties1.Append(numberingId1);

        paragraphProperties1.Append(paragraphStyleId1);
        paragraphProperties1.Append(numberingProperties1);

        Run run1 = new Run();
        Text text1 = new Text(){ Space = SpaceProcessingModeValues.Preserve };
        text1.Text = "Item ";

        run1.Append(text1);

        paragraph1.Append(paragraphProperties1);
        paragraph1.Append(run1);
        return paragraph1;
    }

Hier werden die OpenXml-Kopfzeilen verwendet und nicht speziell Word

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X