【问题标题】:Word VSTO - Filling a shape does not work in Word 2010 and Word 2013?Word VSTO - 填充形状在 Word 2010 和 Word 2013 中不起作用?
【发布时间】:2015-10-13 20:43:27
【问题描述】:

我使用以下 VB.NET (VSTO) 代码在 MS-Word 中添加形状,

Dim app As Word.Application = Globals.ThisAddIn.Application
Dim doc As Word.Document = app.ActiveDocument
Dim left As Single = CSng(Convert.ToDouble(app.Selection.Information(Word.WdInformation.wdHorizontalPositionRelativeToPage)))
Dim top As Single = CSng(Convert.ToDouble(app.Selection.Information(Word.WdInformation.wdVerticalPositionRelativeToPage)))
Dim shape As Word.Shape = doc.Shapes.AddShape(1, left, top, 225.1F, 224.5F)

shape.Fill.BackColor.RGB = ColorTranslator.ToOle(Color.Transparent)
shape.Fill.Visible = Microsoft.Office.Core.MsoTriState.msoFalse
shape.Fill.Transparency = 0.0F
shape.Line.Transparency = 0.0F
shape.Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse
shape.Fill.UserPicture("C:\Newfolder\App1.jpg")

这段代码的作用是,它在光标处添加一个矩形,使其透明(背景和线条)并添加(填充)图像。

这在 Word 2007 中运行良好。但是在 Word 2010 和 Word 2013 上存在问题。它在光标点添加矩形形状并使其透明。但它不会填充图像。

shape.Fill.UserPicture("C:\Newfolder\App1.jpg")

上述代码行在 Word 2010 和 Word 2013 中不起作用。其他部分工作正常。 Word 2010和2013中如何修改代码以填充矩形形状的图像?

【问题讨论】:

    标签: vb.net vsto shape word-2010 word-2013


    【解决方案1】:

    代替shape.Fill.UserPicture("C:\Newfolder\App1.jpg")试试

        Word.Range range = shape1.TextFrame.TextRange;
        range.InlineShapes.AddPicture(@"C:\Newfolder\App1.jpg", false, true, Type.Missing);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2011-04-29
    • 2014-10-09
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多