/ /隠しキャラクター? --json、excel-vba、特殊文字、隠し文字、vba

隠しキャラクター? -json、excel-vba、特殊文字、隠し文字、vba

データを解析するモジュールのセットを作成しましたArcGISにアップロードするために.jsonファイルに。 .jsonファイルをアップロードしようとするとクラッシュし、予期しない文字があると表示されることを除いて、すべてがうまく機能します。 NotePadで.jsonを開いても文字が表示されません。単に、ファイルを再保存してみました。データを.txtファイルに書き込み、拡張子を変更しました。データを切り取り、空のファイルを保存して、貼り付けました。

動作しているように見える唯一のものは次のとおりです。ターゲットの.jsonファイルを開き、データをnew.txtファイルにコピーし、ターゲットの.jsonファイルを閉じてから、new.txtファイルをターゲットの.jsonファイルとして保存します。これで問題は修正されますが、これを行う必要のある.jsonファイルが24個あるため、非常に時間がかかります。

ここに私のコード:

Sub WriteData()
Dim filepath As String
Dim celldata As String
Dim lastrow As String
Dim lastcol As String
Dim k As Long
Dim temp As Worksheet
Dim ouput As Worksheet
Dim fileout As Object
Dim fso As Object
"
Set temp = ActiveWorkbook.Sheets("Temp")
Set output = ActiveWorkbook.Sheets("Output Sheet")
Set fso = CreateObject("Scripting.FileSystemObject")
For i = 15 To 22
For j = 3 To 5
k = 3 * (i - 15) + j - 2
filepath = Application.ActiveWorkbook.Path & "JSON Files" & temp.Cells(i, 1) & " " & temp.Cells(15, j) & ".json"
Set fileout = fso.CreateTextFile(filepath, True, True)
For l = 1 To Cells(Rows.Count, k).End(xlUp).Row + 1
celldata = output.Cells(l, k)
fileout.write celldata
Next l
fileout.Close
Next j
Next i
Sheets("Output Sheet").Select
ActiveWorkbook.Save
End Sub

回答:

回答№1は1

それを私が直した! fileout.writeを使用すると、何かが起こっているはずです。単純な印刷コマンドに変更しましたが、機能します。変更点は次のとおりです(参照用に古い行を残しました)。

k = 3 * (i - 15) + j - 2
filepath = Application.ActiveWorkbook.Path & "JSON Files" & temp.Cells(i, 1) & " " & temp.Cells(15, j) & ".json"
"Set fileout = fso.CreateTextFile(filepath, True, True)
Open filepath For Output As #1
For l = 1 To Cells(Rows.Count, k).End(xlUp).Row + 1
celldata = output.Cells(l, k)
"fileout.write celldata
Print #1, celldata
Next l
"fileout.Close
Close #1