我正在编写一个宏,用于从一个文档中的表格单元格中复制文本,并将其作为平面文本插入另一个文档中。虽然文本本身提取得很好,但缺少标签。而且我不知道如何保持格式化而不是将表保留在文本周围。
For Each oCell In oRow.Cells
sCellText = oCell.Range
sCellText = Left$(sCellText, Len(sCellText) - 2)
If (RegExp_Script.Test(sCellText) = True) Then
num1 = RegExp_Script.Replace(sCellText, "$1")
num2 = RegExp_Script.Replace(sCellText, "$2")
Set docSingle = Documents.Add
Selection.TypeText (sCellText)
docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:=""
strNewFileName = Replace(docMultiple.FullName, ".doc", "-e" & num1 & "_" & num2 & ".doc")
docSingle.SaveAs strNewFileName 'save the new single-paged document
docSingle.Close
End If
Next oCell
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
感谢您的贡献@CindyMeister,@ Jean-Pierre。 我正在谈论缩进,按Tab键创建,抱歉不准确。 也已经以不同的方式解决了这个问题:从表格单元格中提取文本,而不是从单元格中提取文本,并在将表格边框复制到新文档后将其删除。 像那样:
oCell.Range.Copy 'copy the page into the Windows clipboard
Set docSingle = Documents.Add 'create a new document
docSingle.Range.Paste 'paste the clipboard contents to the new document
Dim oTable As Word.Table
For Each oTable In ActiveDocument.Tables
oTable.Rows.ConvertToText Separator:=wdSeparateByParagraphs, _
NestedTables:=True