Sub t()
Dim File As String
File = "C:\Users\Tin\Desktop\a.docx"
Dim oWord As Word.Application
Set oWord = New Word.Application
Dim oDoc As Word.Document
Set oDoc = oWord.Documents.Open(File)
oWord.Visible = True
With oDoc
Dim Table1 As Word.Table
Set Table1 = .Tables.Add(Range:=.Range, NumRows:=2, NumColumns:=2)
Table1.Borders(wdBorderTop).LineStyle = wdLineStyleSingle
Table1.Borders(wdBorderRight).LineStyle = wdLineStyleSingle
Table1.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
Table1.Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
Table1.Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle
Table1.Borders(wdBorderVertical).LineStyle = wdLineStyleSingle
Table1.Rows.Height = 50
Dim lLeft As Long
Dim lTop As Long
Dim Rng As Word.Range
Set Rng = .Tables(1).Cell(1, 1).Range
Dim Shp As Word.Shape
lLeft = .Tables(1).Cell(1, 1).Range.Information(wdHorizontalPositionRelativeToPage) + 50
lTop = .Tables(1).Cell(1, 1).Range.Information(wdVerticalPositionRelativeToPage) + 20
Debug.Print (lLeft)
Debug.Print (lTop)
Set Shp = .Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=lLeft, _
Top:=iTop, Width:=20, Height:=20, Anchor:=Rng)
End With
End Sub
我在Excel中自动化Word。 我试图调整文本框位置但失败了。它总是在桌子外面。 我可以在Word中自动化它,但在Excel中控制Word Textbox在定位方面对我来说似乎“不可理解”。
答案 0 :(得分:0)
即使这是一个老问题,我仍然想要调查它。我尝试了你的代码(Excel宏添加了对Word对象库的引用)并且无法找到它的错误。 您的代码按预期工作,第一个单元格内的方形形状。
我使用的是Office 2010(意大利语)。