1

Word2010でVBAをやっています。

正常に動作している inlineshape に境界線を追加するコードがいくつかありますが、境界線を削除できるようにする必要があり、それが機能していないようです。このサイトを検索しましたが、これ以外に近いものは見つかりませんでした:

インライン形状の vba を使用して、単語の境界線とシェーディング オプション "apply to:" (テキスト) を模倣する

コードは次のとおりです。

サブ TestAddBorders()

Dim rngShape As InlineShape

For Each rngShape In ActiveDocument.InlineShapes
    With rngShape.Range.Borders
        .OutsideLineStyle = wdLineStyleSingle
        .OutsideColorIndex = wdPink
        .OutsideLineWidth = wdLineWidth300pt
    End With
Next rngShape

サブ終了

サブ TestRemoveBorders()

Dim rngShape As InlineShape

For Each rngShape In ActiveDocument.InlineShapes
    With rngShape.Range.Borders
        .OutsideLineStyle = wdLineStyleNone
    End With
Next rngShape

サブ終了

周りに灰色がかった境界線を持つ画像(インラインシェイプ)が常に残っています。Picture Tools > Format Tab で "Picture Border > No Outline" を使用すると削除されますが、VBA でそれを行う方法が見つかりません。wdLineStyleNone が機能していないようで、color = "none" または linewidth = "none" のオプションが表示されません。

ありがとうございました。

4

2 に答える 2

1

MSDN から:

オブジェクトからすべての境界線を削除するには、Enable プロパティを False に設定します。

http://msdn.microsoft.com/en-us/library/office/ff196058.aspx

これにより、適用した境界線が削除されます。

Sub TestRemoveBorders()

Dim rngShape As InlineShape

For Each rngShape In ActiveDocument.InlineShapes
    With rngShape.Range.Borders

        .Enable = False
    End With
Next rngShape
End Sub

上記のメソッドは境界線を削除しますが、は削除しません。行を削除するには、これを試してください:

With rngShape.Line
    .Visible = msoFalse
End With
于 2013-05-16T13:54:55.630 に答える