我试图将这三种类型的内容添加到word doc中.这就是我现在尝试这样做的方式.但是,每个项目都会替换最后一个项目.添加图像始终会添加到页面的开头.我有一个循环调用函数来创建标题和表,然后添加图像.我认为问题是范围.我使用对象start = 0的起始范围;
如何让这些一次添加一个到文档中的新行?
foreach (var category in observedColumns)
{
CreateHeadersAndTables();
createPictures();
}
Run Code Online (Sandbox Code Playgroud)
添加标题:
object start = 0;
Word.Range rng = doc.Range(ref start , Missing.Value);
Word.Paragraph heading;
heading = doc.Content.Paragraphs.Add(Missing.Value);
heading.Range.Text = category;
heading.Range.InsertParagraphAfter();
Run Code Online (Sandbox Code Playgroud)
添加表格:
Word.Table table;
table = doc.Content.Tables.Add(rng, 1, 5);
Run Code Online (Sandbox Code Playgroud)
添加图片:
doc.Application.Selection.InlineShapes.AddPicture(@path);
Run Code Online (Sandbox Code Playgroud) 范围和选择如何工作?
如果您通过范围在页面顶部插入某些内容,是否通过插入带有选区的内容来覆盖?选择会影响范围吗?
我遇到问题,我按此顺序插入,但InlineShapes显示在Range.Inserts上方文档的顶部.此外,Selection.InsertBefore被InlineShapes取代.
我希望我的范围插入显示在每张图片上方,如标题.如何才能做到这一点?
Selection.InsertBefore
**Loop**
Range.InsertParagraphAfter
Selection.InlineShapes.AddPicture
**End Loop**
Run Code Online (Sandbox Code Playgroud)
我已经三次问了这样一个问题而没有回复.什么都有帮助!
编辑:
我离我更近了一步.现在,当我添加InlineShapes时,我使用Content.InlineShapes.AddPicture(FileName:x,range:y).现在图片显示在段落之间,但它们位于我添加图片之前添加到文档的表格的第一个单元格中.我添加了折叠范围的表格.