物资部提出需求,希望能在整个系统出台之前先帮他们做一个能提取和写入数据的小东西,方便网上招标以及合同的自动生成。
图1
图2
大家可以看到,书签被分割成了一对中括号,中括号里面的内容就是range的内容,那么,大家可以随心所欲写代码了,吼吼~~~
原码如下:
private void button1_Click(object sender, EventArgs e)
{
object missingValue = System.Reflection.Missing.Value;
object myTrue = false;
object fileName = this.txt_file.Text.Trim().ToString();
Word._Application oWord = new Word.ApplicationClass();
Word._Document oDoc;
oDoc = oWord.Documents.Open(ref fileName, ref missingValue,
ref myTrue, ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue);
MessageBox.Show(oDoc.Bookmarks.Count.ToString());
//写入word文档
object tmp = "msr_01";
Word.Range tmpRng = oWord.ActiveDocument.Bookmarks.get_Item(ref tmp).Range;
tmpRng.Text = "鲁能工程有限公司221";
//由于附值以后书签自动消除,为了以后便于修改,需要把书签再自动生成一个
object oRng = tmpRng;
oDoc.Bookmarks.Add(tmp.ToString(), ref oRng);
object bSaveChange = true;
oDoc.Close(ref bSaveChange, ref missingValue, ref missingValue);
}
more:1、[这是往word文档里面写入数据,如果要取得数据可以用range.text来取得]
2、需要的using指令集是:using Word = Microsoft.Office.Interop.Word;