我尝试将一些段落自动放入Word文档中,但它始终将其放在文档的末尾而不是书签。
public void createStepTable(Word.Document _myDoc, DataGridView dgv, Testcaselist _testcaselist)
{
int namecount = 1;
object oMissing = System.Reflection.Missing.Value;
Word.Bookmark myBookmark = _myDoc.Bookmarks.get_Item("TextMarkeEinzelheiten");
MessageBox.Show(myBookmark.Start.ToString());
Word.Range myRange = _myDoc.Range(myBookmark.Start,myBookmark.End);
Word.Field myfield = _myDoc.Fields.Add(myRange);
Word.Selection mySelection = myRange.Se
foreach (Testchannellist testChannelListToFind in _testcaselist.Testchannellist)
{
Word.Paragraph pText = _myDoc.Paragraphs.Add(myRange);
pText.Format.SpaceAfter = 10f;
pText.Range.Text = String.Format("This is headline #{0}",namecount);
pText.Range.InsertParagraphAfter();
int stepcount = 0;
foreach (Teststeplist testStepListToFind in testChannelListToFind.Teststeplist)
{
var sText = _myDoc.Paragraphs.Add(myRange);
sText.Format.SpaceAfter = 10f;
sText.Range.Text = String.Format("This is testfall #{0}", stepcount);
sText.Range.InsertParagraphAfter();
for (int i = 0; i < testStepListToFind.requirementlist.Count; i++)
{
var rText = _myDoc.Paragraphs.Add(myRange);
rText.Range.ListFormat.ApplyBulletDefault();
rText.Range.InsertBefore(testStepListToFind.requirementlist[i].ToString() );
}
dgv.DataSource = testStepListToFind.repTest;
var tText = _myDoc.Paragraphs.Add(myRange);
tText.Format.SpaceAfter = 10f;
tText.Range.Text = String.Format("This is Tabelle #{0}", stepcount );
tText.Range.InsertParagraphAfter();
stepcount++;
}
}
}
所有那些自动创建的Paragraph应该位于“TextMarkeEinzelheiten”书签,但每次尝试都会陷入混乱。
答案 0 :(得分:1)
首先确保您正在使用的文档/模板中存在书签。
这是我用来插入表格的代码。 Pragraph应该是相同的
Range range = null;
object pageBookmark = "TextMarkeEinzelheiten";
if (_myDoc.Bookmarks.Exists(pageBookmark.ToString()))
{
range = _myDoc.Bookmarks.get_Item(ref pageBookmark).Range;
Bookmark bookmark = _myDoc.Bookmarks.get_Item(ref pageBookmark);
bookmark.Select();
}
else
{
range = range ?? _myDoc.Range(0, 0);
}
Word.Paragraph pText = _myDoc.Paragraphs.Add(myRange);
首先尝试使用此代码而不使用for循环。一旦你得到一个段落正确调整代码,以便在循环中插入新段落时更新范围和选择。
祝你好运:)