使用VBA将日期插入到单词表中

时间:2014-01-09 16:10:35

标签: vba datetime ms-word ms-office

我正在努力解决如何修复此代码的问题。它的Word 2007 VBA

它错误,因为表格的单元格是完整的,而不是我认为的内容。 目前它是

With ActiveDocument.Tables(2)
    .Rows.Add BeforeRow:=ActiveDocument.Tables(2).Rows(2)
    .Rows(2).Range.Shading.BackgroundPatternColor = wdColorAutomatic
    .Rows(2).Range.Borders(wdBorderBottom).LineStyle = wdLineStyleDot
    .Cell(2, 2).Range.InsertDateTime "yy.MM.dd", False, wdEnglishUK, wdCalendarWestern, False
End With

这会在第一个下面创建一个新行,并将其格式化为看起来不错但在尝试输入日期时出错。 我尝试在启用键盘的宏中使用代码,当我单击单元格时它似乎工作但是当我突出显示整个单元格时会出现相同的错误(这导致我怀疑这是问题)

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这对我有用:

Sub tt()
    Dim rng As Range
    With ActiveDocument.Tables(2)
        .Rows.Add BeforeRow:=.Rows(2)
        With .Rows(2).Range
        .Shading.BackgroundPatternColor = wdColorAutomatic
        .Borders(wdBorderBottom).LineStyle = wdLineStyleDot
        End With
        Set rng = .Cell(2, 2).Range
        rng.Collapse wdCollapseStart
        rng.InsertDateTime "yy.MM.dd" ', False, wdEnglishUK, wdCalendarWestern, False
    End With
End Sub

与Excel相比,我发现Word范围难以使用。特别是Word表格单元格都附加了一个“额外”字符(如果你打开隐藏格式,你可以看到它),你必须解决这个问题。

答案 1 :(得分:0)

      .Cell(2, 2).Range.text = format(date, "yy.MM.dd")

这将给出一个月份的数字 - 如果你想要3个字母使用3 m&#39>