質問

私はすべてのスプレッドシートでこの問題が繰り返し発生しました。スプレッドシートは正常に機能し、Webサイトから取得したxmlファイルをインポートすると、インポートのたびに突然クラッシュし始めます。これを修正する唯一のことは、すべてのコンテンツ(シート、コード、参照)を取得して、新しいブックにドロップすることです。

これはクラッシュする行です。

ActiveWorkbook.XmlImport URL:=l_strXMLFileName, _
ImportMap:=Nothing, Destination:=Sheets("Imported Data").Range("$A$1")

この問題が発生した人はいますか?もしそうなら、クラッシュしないようにするより良い方法はありますか?

役に立ちましたか?

解決

これは私にとって非常に惨事だったという理由だけで答えを見つけた後、この質問を投稿しました。この投稿により、私が長い間やったように、他の誰かが自分の髪を引っ張ることを防げることを願っています。

修正は非常に簡単です。 Excelがxmlファイルをインポートするたびに、そのスプレッドシートにxmlmapが保存されます。したがって、同じスプレッドシートを使用して保存し続けると、これらは時間の経過とともに増加します。私が見つけた最良の解決策は、これらのxmlマップを削除するか、同じマップを再利用することです(後者は何度も良いオプションではありません)。

これらをすべて削除するコードを次に示します(質問に含めたコードの前にこれを実行するだけです):

Dim XmlMap as XmlMap
    For Each XmlMap In ActiveWorkbook.XmlMaps
        XmlMap.Delete
    Next

他のヒント

入力XMLに不正またはエスケープされていない文字が含まれている可能性はありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top