首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使形状始终停留在第一页

使形状始终停留在第一页
EN

Stack Overflow用户
提问于 2017-05-11 15:29:19
回答 2查看 572关注 0票数 7

我正在开发的VSTO应用程序加载项的文字,并希望使形状总是在第一页上的固定位置。有没有一种方法可以做到这一点,而不积极监测状态的形状?

用好的解释回答“它不能做”,也是受欢迎的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-18 04:13:51

如果您将形状放置到标题中并检查DifferentFirstPageHeaderFooter,则分页将不产生所需的效果,但形状将位于后台,页面布局>中断>下一页复制形状到下一页。

代码语言:javascript
复制
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        AddFixedShapeOnFistPage(Application.Documents.Add(System.Type.Missing), MsoAutoShapeType.msoShapeRectangle, 160, 160, 30, 30);
    }

    public void AddFixedShapeOnFistPage(Microsoft.Office.Interop.Word.Document wordDocument, Microsoft.Office.Core.MsoAutoShapeType shapeType,int left, int top, int width, int height)
    {
        int wordTrueConst = -1; //https://social.msdn.microsoft.com/Forums/office/en-US/e9f963a9-18e4-459a-a588-17824bd3906d/differentfirstpageheaderfooter-bool-or-int?forum=worddev
        wordDocument.Sections[1].PageSetup.DifferentFirstPageHeaderFooter = wordTrueConst;
        wordDocument.Sections[1].Headers[WdHeaderFooterIndex.wdHeaderFooterFirstPage].Shapes.AddShape((int)shapeType, left, top, width, height);
    }

形状将出现在背景上

票数 4
EN

Stack Overflow用户

发布于 2017-05-18 15:06:10

是的,这是可以实现的。守则如下:

代码语言:javascript
复制
using Word = Microsoft.Office.Interop.Word;

public void DrawShape()
{
try{
    var wordApp = new Word.Application();
    wordApp.Documents.Add(System.Type.Missing);
    Word.Document doc = wordApp.ActiveDocument;
    var shape = doc.Shapes.AddShape((int)Microsoft.Office.Core.MsoAutoShapeType.msoShapeRectangle, 20, 20, 60, 20);
   }
   catch(Exception ex) { }
}

上述代码在文档首页的左上角位置绘制一个宽度为60的矩形,高度: 20的位置(20,20)。请记住,(0,0)是Doc文件第一页左上角的起始点。

在这里,Shapes.AddShape应该能做到这一点。

代码语言:javascript
复制
Shape AddShape(int Type, float Left, float Top, float Width, float Height, ref object Anchor = Type.Missing);

关于SHapes.AddShape()的更多信息:https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.shapes.addshape.aspx

对于不同类型的形状,请参阅MsoAutoShapeType:https://msdn.microsoft.com/en-us/library/microsoft.office.core.msoautoshapetype.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43919768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档