VB.net为word doc添加水印

时间:2013-01-14 23:32:37

标签: vb.net vba ms-word watermark

我正在尝试使用VB.NET使用位于页面布局>下的Word内置水印工具向Microsoft Word 2010文档添加水印。页面背景>水印。我对该主题进行了大量研究,但所有结果都建议使用AddTextEffect向标题添加一些自定义文本。

虽然这在视觉上实现了相同的结果,但它不使用Word中的内置水印功能。因为它忽略了Word中内置的水印功能,所以我无法使用我的程序删除/编辑现有的水印。请告诉我您的任何建议!

我目前的代码:

wordDoc = wordApp.Documents.Open(file.FullName)
wordApp.Visible = True

        'Create watermark
        With wordDoc
            .Activate()
            .Sections(1).Range.Select()
            .ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageHeader
            .ActiveWindow.ActivePane.Selection.HeaderFooter.Shapes.SelectAll()
            .ActiveWindow.ActivePane.Selection.HeaderFooter.Shapes.AddTextEffect(Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect1, watermark, font, 1, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, 0, 0).Select()
            .ActiveWindow.ActivePane.Selection.ShapeRange.Line.Visible = False
            .ActiveWindow.ActivePane.Selection.ShapeRange.Fill.Visible = True
            .ActiveWindow.ActivePane.Selection.ShapeRange.Fill.ForeColor.RGB = RGB(colorBox.BackColor.R, colorBox.BackColor.G, colorBox.BackColor.B)
            .ActiveWindow.ActivePane.Selection.ShapeRange.Fill.Transparency = 0.5
            .ActiveWindow.ActivePane.Selection.ShapeRange.Rotation = 315
            .ActiveWindow.ActivePane.Selection.ShapeRange.LockAspectRatio = True
            .ActiveWindow.ActivePane.Selection.ShapeRange.Height = 130
            .ActiveWindow.ActivePane.Selection.ShapeRange.Left = -999995
            .ActiveWindow.ActivePane.Selection.ShapeRange.Top = -999995
            .ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument
            .ActiveWindow.Document.Save()
        End With

0 个答案:

没有答案