プロが教える店舗&オフィスのセキュリティ対策術

いまだにWord 2002を使用していますが、Word VBAで、下記のようなプログラムで四角形を描画する場合、第1ノードと第2ノードの距離が0.075以上なら正常に描画されるのに、N2Yを20.074にして、距離を0.074にすると、「書き込みできません」というエラーになります。

Set shpCanvas = ActiveDocument.Shapes.AddCanvas(Left:=100, Top:=75, Width:=150, Height:=100)
shpCanvas.WrapFormat.Type = wdWrapInline '描画キャンバスが行内に収まるよう書式設定。
N1X = 10: N1Y = 20: N2X = 10: N2Y = 20.075: N3X = 30: N3Y = 40: N4X = 35: N4Y = 26:
length12 = Sqr((N2X - N1X) ^ 2 + (N2Y - N1Y) ^ 2): MsgBox length12
With shpCanvas.CanvasItems
With .BuildFreeform(msoEditingAuto, N1X, N1Y)
.AddNodes msoSegmentLine, msoEditingAuto, N2X, N2Y: .AddNodes msoSegmentLine, msoEditingAuto, N3X, N3Y
.AddNodes msoSegmentLine, msoEditingAuto, N4X, N4Y: .AddNodes msoSegmentLine, msoEditingAuto, N1X, N1Y '
.ConvertToShape
End With
End With

要するに、隣接するノード間の距離が0.075ポイント未満では「書き込みできません」というエラーになる模様です。(より正確には、0.0749999未満でエラー。0.0749999はOK。ただし、縦方向の距離が0.0749998の場合、横方向の距離が0.0750003以上ならOKで、それ未満なら、実際の斜めの距離が0.075以上でもエラーになるようです。)
最近のバージョンでも同じことでしょうか。

A 回答 (1件)

>最近のバージョンでも同じことでしょうか。



2007までのワードでエラーが再現しましたが、2010で問題ありませんでした。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
そうすると、2010以降のバージョンに乗り換えた方がよさそうですね。

お礼日時:2013/05/04 22:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!