Я хотел бы напечатать диапазон дат в файл .txt со специальным заголовком, чтобы специальное программное обеспечение под названием Prophet могло распознавать.
Sub Export_TEST()
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer
Dim prophetheader As String
Dim prophetlineheader As String
myFile = Application.DefaultFilePath & "\" & "test" & ".txt"
Set rng = Selection
prophetheader = "!1"
Open myFile For Output As #1
Print #1, rng.Columns.Count - 1
For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
Print #1, cellValue
ElseIf i = 1 And j = 1 Then
Print #1, prophetheader, cellValue,
ElseIf j = 1 Then
Print #1, "*", cellValue,
Else
Print #1, cellValue,
End If
Next j
Next i
Close #1
End Sub
Код довольно прост, просто добавьте * в начале каждой строки и добавьте! 1 в заголовок столбца. Но я сталкиваюсь с проблемой, что выходной файл был разделен запятой и без двойных кавычек в строке. И я нахожусь в дилемме, что если я использую функцию записи, она будет использовать запятую в качестве разделителя, но имеет двойные кавычки в строке и если я использую Print, пробел в качестве разделителя и без двойных кавычек в строке.
Есть лиспособ распечатать файл с использованием запятой и без двойных кавычек в строке?
Ниже приведен выбор фиктивных данных.
ИМЯ SPCODE
1 JS
И вывод должен быть
21
! 1, SPCODE, NAME
*, 1, JS