ソーステキストに日本語または中国語の文字が含まれることがあるので、UTF-8でエンコードされたXMLを出力するマクロを作成します。 XMLの各セクションを別のチャンクに分割しようとしていますので、編集が簡単ですが、コールラインが機能していません。私はプログラミングで訓練されていないので、私の知識はVBAマクロコードを調べて、望みの結果が得られるまで微調整することに基づいているので、objStreamマクロを別のobjStreamラインを呼び出すときにエラーにならないようにする方法がわかりません。マクロ内で別のobjectStream.Writeテキストマクロを呼び出す作業がありません
ありがとうございます!
ここにある:
Sub Export_iTunes_XML()
Dim FilePath As String
FilePath = ActiveWorkbook.Path & "\"
Dim FileName As String
FileName = "metadata.xml"
Dim Output As String
Output = FilePath & FileName
If Dir(Output, vbNormal) <> "" Then
Answer = MsgBox("Do you want to overwrite?", vbOKCancel, "File Exists")
End If
If Answer = vbCancel Then Exit Sub
Set objStream = CreateObject("ADODB.Stream") 'Create the stream
objStream.Open 'Initialize the stream
objStream.Position = 0 'Rest the position
objStream.Charset = "UTF-8" 'indicate the character encoding
objStream.WriteText "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbCr
objStream.WriteText " <title>" & Sheets("RawMetadata").Range("A3") & "</title>" & vbCr
If Sheets("RawMetadata").Range("P4") <> 0 Then Call LocaleTest2
objStream.WriteText " <production_company>" & Sheets("RawMetadata").Range("H3") & "</production_company>" & vbCr
___________________________________________________________________________
Sub LocaleTest2()
Dim FilePath As String
FilePath = ActiveWorkbook.Path & "\"
Dim FileName As String
FileName = "metadata.xml"
Dim Output As String
Output = FilePath & FileName
Set objStream = CreateObject("ADODB.Stream") 'Create the stream
objStream.Open 'Initialize the stream
objStream.Position = 0 'Rest the position
objStream.Charset = "UTF-8" 'indicate the character encoding
objStream.WriteText Sheets("RawMetadata").Range("P4")
objStream.CopyTo Output
End Sub
どのようなエラーがあり、そしてそのライン上の? –
私が受け取っているエラーは、 "objStream.CopyTo Output"行の型の不一致エラーです。ありがとう! – ChuckCT36
@ YowE3K - もっと慎重に読んでいないと悪いです:私は主に 'CopyTo'行を見ていたときに同じ宣言/割り当てが欠けていました...私の答えで修正し、それを高めることで修正しました。 –