web-dev-qa-db-ja.com

互換モードでExcel 2010スプレッドシートからデータ接続を削除する

状況:Excel 2010ブックは、Oracleのデータを使用して作成されます。これを実現するために、データ接続が作成されます。その後、Excelブックは.xlsファイルとして保存されるため、古いバージョンのOfficeをお持ちのお客様はアクセスできます。

問題:ワークブックを開くと警告メッセージが表示されます:

「セキュリティ警告データ接続が無効になっています[コンテンツを有効にする]」。

これは、データ接続がブックにまだ存在するために示されていると思います。 [データ]-> [接続]に移動して削除できますが、ワークブックを保存して再度開くと、データ接続が戻ります(ただし、定義フィールドは空です)。

試したのは、マクロを使用してすべてのデータ接続を削除することです。喜びはありません。ここで説明する「Name Manager」メソッド(http://www.mrexcel.com/forum/showthread.php?t=467938):喜びはありません。

他の誰かがこの行動を見ましたか?

12
dartacus

今日も同じ問題がありました。すべての接続を削除した後でも、接続プロパティは引き続き有効です。プロパティをクリックし、名前ウィンドウを選択して削除して名前を削除しました。

本当にやりたかったことを確認する警告が出ました。 [はい]を選択すると、接続が削除されました。ブックを保存します。

私はExcelをハックしていますが、これはうまくいくようです。

5
Dave

データがインポートされるセル範囲内のセルを選択し、メニュー>データ>プロパティ>クエリ定義の保存をオフにします。

データのインポート範囲内のセルが選択されていない限り、プロパティはグレー表示されます。

データがインポートされる範囲は次の方法で確認できます。

メニュー>データ>接続>(接続の選択)>ここをクリックして、選択した接続が使用されている場所を確認します。

8
user3650998

Import Dataボックスがポップアップ表示されたらPropertiesをクリックして、Check Markクエリ定義の保存の隣にあるImport Dataボックスが戻ってきて、あなたの場所があなたが望む場所にあるときbe(例:= $ I $ 4)[〜#〜] ok [〜#〜]をクリックすると、問題は解決されます。

4
Chuck

同じ問題がありました。警告を取得します。データ接続に行って、接続を削除しました。保存して、再度開きます。それでも警告が表示されます。クラシックメニューにはxp/Vistaメニュープラグインを使用します。データの下で見つけた、外部データ、プロパティを取得、クエリ定義の保存をオフにします。閉じるを保存して、再度開きます。それは警告を取り除くように見えた。接続を削除するだけでは機能しません。クエリを削除する必要があります。

3
David Parsons

これをExcel 97-2003で、拡張子.xlsのファイルでこのように解決します。リンクされたデータがあるページに移動し、インポートされたデータテーブルにカーソルを合わせて、[デザイン]タブ-> [外部]に移動しますデータテーブル->リンク解除すべてのテーブル(接続)のリンクを解除し、データ内のすべての接続を削除します->接続->接続は作業を完了し、完了です!よろしく、ダン

3
dhacohen

制御範囲を参照するドロップダウンメニュー(あるワークブックから別のワークブックにシートをコピーした後など)が、ワークシートのコピー後にそのセル参照を保持し、「接続」で非表示のデータ接続を保持することを経験しました。これは、リボンの[検索]メニューで見つけました。このメニューでは、矢印を選択してオブジェクトをマークできます。矢印の下には、パネルにリストされているすべてのオブジェクトを表示するためのメニュー選択があります。次に、これらの不要なオブジェクトを削除すると、データソース/接続が失われます...

2
user3702189

次のように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
1
Richard Ho

Excel 2010:[ファイル/情報]ページで[関連ドキュメント]に移動し、[リンクの解除]をクリックします。リンクされたすべての値がデータ値に変換されるという警告が表示されます=> [OK]をクリック=>完了

1
Guest

同じ問題がありました。これを試してください:

Sub deleteConn(xlBook)
    For Each Cn In xlBook.Connections
        Cn.Delete
    Next Cn

    For Each xlsheet In xlBook.Worksheets
        For Each Qt In xlsheet.QueryTables
            Qt.Delete
        Next Qt
    Next xlsheet

End Sub
0
Dang Thanh