【问题标题】:Margins Incorrect in Word Document after pasting from one document to another using VB6使用 VB6 从一个文档粘贴到另一个文档后,Word 文档中的边距不正确
【发布时间】:2017-08-18 23:44:14
【问题描述】:

我继承了一个 VB6 应用程序,我可以在其中的一部分方面提供一些帮助。

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

Stop Margin Adjustment when pasting - Microsoft Community

Problems with margins when I copy and paste a document into template - Microsoft Community

Section break causes unexpected page break in word

Troubleshoot page breaks and section breaks - Word - Office.com

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

    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。

提前感谢您的帮助。

【问题讨论】:

    标签: vb6 ms-word interop


    【解决方案1】:

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

    【讨论】:

    • 更多修修补补发现我需要在分节符和文本开始位置之间至少有两个返回,否则它会将文本放在另一个页面上。
    【解决方案2】:

    我找到了解决方案,而且我认为它更简单。只需在粘贴内容之前保存文档。这使得 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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      • 2019-05-28
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多