我正在使用Microsoft Word中的VB6构建报告。当我使用现有的报告时,我遇到了一些似乎不合适的问题。我使用现有的报告作为参考并建立自己的报告。我遇到的问题是标题内的文字。我包括一张图片。另外,当我做一个休息页面并尝试从第1行开始时,范围1,1 - 由于一些奇怪的原因,底部边框会丢失。这是我的代码......
这是我将值传递给函数下面的函数的方法:
w_Wrd.Selection.InsertBreak wdPageBreak -- page break here, header appears on new page with no bottom border
w_Wrd.Selection.Goto wdGoToBookmark, , , "\EndOfDoc"
w_TblRow = 1
Set w_Rng = w_Wrd.Selection.Range
Call TableStyle_001_HeaderLine(w_TblRow, "Client Information")
Private Sub TableStyle_001_HeaderLine(row As Integer, Col1Txt As String)
w_Doc.Tables.Add w_Rng, 1, 1
w_Wrd.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
With w_Wrd.Selection.Tables(w_DocTblIdx).Rows(row)
With .Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = wdColorGray15
End With
With .Borders(wdBorderLeft)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderRight)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderTop)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderBottom)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
'WRITE THE DATA 'comment
.Cells(1).Select
w_Wrd.Selection.Font.Bold = True
w_Wrd.Selection.TypeText Col1Txt
End With
End Sub
我的标题图片:
从图中可以看出,左边,上边和右边框看起来很好,但是底边框丢失了。请帮助!
答案 0 :(得分:0)
表格单元格中文本的对齐方式由段落格式设置。它还可以帮助您学习使用Word的对象,而不是使用Selection。
'WRITE THE DATA 'comment
Dim rngCell as Word.Range
Set rngCell = .Cells(1).Range
rngCell.Font.Bold = True
rngCell.Text = Col1Txt
rngCell.Paragraphs(1).Alignment = wdAlignParagraphCenter
可以帮助您解决困难的事情是使用Word的宏记录器。记录执行操作,例如在单元格中居中文本,然后查看VBA代码。通常你可以把它当作#34;和#34;进入VB6,遵循您已有的代码模式。虽然淘汰"选择"通常是一个非常好的主意。和#34; ActiveDocument"尽可能用更准确的物体替换它们。
答案 1 :(得分:0)
很难过分强调在实际程序中依赖Word Automation的不好主意。
Considerations for server-side Automation of Office涉及许多问题,但是从服务器端代码的角度来看。但是,大多数注意事项都适用于任何程序,以这种方式外部操作Office。
寻找其他选择。