fix: exportCSVDataToSheetが既存テーブルでもヘッダ行を毎回CSVの最新列構成で更新するよう修正

従来は新規テーブル作成時のみヘッダを設定し、既存テーブルがある場合はヘッダを書き換えていなかったため、
Pleasanter側で列の追加・削除・並び替えが起きるとヘッダラベルとデータ列がズレる問題があった。
getRecordsDataToSheet(Get方式)と同様、テーブルの有無に関わらず毎回CSVの1行目でヘッダを上書きするよう変更。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kenichiro NOGI 2026-09-18 18:12:31 +09:00
parent 13cad20ead
commit d7a8457114

View File

@ -198,13 +198,15 @@ Function exportCSVDataToSheet(csvData As Variant, targetSheet As String)
Set tbl = ws.ListObjects(targetSheet) Set tbl = ws.ListObjects(targetSheet)
On Error Goto 0 On Error Goto 0
If tbl Is Nothing Then 'ヘッダ行はテーブルの有無に関わらず毎回CSVの1行目(arr(0,*))で更新する(列構成の変更に追従するため)
Debug.Print "テーブルが存在しないため新規作成: " & targetSheet
Dim headerRange As Range Dim headerRange As Range
Set headerRange = ws.Range("A1").Resize(1, maxCols) Set headerRange = ws.Range("A1").Resize(1, maxCols)
For j = 0 To maxCols - 1 For j = 0 To maxCols - 1
headerRange.Cells(1, j + 1).Value = arr(0, j) headerRange.Cells(1, j + 1).Value = arr(0, j)
Next j Next j
If tbl Is Nothing Then
Debug.Print "テーブルが存在しないため新規作成: " & targetSheet
Set tbl = ws.ListObjects.Add(xlSrcRange, headerRange, , xlYes) Set tbl = ws.ListObjects.Add(xlSrcRange, headerRange, , xlYes)
tbl.Name = targetSheet tbl.Name = targetSheet
End If End If