在Excel中,通过VBA往word表格里写数据时,如何根据内容增加或者减少word表格列数? 10
在Excel中,通过VBA往word表格里写数据时,如何根据内容的需要增加或者减少word表格列数?...
在Excel中,通过VBA往word表格里写数据时,如何根据内容的需要增加或者减少word表格列数?
展开
1个回答
展开全部
可以通过word的table对象对word表格进行操作。下面的代码在Excel的Vba中运行,运行前先添加Microsoft Word XX.0 Object Library的引用,其中XX.0根据你安装的Office 版本不同而不同,一般来试Office Word 2003 是11.0,Office Word 2013 是15.0 。
Sub toWord()
Dim wordApp As New Word.Application
wordApp.Visible = True
Dim wordDoc As Word.Document
Dim wordTable As Word.Table
Set wordDoc = wordApp.Documents.Add '新建一个文档
Set wordTable = wordDoc.Tables.Add(wordDoc.Range(), 1, 1, wdWord9TableBehavior, wdAutoFitWindow) '文档中插入一个表格
Dim r As Long, c As Long
For r = 1 To ActiveSheet.UsedRange.Rows.Count
If r > wordTable.Rows.Count Then
wordTable.Rows.Add '表格插入行
End If
For c = 1 To ActiveSheet.UsedRange.Columns.Count
If c > wordTable.Columns.Count Then
wordTable.Columns.Add '表格插入列
wordTable.Columns.AutoFit
End If
wordTable.Cell(r, c).Range.Text = Cells(r, c)
Next c
Next r
wordTable.AutoFitBehavior wdAutoFitWindow
End Sub
追问
你回答很详细,先谢谢你,能做成根据A1的数值来决定生成多少列吗?如:A1=2,就生成2列,很抱歉,因为我不太熟悉VBA,没有办法把你上面的源码进行修改,麻烦你修改一下,我再采纳为满意回答。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询