1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| object objWord, objDoc; Type typWord = Type.GetTypeFromProgID("Word.Application"); objWord = Activator.CreateInstance(typWord); objDoc = objWord.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, objWord, null); object[] docPar = new object[4]; docPar[0] = @"C:\test_.doc"; docPar[1] = Type.Missing; docPar[2] = Type.Missing; docPar[3] = Type.Missing; object objDocu = objDoc.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, objDoc, docPar); object formFields = objDocu.GetType().InvokeMember("FormFields", BindingFlags.GetProperty, null, objDocu, null); int count = (int)formFields.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, formFields, null); string fieldValue=string.Empty; for(int i=1; i<=count; i++) { object field = formFields.GetType().InvokeMember("Item", BindingFlags.GetProperty | BindingFlags.Default | BindingFlags.InvokeMethod , null, formFields, new object[]{i}); fieldValue = (string) field.GetType().InvokeMember("Name", BindingFlags.GetProperty | BindingFlags.Default | BindingFlags.InvokeMethod , null, field, null); MessageBox.Show(fieldValue, "fieldValue", MessageBoxButtons.OK);
}
typWord.InvokeMember("Quit", BindingFlags.IgnoreCase | BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.OptionalParamBinding, null, objWord, new object[0]); |