追記: 2015年11月22日
Excel のデータコネクション、セルなどにつけた名前を全てく削除するプロシージャコード
''' <summary> ''' エクセルファイルに存在するコネクションを全て削除します。 ''' </summary> Private Sub DeleteConnections() Do While ActiveWorkbook.Connections.Count > 0 ActiveWorkbook.Connections.Item(ActiveWorkbook.Connections.Count).Delete Loop End Sub ''' <summary> ''' エクセルファイルに存在する名前を全て削除します。 ''' </summary> Private Sub DeleteNames() Do While ActiveWorkbook.Names.Count > 0 ActiveWorkbook.Names.Item(ActiveWorkbook.Names.Count).Delete Loop End Sub
使いドコロ♪
- クエリーテーブルを使用して、CSV ファイルをインポートするとき
- クエリテーブルを使用すると、CSV ファイルとのコネクションが張られ、エクセルデータを編集すると CSV ファイルも同様に編集しようとしてしまう。
- また、読み込んだデータ範囲に、名前を自動的に付けてしまう。
- そのため、CSV ファイルをエクセルに読み込ませたいだけなら、クエリテーブルを使用しての読み込み後、コネクションを削除する必要がある。
- コネクションの名前は、クエリテーブルで指定し、名前はコネクションに指定した文字列を元に作られる。しかし、いまいち法則性を検証していない。
- もともとコネクションも、名前も使う必要がなく、CSV ファイル読み込みはプログラムの最初の処理のため、作成されたコネクションと名前はすべて削除することにした。
おわりに
こちらのページが参考になりました。
コネクションのコードはそのままに、Names でも使えるようにした内容となります。
便利ですの♪
以上です。