如何使用宏来格式化表格,计算选择项中有多少个制表符



我必须为一个可编辑的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对象。

最新更新