fix: exportCSVDataToSheetが既存テーブルでもヘッダ行を毎回CSVの最新列構成で更新するよう修正
従来は新規テーブル作成時のみヘッダを設定し、既存テーブルがある場合はヘッダを書き換えていなかったため、 Pleasanter側で列の追加・削除・並び替えが起きるとヘッダラベルとデータ列がズレる問題があった。 getRecordsDataToSheet(Get方式)と同様、テーブルの有無に関わらず毎回CSVの1行目でヘッダを上書きするよう変更。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
13cad20ead
commit
d7a8457114
@ -198,13 +198,15 @@ Function exportCSVDataToSheet(csvData As Variant, targetSheet As String)
|
||||
Set tbl = ws.ListObjects(targetSheet)
|
||||
On Error Goto 0
|
||||
|
||||
'ヘッダ行はテーブルの有無に関わらず毎回CSVの1行目(arr(0,*))で更新する(列構成の変更に追従するため)
|
||||
Dim headerRange As Range
|
||||
Set headerRange = ws.Range("A1").Resize(1, maxCols)
|
||||
For j = 0 To maxCols - 1
|
||||
headerRange.Cells(1, j + 1).Value = arr(0, j)
|
||||
Next j
|
||||
|
||||
If tbl Is Nothing Then
|
||||
Debug.Print "テーブルが存在しないため新規作成: " & targetSheet
|
||||
Dim headerRange As Range
|
||||
Set headerRange = ws.Range("A1").Resize(1, maxCols)
|
||||
For j = 0 To maxCols - 1
|
||||
headerRange.Cells(1, j + 1).Value = arr(0, j)
|
||||
Next j
|
||||
Set tbl = ws.ListObjects.Add(xlSrcRange, headerRange, , xlYes)
|
||||
tbl.Name = targetSheet
|
||||
End If
|
||||
|
||||
Loading…
Reference in New Issue
Block a user