使用 Visual Basic 移动一行和一个书签
Moving a line and a bookmark using visual Basic
如果文本框未与 Word 中的相应书签一起使用,则尝试使用 Visual Basic 删除一行。用户将使用单击按钮并评估是否使用了文本框。
例如,如果没有通过文本框使用 TITLEWARNO,它将如下所示:
ORDNUM
OPERATIONORDERWIT
我需要它来执行此操作:
ORDNUM
OPERATIONORDERWIT
我试过 \LINE 和 trim 命令。最后一天我一直坚持这个问题,并用谷歌搜索了这个不起作用的不同变体。
Private Sub CommandButton1_Click()
Dim ORDNUM As Range
Set ORDNUM = ActiveDocument.Bookmarks("ORDNUM").Range
ORDNUM.Text = Me.ORDNUM.Value
Dim TITLEWARNO As Range
Set TITLEWARNO = ActiveDocument.Bookmarks("TITLEWARNO").Range
TITLEWARNO.Text = Me.TITLEWARNO.Value
Dim OPERATIONORDERWIT As Range
Set OPERATIONORDERWIT = ActiveDocument.Bookmarks("OPERATIONORDERWIT").Range
OPERATIONORDERWIT.Text = Me.OPERATIONORDERWIT.Value
尝试
Private Sub CommandButton1_Click()
Dim ORDNUM As Range
Set ORDNUM = ActiveDocument.Bookmarks("ORDNUM").Range
If Me.ORDNUM.Value = vbNullString Then
ORDNUM.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("ORDNUM").Delete
Else
ORDNUM.Text = Me.ORDNUM.Value
End If
Dim TITLEWARNO As Range
Set TITLEWARNO = ActiveDocument.Bookmarks("TITLEWARNO").Range
If Me.TITLEWARNO.Value = vbNullString Then
TITLEWARNO.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("TITLEWARNO").Delete
Else
TITLEWARNO.Text = Me.TITLEWARNO.Value
End If
Dim OPERATIONORDERWIT As Range
Set OPERATIONORDERWIT = ActiveDocument.Bookmarks("OPERATIONORDERWIT").Range
If Me.OPERATIONORDERWIT.Value = vbNullString Then
OPERATIONORDERWIT.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("OPERATIONORDERWIT").Delete
Else
OPERATIONORDERWIT.Text = Me.OPERATIONORDERWIT.Value
End If
一种更简单的方法是拥有一个书签并根据需要构建文本字符串添加回车 returns (vbCr)。
每行将以 return 结尾。确保书签包含 return。然后,代替 ORDNUM.Text = Me.ORDNUM.Value,使用如下内容:
If Me.ORDNUM.Value = vbCr Then
ActiveDocument.Bookmarks("ORDNUM").Range.Text.Hidden = True
End If
如果文本框未与 Word 中的相应书签一起使用,则尝试使用 Visual Basic 删除一行。用户将使用单击按钮并评估是否使用了文本框。
例如,如果没有通过文本框使用 TITLEWARNO,它将如下所示:
ORDNUM
OPERATIONORDERWIT
我需要它来执行此操作:
ORDNUM
OPERATIONORDERWIT
我试过 \LINE 和 trim 命令。最后一天我一直坚持这个问题,并用谷歌搜索了这个不起作用的不同变体。
Private Sub CommandButton1_Click()
Dim ORDNUM As Range
Set ORDNUM = ActiveDocument.Bookmarks("ORDNUM").Range
ORDNUM.Text = Me.ORDNUM.Value
Dim TITLEWARNO As Range
Set TITLEWARNO = ActiveDocument.Bookmarks("TITLEWARNO").Range
TITLEWARNO.Text = Me.TITLEWARNO.Value
Dim OPERATIONORDERWIT As Range
Set OPERATIONORDERWIT = ActiveDocument.Bookmarks("OPERATIONORDERWIT").Range
OPERATIONORDERWIT.Text = Me.OPERATIONORDERWIT.Value
尝试
Private Sub CommandButton1_Click()
Dim ORDNUM As Range
Set ORDNUM = ActiveDocument.Bookmarks("ORDNUM").Range
If Me.ORDNUM.Value = vbNullString Then
ORDNUM.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("ORDNUM").Delete
Else
ORDNUM.Text = Me.ORDNUM.Value
End If
Dim TITLEWARNO As Range
Set TITLEWARNO = ActiveDocument.Bookmarks("TITLEWARNO").Range
If Me.TITLEWARNO.Value = vbNullString Then
TITLEWARNO.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("TITLEWARNO").Delete
Else
TITLEWARNO.Text = Me.TITLEWARNO.Value
End If
Dim OPERATIONORDERWIT As Range
Set OPERATIONORDERWIT = ActiveDocument.Bookmarks("OPERATIONORDERWIT").Range
If Me.OPERATIONORDERWIT.Value = vbNullString Then
OPERATIONORDERWIT.Paragraphs(1).Range.Delete
ActiveDocument.Bookmarks("OPERATIONORDERWIT").Delete
Else
OPERATIONORDERWIT.Text = Me.OPERATIONORDERWIT.Value
End If
一种更简单的方法是拥有一个书签并根据需要构建文本字符串添加回车 returns (vbCr)。
每行将以 return 结尾。确保书签包含 return。然后,代替 ORDNUM.Text = Me.ORDNUM.Value,使用如下内容:
If Me.ORDNUM.Value = vbCr Then
ActiveDocument.Bookmarks("ORDNUM").Range.Text.Hidden = True
End If