html table word,HTML table to Word Table

you had mentioned that,"I am not a VBA Pro, hence I need some help in achieving this.  Please note that I am copying HTML code into Content control. "

you have to understand the code and you have to make modifications to make it work for you.

here are some code blocks and links that I found and you can try to look in to that.

1st approach:-

1) Remove "

" from the table definition;

2) replace "

" with ANSI 13 ("vbCr") and drop the last of these tags;

3) Remove "

" from the table definition;

4) Replace "

" with a field delimiter of your choice (something that's not in the field content) and drop the last of these tags.

The result will be a string that you write to the Range where you want the table in the document, then convert it to a table:

rng.Text = stringTableDef

Dim tbl as Word.Table

Set tbl = rng.ConvertToTable('Params here)

Reference:

2nd Approach:-

Sub PrintHTML_Table(ByVal StrTable as String)

Dim TA()

Dim Table_String as String

Table_String = " " & StrTable & " "

TA = SplitTo2DArray(Table_String, "", "")

For i = LBound(TA, 1) To UBound(TA, 1)

For j = LBound(TA, 2) To UBound(TA, 2)

ActiveSheet.Cells(i + 1, j + 1) = Trim(Replace(Replace(TA(i, j), "

", ""), "", ""))

Next j

Next i

End Sub

Public Function SplitTo2DArray(ByRef StringToSplit As String, ByRef RowSep As String, ByRef ColSep As String) As String()

Dim Rows As Variant

Dim rowNb As Long

Dim Columns() As Variant

Dim i As Long

Dim maxlineNb As Long

Dim lineNb As Long

Dim asCells() As String

Dim j As Long

' Split up the table value by rows, get the number of rows, and dim a new array of Variants.

Rows = Split(StringToSplit, RowSep)

rowNb = UBound(Rows)

ReDim Columns(0 To rowNb)

' Iterate through each row, and split it into columns. Find the maximum number of columns.

maxlineNb = 0

For i = 0 To rowNb

Columns(i) = Split(Rows(i), ColSep)

lineNb = UBound(Columns(i))

If lineNb > maxlineNb Then

maxlineNb = lineNb

End If

Next i

' Create a 2D string array to contain the data in .

ReDim asCells(0 To maxlineNb, 0 To rowNb)

' Copy all the data from Columns() to asCells().

For i = 0 To rowNb

For j = 0 To UBound(Columns(i))

asCells(j, i) = Columns(i)(j)

Next j

Next i

SplitTo2DArray = asCells()

End Function

Reference:

Disclaimer: This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites;

therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure

that you completely understand the risk before retrieving any software from the Internet.

Regards

Deepak

MSDN Community Support

Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to

MSDN Support, feel free to contact MSDNFSF@microsoft.com.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值