在兼容模式下从Excel 2010电子表格中删除数据连接

在兼容模式下从Excel 2010电子表格中删除数据连接,excel,excel-2010,Excel,Excel 2010,情况:使用oracle中的数据创建Excel 2010工作簿。为此,将创建一个数据连接。excel工作簿随后保存为.xls文件,以便使用旧版本office的客户可以访问它 问题:打开工作簿时会显示警告消息: “已禁用安全警告数据连接[启用内容]” 我们认为这是因为工作簿中仍然存在数据连接。您可以转到“数据->连接”并将其删除,但当保存并重新打开工作簿时,数据连接已返回,尽管定义字段为空 尝试过的事情:使用宏删除所有数据连接:没有乐趣。此处描述的“名称管理器”方法http://www.mrexce

情况:使用oracle中的数据创建Excel 2010工作簿。为此,将创建一个数据连接。excel工作簿随后保存为.xls文件,以便使用旧版本office的客户可以访问它

问题:打开工作簿时会显示警告消息:

“已禁用安全警告数据连接[启用内容]”

我们认为这是因为工作簿中仍然存在数据连接。您可以转到“数据->连接”并将其删除,但当保存并重新打开工作簿时,数据连接已返回,尽管定义字段为空

尝试过的事情:使用宏删除所有数据连接:没有乐趣。此处描述的“名称管理器”方法http://www.mrexcel.com/forum/showthread.php?t=467938 :没有快乐


还有人见过这种行为吗?

我今天也有同样的问题。如果删除所有连接后,连接属性仍然有效。我单击属性,通过选择名称窗口并删除它来删除名称

一个警告出现了,以证实我真的想这么做。选择“是”后,它将断开连接。保存工作簿


我是Excel的黑客,但这似乎有效。

我在Excel 97-2003中设法解决了这个问题,在一个扩展名为.xls的文件中,这样做: 我转到有链接数据的页面,将光标放在导入的数据表上,转到选项卡设计->外部数据表->取消链接 取消所有表连接的链接,删除数据->连接->连接中的所有连接 保存您的工作并完成! 当做
Dan

Excel 2010:在文件/信息页面上,转到“相关文档”并单击断开链接=>警告将显示所有链接值将转换为其数据值=>单击确定=>完成

在导入数据的单元格区域中选择一个单元格,然后单击菜单>数据>属性>取消选中保存查询定义

除非选择了数据导入范围中的单元格,否则属性将灰显

您可以通过以下方式找到数据导入的范围:


菜单>数据>连接>选择连接>单击此处查看所选连接的使用位置。

我曾经体验过,一个下拉菜单引用一个控制范围,例如在将工作表从一个工作簿复制到另一个工作簿后,将在复制工作表后保留该单元格引用,并保持在连接中不可见的数据连接。我在功能区的“搜索”菜单中找到了它,可以在其中选择一个箭头来标记对象。箭头下方是一个菜单选项,用于查看面板中列出的所有对象。然后你可以删除那些不需要的对象,数据源/连接就消失了…

我也遇到了同样的问题。得到警告。转到数据连接并删除连接。保存,关闭并重新打开。还是得到警告。 我使用xp/vista菜单插件制作经典菜单。我在“数据”下找到“获取外部数据”、“属性”,取消选中“保存查询定义”。保存关闭并重新打开。 这似乎摆脱了警告。 仅删除连接不起作用。您必须摆脱查询。

当导入数据框弹出时 单击属性并删除 选中“保存查询定义”旁边的复选标记 当“导入数据”框返回时 你的位置就是你想要的地方 例:=$I$4单击“确定”和您的问题
将得到解决

我也有同样的问题。请试试这个:

子目录 对于xlBook.Connections中的每个Cn Cn.删除 下一个Cn 对于xlBook.工作表中的每个xlsheet 对于xlsheet.QueryTables中的每个Qt Qt.删除 下一个Qt 下一页 端接头
使用VBA删除数据连接可以如下所示:

Sub deleteConn()
    Dim xlBook As Workbook
    Dim Cn As WorkbookConnection
    Dim xlSheet As Worksheet
    Dim Qt As QueryTable
    Set xlBook = ActiveWorkbook
    For Each Cn In xlBook.Connections
        Debug.Print VarType(Cn)
        Cn.Delete
    Next Cn
    For Each xlSheet In xlBook.Worksheets
        For Each Qt In xlSheet.QueryTables
            Debug.Print Qt.Name
            Qt.Delete
        Next Qt
    Next xlSheet
End Sub

我有很多连接无法删除,但不想全部删除。所以,我扩展了Dang Thanh和Richard Ho的解决方案,以便提示用户决定删除哪些连接

要删除工作簿中的部分但不是全部连接,请执行以下操作:

Public Function deleteConnections()

    Dim xlBook As Workbook
    Dim cn As WorkbookConnection
    Dim Result As Variant

    Set xlBook = ActiveWorkbook

    For Each cn In xlBook.Connections

        Dim strMsg As String
        strMsg = "Would you like to delete: " & vbNewLine & cn.Name
        Result = MsgBox(strMsg, vbYesNo)

        If Result = vbYes Then
            cn.Delete
        End If

    Next cn

End Function

注意-保存为2010 xlsx格式,然后删除连接会起作用,但当同一工作簿重新保存为.xls格式时,连接会再次恢复。啊!我们还尝试了另存为xlsx的方法,将文件作为压缩档案打开,直接编辑xl/connections.xml,然后重新保存,但这会破坏工作簿中的任何数据透视表!看起来pivot表只有在有数据连接的情况下才能工作-您所能做的最好的事情就是清空DSN和SQL字段。如何删除它?我在任何地方都找不到“删除”按钮。对不起,Soren,我恐怕这对我来说已经是一段很长的时间了,但希望其他人能帮助我。谢谢Dave-我不记得我们到底做了什么来解决这个问题,但很可能我们没有解决这个问题。似乎Excel中也有一个错误,删除连接时会出错
s未完全解除刷新设置的关联,因此下次文件尝试刷新时,连接丢失,导致表为空。为了解决这个问题,我转到了数据->连接->连接->属性。。。在删除连接之前,请禁用所有刷新设置。我认为这可能是特定于在保存工作簿设置之前从外部数据区域中删除数据。请在回答中添加一个简短的说明。我试图手动删除excel文件中的所有连接,但不起作用。最后,我只是按照Dang Thanh的VBA语句进行了修改,成功地删除了连接。在第一个循环中,删除连接外部文件的所有连接。在第二个循环中,删除所有查询表。请记住在运行excel文件后保存它。