Interop.Word Combobox im .doc

  • C#

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von 11dead11.

    Interop.Word Combobox im .doc

    Hallo
    mein Problem ist ich komm einfach nicht drauf wie ich in einem Word ".docx datei" die Combobox verändern kann ;(




    Da ich noch neu und unerfahren bin.
    bitte eine Lösung mit einem beispiel Code

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „11dead11“ ()

    Hallo,

    ich habe mir mal sowas angeschaut.
    Also vom Makrorecorder wird kein Code erzeugt - das ist schonmal schlecht.

    Du musst am besten mal etwas präziser werden:
    1. Für was ist das Dokument - wird es einmal erstellt und dann nie wieder abgeändert
    2. Wie stellst du dir vor, wie man die einstellungen machn - in einer Form mit Comboboxen, etc.....

    Eventuell reicht dann ein "statisches" Worddokument...

    Viele Grüße
    Florian
    ----

    WebApps mit C#: Blazor
    ich will mit c# WFA eine Template.docx ausfülle

    C#-Quellcode

    1. string template = Path.GetDirectoryName(Application.ExecutablePath).Trim() + "\\template.docx";
    2. Word.Application wordApp = new Word.Application();
    3. wordApp.Visible = true;
    4. Word.Document document = wordApp.Documents.OpenNoRepairDialog(template);
    5. document.Activate();
    6. Word.Table table = document.Tables[1];
    7. table.Cell(2, 2).Range.Text = textBox31.Text;

    so füge ich den Code in die Tabellen ein

    jetzt muss ich nur noch die comboboxen in den tabellen bearbeiten nur hab ka wie

    Vollzitat entfernt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Der Suchbegriff lautet ContentControls.
    Sobald Du herausgefunden hast, welchen Index (X) oder gar welche ID Deine ComboBox hat, kannst Du schreiben:

    Visual Basic-Quellcode

    1. Set EntryToSelect = ActiveDocument.ContentControls(X).DropdownListEntries(Y)
    2. EntryToSelect.Select

    Wobei Y Deinen Listeneintragindex angibt. Aber Achtung! Der Index ist nicht nullbasiert, sondern beginnt bei 1.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    danke habs selber gefunden =)

    C#-Quellcode

    1. object control = 1;
    2. ContentControl content = document.SelectContentControlsByTag("obj1").get_Item(ref control);
    3. content.LockContents = false;
    4. content.LockContentControl = false;
    5. content.Type = WdContentControlType.wdContentControlDropdownList;
    6. ContentControlListEntry entry = content.DropdownListEntries[comboBox2.SelectedIndex + 1];
    7. entry.Select();

    meine lösung

    Vollzitat entfernt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()