我需要从excel调用一个word文件,并创建一个模板。模板将有3个图像UpperLeft,右上和中央图像。
我认为这将是最好的结果,通过这张桌子。
由于某些原因,我无法用excel创建表。
Private Sub CommandButton13_Click()
'Using early binding, not late-binding
Dim wsDoc As Word.Document
Dim wsApp As Word.Application
Dim wsRng As Word.Range
Dim wsTable as Word.Table
Dim intNoOfRows
Dim intNoOfColumns
Dim s As Word.InlineShape
Dim shp As Word.Shape
intNoOfRows = 4
intNoOfColumns = 2
Set wsApp = New Word.Application
wsApp.Visible = True
Set wsDoc = wsApp.Documents.Add
Set wsRange = wsDoc.Content
Set wsTable = wsDoc.Tables.Add(wsRange, intNoOfRows, intNoOfColumns)
wsTable.Borders.Enable = True
wsTable.Cell(1, 1).Range.InlineShapes.AddPicture _
UserForm1.txtImageLogoAdecco
wsTable.Cell(1, 2).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
wsTable.Cell(1, 2).Range.InlineShapes.AddPicture _
UserForm1.txtImageLogoClient
Set wsRng = wsTable.Cell(2, 1).Range
With wsRng.Paragraphs.Add
wsTable.Cell(2, 1).Merge MergeTo:=wsTable.Cell(2, 2)
wsTable.Cell(2, 1).Height = 520
wsTable.Cell(2, 1).Range.Paragraphs.Add
wsTable.Cell(3, 1).Merge MergeTo:=objTable.Cell(3, 2)
wsTable.Cell(3, 1).Range.Text = "Prepared by:" & " " & UserForm1.txtPrepared
wsTable.Cell(4, 1).Merge MergeTo:=objTable.Cell(4, 2)
wsTable.Cell(4, 1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
wsTable.Cell(4, 1).Range.Text = "Belgrade," & " " & Format(Date, "MMMM DD, YYYY ")
Set wsRange = Nothing
Set wsTable = Nothing
Set wsDoc = Nothing
Set wsApp = Nothing
End Sub发布于 2015-10-14 16:15:35
嗯,有点清楚,但不是完全的。我冒昧地编辑了您的代码,以便它是正确的,一致的和可读的(没有所有的空行)!
我将从一个很清楚的部分开始:<<,我想把光标向下移动几行,然后写一些文本。>>
若要将焦点移到表下面,请获取表的范围,然后将其折叠。例如:
设置wsRange = wsTable.Range wsRange.Collapse wdCollapseEnd‘现在范围在表wsRange.Text = "text text table“后面的段落中
使用背景图像,我想将其转换为形状。我想在文本后面发送iy
这是我不清楚的部分。你是说你想再插入一张图片并把它放在文本后面吗?使用Shapes.Add方法并将WrapFormat.Type设置为wdWrapBehind
https://stackoverflow.com/questions/33019059
复制相似问题