2016-09-01 4 views
4

xmlスクリプトを含むワークシートがあります。これは15列×70000行です。このデータを.xmlファイルに保存しようとしています。私が使用しています現在のコードは次のようになります。Excelワークシートをxmlとして保存すると、一部の行に引用符が追加される

Sub saveXML() 
    Dim GenerateSheet As Worksheet 
    Set GenerateSheet = ThisWorkbook.Sheets("TestCase-") 
    GenerateSheet.SaveAs Filename:="C:\Users\" & "TestCase-" + Format(Now(), "YYYYMMDD") & ".xml", FileFormat:=xlTextWindows 
End Sub 

これは、.xmlのファイルとして保存しますが、xmlファイルを分割したファイルにランダムな行の前後に引用符を追加しているようです。

"<con:testCase xmlns:con=""http://eviware.com/soapui/config"" failOnError=""true"" failTestCaseOnErrors=""false"" keepSession=""false"" maxResults=""0"" name=""name"" searchProperties=""true"">"                    
<con:settings/>                    
"<con:testStep type=""request"" name=""TestStep_0001"">"                    
<con:settings/>                    
"<con:config xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:type=""con:RequestStep"">"                    
<con:interface>QuoteService</con:interface>                    
<con:operation>NewRate</con:operation>                    
"<con:request name=""NewRate - Request 1"" outgoingWss="""" incomingWss="""" timeout="""" sslKeystore="""" useWsAddressing=""true"" useWsReliableMessaging=""false"" wssPasswordType="""">"                    
<con:settings> 

ワークシートには、いずれの行も引用符はありません。

この動作を制御または防止するにはどうすればよいですか?

答えて

0

引用されるタグは無効です。 (彼らは終了タグがなく、自己閉鎖ではない)。引用符で囲まれたタグの終わりの前に/を追加して、タグを自動で閉じるようにします。

Exemple(「/」終わり近くに気づく)

<con:request name="NewRate - Request 1" outgoingWss="" incomingWss="" timeout="" sslKeystore="" useWsAddressing="true" useWsReliableMessaging="false" wssPasswordType=""/> 
+0

データをそのまま保存することはできますか?手動でデータをコピー&ペーストすると、ファイルを完全に使用することができます。私はデータを.xmlファイルに手動でコピーして貼り付けたかのようにデータを保存しようとしています。 – Ross

+0

@Rossだから、xmlを台無しにするのは秀でるだろうか? – litelite

+0

約70000行のスクリプトを保持するワークシートで、コピーしてSublimeTextに貼り付けて手動でxmlとして保存するとスクリプトが動作します。上記のvbaスクリプトを使用して、ワークシートを引用符を追加するだけで試してみてください。しかし、私はそれを取得しようとしているので、それはボタンをクリックして保存するので、私はこれらのワークブックの約8を持って手動で行う必要はありません – Ross

0

私は、ファイルの他のタイプでも同様の結果を見てきましたが、どこエスケープ引用符( ")を含む行は引用符自身に囲まれています。

私が保存されたファイルに対して後処理のいくつかのフォームを実行する、または全くファイルをXMLベースのマップを作成すると言うだろう:

ActiveWorkbook.XmlMaps.Add("[path to your file]", "[rootname]").Name = "[name of map]" 

あなたはその後、XMLとしてそのファイルを保存することができるはずですファイル、私はこれをテストしていません。

関連する問題