When converting a Word form to a web form, I was looking for a way to extract the items of the dropdown fields found in the Word document to avoid typing them manually in my web app. I found that you can access the field definitions from C# by using the Word Interop COM library. The following is a program that extracts each item in the dropdown boxes and prints them to the screen:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Word; namespace WordDataExtractTest { class Program { static void Main(string[] args) { Application wordapp = new Application(); var strDocName = "doc_file_with_form.doc"; var doc = wordapp.Documents.Open(strDocName); foreach( FormField form_field in doc.FormFields) { if (form_field.Type == WdFieldType.wdFieldFormDropDown) { AddLine(form_field.Name); foreach (ListEntry entry in form_field.DropDown.ListEntries) { if (!string.IsNullOrWhiteSpace(entry.Name) { AddLine(" ,"+ entry.Name); } } } } Console.In.ReadLine(); } public static void AddLine(string line) { Console.Out.WriteLine(line); } } }
Comments