FutureProgrammer
Grünschnabel
Hallo Programmierasse,
Ich habe folgendes Problem:
Ich möchte in einem Worddokument nachträglich ein Textformularfeld bzw. dessen Inhalt
als Index für ein Indexverzeichnis markieren. (Edit: Die Daten die dort eingetragen werden, werden ja
an die Methode übergeben, daher müssen sie nicht extra aus dem Feld wieder geholt werden)
Mein Programm läuft so ab das es zunächst alle Textformularfelder ausfüllt und dann
bei einem bestimmten Feld "number" den Inhalt als Index markieren soll.
In dem Feld steht eine Nummer mit 2 Buchstaben und einigen Zahlen dahinter
Bsp.: AB0212322 daraus soll der Index (so wie er als Code im Word steht)
{ XE "AB:AB0212322" } werden
also die Buchstaben als Haupteintrag und der gesamte Eintrag als Untereintrag
bis jetzt hab ich nur Themen zum Inhaltsverzeichnis gefunden die mir in diesem Fall null helfen gefunden.
Vielleicht hat einer von euch eine Idee wie das richtig funktioniert.
Hier die Methode die dann das ganze tun soll:
public void SetField(string strName, string strValue)
{
try
{
object oFieldname = strName;
wdDoc.FormFields.get_Item(ref oFieldname).Result = strValue;
if (oFieldname == "number")
{
//wdDoc.GoTo(ref missing, ref oFieldname, ref missing, ref oFieldname).Paragraphs.Add(ref missing);
//appWord.CommandBars.ActionControl
//strValue += " { XE \"" + strValue.Substring(0, 2) + ":" + strValue + "\" }";
-> Hier soll der Index markiert werden <-
}
}
catch (Exception ex)
{
MessageBox.Show(strName + ":" + System.Environment.NewLine + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Ich habe folgendes Problem:
Ich möchte in einem Worddokument nachträglich ein Textformularfeld bzw. dessen Inhalt
als Index für ein Indexverzeichnis markieren. (Edit: Die Daten die dort eingetragen werden, werden ja
an die Methode übergeben, daher müssen sie nicht extra aus dem Feld wieder geholt werden)
Mein Programm läuft so ab das es zunächst alle Textformularfelder ausfüllt und dann
bei einem bestimmten Feld "number" den Inhalt als Index markieren soll.
In dem Feld steht eine Nummer mit 2 Buchstaben und einigen Zahlen dahinter
Bsp.: AB0212322 daraus soll der Index (so wie er als Code im Word steht)
{ XE "AB:AB0212322" } werden
also die Buchstaben als Haupteintrag und der gesamte Eintrag als Untereintrag
bis jetzt hab ich nur Themen zum Inhaltsverzeichnis gefunden die mir in diesem Fall null helfen gefunden.
Vielleicht hat einer von euch eine Idee wie das richtig funktioniert.
Hier die Methode die dann das ganze tun soll:
public void SetField(string strName, string strValue)
{
try
{
object oFieldname = strName;
wdDoc.FormFields.get_Item(ref oFieldname).Result = strValue;
if (oFieldname == "number")
{
//wdDoc.GoTo(ref missing, ref oFieldname, ref missing, ref oFieldname).Paragraphs.Add(ref missing);
//appWord.CommandBars.ActionControl
//strValue += " { XE \"" + strValue.Substring(0, 2) + ":" + strValue + "\" }";
-> Hier soll der Index markiert werden <-
}
}
catch (Exception ex)
{
MessageBox.Show(strName + ":" + System.Environment.NewLine + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Zuletzt bearbeitet: