使用内部VB.Net应用程序时Word中的神秘黑线

使用内部VB.Net应用程序时Word中的神秘黑线,vb.net,ms-word,Vb.net,Ms Word,一点背景故事。我在一家使用邮件合并和SQL数据库以姓名/地址填充信件的公司工作。这些信件作为感谢信发给我们的捐赠者。这些信件经常更换,新信件每月至少出现10次 为了简化我们的过程,我创建了一个程序,允许您将正文内容复制/粘贴到富文本框中,当您按下“Go”按钮时,它会打开一个预先制作的Word模板,并用复制的正文内容替换模板中的书签 该程序对大多数字母都很有效,但其中一些字母有一个问题,即这些粗黑线是如何产生的,我无法做任何事情来删除它们。我不能右键单击它们,不能使用退格或删除来删除它们,也不能突

一点背景故事。我在一家使用邮件合并和SQL数据库以姓名/地址填充信件的公司工作。这些信件作为感谢信发给我们的捐赠者。这些信件经常更换,新信件每月至少出现10次

为了简化我们的过程,我创建了一个程序,允许您将正文内容复制/粘贴到富文本框中,当您按下“Go”按钮时,它会打开一个预先制作的Word模板,并用复制的正文内容替换模板中的书签

该程序对大多数字母都很有效,但其中一些字母有一个问题,即这些粗黑线是如何产生的,我无法做任何事情来删除它们。我不能右键单击它们,不能使用退格或删除来删除它们,也不能突出显示它们

我认为问题可能来自隐藏的格式。写这封信的一些员工使用的是Mac版Office 2016,而我使用的是Windows版。我向使用Mac版本的人发送了一个RTF文件,其中显示了黑线,他们说他们看不到黑线

我的问题是,有没有办法摆脱这些障碍,或者在将来防止它们?我曾考虑将Office版本两端都升级到2019年,但有相当多的人都在处理这些信件,可能很难升级每个人

请参考随附的图像以供视觉参考。姓名和个人信息已被删除

编辑:以下是“开始”代码:

        'create temp rtf files to maintain rtf
    If strForm = "ANG2" Then
        txtPreD.SaveFile("\\server\AcknowledgementLetters\fptemp.rtf")
        txtPostD.SaveFile("\\server\AcknowledgementLetters\bptemp.rtf")
    ElseIf strForm = "ANGL" Then
        txtPreD.SaveFile("\\server\AcknowledgementLetters\predtemp.rtf")
        txtPostD.SaveFile("\\server\AcknowledgementLetters\postdtemp.rtf")
        txtBP.SaveFile("\\server\AcknowledgementLetters\bptemp.rtf")
    Else
        txtPreD.SaveFile("\\server\AcknowledgementLetters\predtemp.rtf")
        txtPostD.SaveFile("\\server\AcknowledgementLetters\postdtemp.rtf")
    End If

    'if bookmarks exists, insert appropriate rtf files
    If odoc.Bookmarks.Exists("fp") = True Then
        goWord.ActiveDocument.Bookmarks("fp").Select()
        goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\fptemp.rtf")
    End If
    If odoc.Bookmarks.Exists("bp") = True Then
        goWord.ActiveDocument.Bookmarks("bp").Select()
        goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\bptemp.rtf")
    End If
    If odoc.Bookmarks.Exists("PreD") = True Then
        goWord.ActiveDocument.Bookmarks("PreD").Select()
        goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\predtemp.rtf")
    End If
    If odoc.Bookmarks.Exists("PostD") = True Then
        goWord.ActiveDocument.Bookmarks("PostD").Select()
        goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\postdtemp.rtf")
    End If
在此之前,程序会检查需要打开的模板,并将其作为Word对象(odoc)打开。这段代码实际上是唯一重要的部分。在这之后,我只需单击Finish,在检查完错误后即可保存文件。此外,是的,它创建的RTF文件也有黑线。这是另一张程序本身的图片,这样你就可以更好地了解正在发生的事情


我们可以看一下“go”代码吗?您检查过这些是否是页面边框了吗?现在将其添加到原始帖子中。给我5分钟左右。辛迪,那是在“格式”选项卡中吗?对不起,是指“设计”选项卡。辛迪,我查过了,在边界上设置为无。如果我点击None并点击OK进行双重检查,它不会改变任何东西,所以我假设没有任何边界。好的建议,但检查!我建议执行以下操作:通过软件从Win pc创建RTF,并通过软件从Mac pc创建相同的RTF。。然后比较它(在notepad++中打开rtf)我们可以看一下“go”代码吗?你检查过这些是否是页面边框吗?现在将其添加到原始帖子中。给我5分钟左右。辛迪,那是在“格式”选项卡中吗?对不起,是指“设计”选项卡。辛迪,我查过了,在边界上设置为无。如果我点击None并点击OK进行双重检查,它不会改变任何东西,所以我假设没有任何边界。好的建议,但检查!我建议执行以下操作:通过软件从Win pc创建RTF,并通过软件从Mac pc创建相同的RTF。。然后进行比较(例如,在记事本++中打开rtf)