我必须为一个可编辑的PDF文件创建一个大文档,所以我知道所有的文本都在那里。
文档是一系列表格。在Word中,表格看起来很好,但在某些情况下,应该有各种单元格,只有1,并使用制表符来对齐文本。它看起来很好,但如果任何文本被改变,那么格式就会混乱。我想有一个宏,寻找具有选项卡的单元格,选择单元格,计算选项卡的数量,将单元格划分为正确数量的单元格,并将文本放入正确的单元格。例如,单元格包含"文本1 [tab]文本2[tab]文本3"会变成3个单元格"text 1";text 2"one_answers"text "
我认为Word将能够将文本转换为表格,但是当文本已经在表格中时,它不起作用。
如果有人有任何建议,我如何才能实现这一点,那么他们会非常感激!
我的主要问题是不知道如何计算一个选择中有多少个制表符。
此函数将返回给定字符串中制表符的个数。
Function CountTabs() As Integer
Dim Txt As String
Txt = "This is" & vbTab & "a test" & vbTab & "to count Tabs"
CountTabs = Len(Txt) - Len(Replace(Txt, vbTab, ""))
End Function
制表符Chr(9)被替换为空,制表符的数目是替换前后字符数的差值。下面是一个代码片段,实现了这个想法。
Private Sub Snippet()
Dim Txt As String
Dim Count As Integer
Txt = "This is" & vbTab & "a test" & vbTab & "to count Tabs"
Count = Len(Txt) - Len(Replace(Txt, vbTab, ""))
MsgBox "There are " & Count & " tabs."
End Sub
当然,如何获得变量Txt
的文本是另一回事,在本论坛的上下文中,这是另一个问题。但是,出于预防,我建议不要使用Selection
对象。请尝试使用Range
对象。