使用VB6从一个文档粘贴到另一个文档后,Word文档中的页边距不正确

使用VB6从一个文档粘贴到另一个文档后,Word文档中的页边距不正确,vb6,ms-word,interop,Vb6,Ms Word,Interop,我继承了一个VB6应用程序,我可以用它的一部分做一些帮助 代码打开word文档并复制其内容。完成后,它将打开另一个文档,并将第一个文档中的内容粘贴到第二个文档中。打开、复制和粘贴工作正常,问题在于粘贴文本的格式以及随后的分节符。分节符不是直接出现在分节符之后,而是放在另一页上,但是分节符仍然表示它是连续的。我已经做了一些挖掘,并尝试了它在下面所说的 这些都没有帮助。代码的精简版本如下所示: GetWord97Object objWordApp objWordApp.Visible =

我继承了一个VB6应用程序,我可以用它的一部分做一些帮助

代码打开word文档并复制其内容。完成后,它将打开另一个文档,并将第一个文档中的内容粘贴到第二个文档中。打开、复制和粘贴工作正常,问题在于粘贴文本的格式以及随后的分节符。分节符不是直接出现在分节符之后,而是放在另一页上,但是分节符仍然表示它是连续的。我已经做了一些挖掘,并尝试了它在下面所说的

这些都没有帮助。代码的精简版本如下所示:

    GetWord97Object objWordApp

objWordApp.Visible = True
objWordApp.documents.Open strCopyFromDoc

DeleteHeadersAndFooters objWordApp.documents(strCopyFromDoc)

objWordApp.documents(strCompyFromDoc).content.Copy

objWordApp.documents.Open strCopyToDoc
objWordApp.documents(strCopyToDoc).characters(objWordApp.ActiveDocument.characters.Count).Select

Set objRng = objWordApp.ActiveDocument.content   ' Range used so as not to overwrite original text
objRng.Collapse Direction:=0

If IsWordAppVersionLessThan2002(CInt(objWordApp.Version)) Then
    objRng.Paste
Else
    objRng.PasteAndFormat wdPasteDefault
End If
我试过粘贴和格式化,但没有用。 我使用的Word版本是2002 SP3,但我需要它来处理2002及以上版本。VB6位于SP6


提前谢谢你的帮助。

我已经设法解决了这个问题。看起来这与文档有关,而不是与代码有关。我已经给出了将页眉和页脚从一个文档复制到另一个文档的方法,这一次似乎奏效了。以前的复制尝试似乎没有任何区别。这不是一个理想的解决方案,但至少它是经过排序的。

我找到了解决方案,而且比我想象的更简单。只需在粘贴内容之前保存文档即可。这使得Word保留了原始的页边距定义。在我的代码中我做到了

Private Sub CommandButton4_Click()
Dim Item As String
Dim i As Integer
For i = 0 To ProcList.ListCount - 1
Dim docNew As Document
Dim docproc As Document
Set docNew = Word.ActiveDocument
docNew.Content.Copy
Set docproc = Documents.Add

With docproc
        .SaveAs FileName:=ProcList.List(i)
        Selection.ClearParagraphAllFormatting
        Selection.Paste

End With

Next i"

更进一步的修补发现,我需要在分节符和文本开始位置之间至少有两次返回,否则它会将文本放到另一页上。